+
+ void start();
+ void shutdown();
+ void resume();
+ void wait_for_requests();
+ RemotePtr<simgrid::kernel::actor::SimcallObserver> handle_simcall(Transition const& transition);
+
+ /* Interactions with the simcall observer */
+ bool simcall_is_visible(aid_t aid);
+ bool requests_are_dependent(RemotePtr<kernel::actor::SimcallObserver> obs1,
+ RemotePtr<kernel::actor::SimcallObserver> obs2) const;
+ std::string simcall_to_string(aid_t aid, int times_considered);
+ std::string simcall_dot_label(aid_t aid, int times_considered);
+
+ XBT_ATTRIB_NORETURN void exit(int status);
+
+ bool checkDeadlock();
+ void finalize_app(bool terminate_asap = false);
+
+ Checker* getChecker() const { return checker_; }
+ void setChecker(Checker* checker) { checker_ = checker; }
+
+private:
+ void setup_ignore();
+ bool handle_message(const char* buffer, ssize_t size);
+ void handle_waitpid();
+
+public:
+ unsigned long visited_states = 0;
+ unsigned long executed_transitions = 0;