public:
ModelChecker();
~ModelChecker();
- void setParams(struct model_params params);
+ model_params * getParams();
void run();
/** Restart the model checker, intended for pluggins. */
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;
- ModelHistory *history;
+ Thread * init_thread;
int execution_number;
};
extern ModelChecker *model;
-
#endif /* __MODEL_H__ */