ucontext_t * get_system_context() { return &system_context; }
ModelExecution * get_execution() const { return execution; }
+ ModelHistory * get_history() const { return history; }
int get_execution_number() const { return execution_number; }
uint64_t switch_to_master(ModelAction *act);
bool assert_bug(const char *msg, ...);
+
void assert_user_bug(const char *msg);
model_params params;
void add_trace_analysis(TraceAnalysis *a) { trace_analyses.push_back(a); }
void set_inspect_plugin(TraceAnalysis *a) { inspect_plugin=a; }
+ void startMainThread();
+ void startChecker();
+ Thread * getInitThread() {return init_thread;}
+ Scheduler * getScheduler() {return scheduler;}
MEMALLOC
private:
/** Flag indicates whether to restart the model checker. */
/** The scheduler to use: tracks the running/ready Threads */
Scheduler * const scheduler;
- NodeStack * const node_stack;
+ ModelHistory * history;
ModelExecution *execution;
Thread * init_thread;
};
extern ModelChecker *model;
-extern bool modelchecker_started;
#endif /* __MODEL_H__ */