00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00037 #ifndef __NUSMV_CORE_TRACE_PKG_TRACE_H__
00038 #define __NUSMV_CORE_TRACE_PKG_TRACE_H__
00039
00040 #include "nusmv/core/trace/Trace.h"
00041 #include "nusmv/core/trace/TraceMgr.h"
00042 #include "nusmv/core/trace/exec/traceExec.h"
00043 #include "nusmv/core/cinit/NuSMVEnv.h"
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00058
00059
00060
00061
00062
00063
00071 void TracePkg_init(NuSMVEnv_ptr env);
00072
00080 void TracePkg_quit(NuSMVEnv_ptr env);
00081
00082
00083 #if defined TRACE_DEBUG
00084
00090 int TracePkg_test_package(FILE* out, FILE* err);
00091 #endif
00092
00093
00094
00106 NodeList_ptr
00107 TracePkg_get_filtered_symbols(TraceMgr_ptr gtm,
00108 const NodeList_ptr symbols);
00109
00110
00111
00117 int TracePkg_get_default_trace_plugin(TraceMgr_ptr gtm);
00118
00125 boolean TracePkg_set_default_trace_plugin(TraceMgr_ptr gtm,
00126 int dp);
00127
00128
00129
00139 int
00140 Trace_execute_trace(const NuSMVEnv_ptr env,
00141 const Trace_ptr trace,
00142 const CompleteTraceExecutor_ptr exec_info);
00143
00159 int
00160 Trace_execute_partial_trace(const NuSMVEnv_ptr env,
00161 const Trace_ptr trace,
00162 const PartialTraceExecutor_ptr exec_info,
00163 const NodeList_ptr language);
00164
00165
00166
00177 bdd_ptr
00178 TraceUtils_fetch_as_bdd(Trace_ptr trace, TraceIter step,
00179 TraceIteratorType iter_type,
00180 BddEnc_ptr bdd_enc);
00181
00190 be_ptr
00191 TraceUtils_fetch_as_be(Trace_ptr trace, TraceIter step,
00192 TraceIteratorType iter_type,
00193 BeEnc_ptr be_enc, BddEnc_ptr bdd_enc);
00194
00207 Expr_ptr
00208 TraceUtils_fetch_as_sexp(Trace_ptr trace, TraceIter step,
00209 TraceIteratorType iter_type);
00210
00219 Expr_ptr
00220 TraceUtils_fetch_as_big_and(Trace_ptr trace, TraceIter step,
00221 TraceIteratorType iter_type);
00222
00228 void Trace_Eval_evaluate_defines(Trace_ptr trace);
00229
00236 Trace_ptr TracePkg_read_trace(NuSMVEnv_ptr env,
00237 SexpFsm_ptr sexp_fsm,
00238 const char* filename,
00239 boolean halt_if_undef,
00240 boolean halt_if_wrong_section);
00241
00248 int TracePkg_execute_traces(NuSMVEnv_ptr env,
00249 TraceMgr_ptr trace_mgr,
00250 FILE* output_stream,
00251 char* engine,
00252 int verbosity,
00253 int trace_no);
00254
00261 int TracePkg_execute_partial_traces(NuSMVEnv_ptr env,
00262 TraceMgr_ptr trace_mgr,
00263 FILE* output_stream,
00264 char* engine,
00265 int verbosity,
00266 int trace_no);
00267
00270 #endif