- void resume(simgrid::mc::Process& process);
- void loop();
- bool handle_events();
- void wait_client(simgrid::mc::Process& process);
- void simcall_handle(simgrid::mc::Process& process, unsigned long pid, int value);
- void wait_for_requests()
+ void resume();
+ void wait_for_requests();
+
+ /** Let the application take a transition. A new Transition is created iff the last parameter is true */
+ Transition* handle_simcall(aid_t aid, int times_considered, bool new_transition);
+
+ /* Interactions with the simcall observer */
+ XBT_ATTRIB_NORETURN void exit(int status);
+
+ void finalize_app(bool terminate_asap = false);
+
+ Exploration* get_exploration() const { return exploration_; }
+ void set_exploration(Exploration* exploration) { exploration_ = exploration; }
+
+ unsigned long get_visited_states() const { return visited_states_; }
+ void inc_visited_states() { visited_states_++; }
+
+ void dot_output(const char* fmt, ...) XBT_ATTRIB_PRINTF(2, 3);
+ void dot_output_flush()