Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SafetyChecker::run() uses mc_api
[simgrid.git] / src / mc / mc_api.hpp
index bafc17894af0c802e331b6d71f935a40ca8f97d1..ce89c9fef5594d6caf597c62a947e3f684bcdfc7 100644 (file)
@@ -6,6 +6,8 @@
 
 #include "simgrid/forward.h"
 #include "src/mc/mc_forward.hpp"
+#include "src/mc/mc_request.hpp"
+#include "src/mc/mc_state.hpp"
 #include "xbt/base.h"
 
 namespace simgrid {
@@ -36,16 +38,19 @@ public:
 
   void initialize(char** argv);
 
+  // ACTOR FUNCTIONS  
+  std::vector<simgrid::mc::ActorInformation>& get_actors() const;
+  bool actor_is_enabled(aid_t pid) const;
+
   // MODEL_CHECKER FUNCTIONS
-  void create_model_checker(std::unique_ptr<RemoteSimulation> remote_simulation, int sockfd);
   ModelChecker* get_model_checker() const;
   void mc_inc_visited_states() const;
   void mc_inc_executed_trans() const;
   unsigned long mc_get_visited_states() const;
   unsigned long mc_get_executed_trans() const;
   bool mc_check_deadlock() const;
-  std::vector<simgrid::mc::ActorInformation>& get_actors() const;
-  bool actor_is_enabled(aid_t pid) const;
+  void mc_show_deadlock() const;
+  smx_actor_t mc_smx_simcall_get_issuer(s_smx_simcall const* req) const;
   void mc_assert(bool notNull, const char* message = "") const;
   bool mc_is_null() const;
   Checker* mc_get_checker() const;
@@ -55,7 +60,17 @@ public:
   void mc_exit(int status) const;
   std::string const& mc_get_host_name(std::string const& hostname) const;
   PageStore& mc_page_store() const;
-  void mc_cleanup();
+  void mc_dump_record_path() const;
+  smx_simcall_t mc_state_choose_request(simgrid::mc::State* state) const;
+
+  // SIMCALL FUNCTIONS
+  bool request_depend(smx_simcall_t req1, smx_simcall_t req2) const;
+  std::string request_to_string(smx_simcall_t req, int value, RequestType request_type) const;
+  std::string request_get_dot_output(smx_simcall_t req, int value) const;
+  const char *simix_simcall_name(e_smx_simcall_t kind) const;
+
+  // SNAPSHOT FUNCTIONS
+  bool snapshot_equal(const Snapshot* s1, const Snapshot* s2) const;
 
   // SESSION FUNCTIONS
   void s_initialize() const;