Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rework the most basic java example
[simgrid.git] / src / mc / LivenessChecker.hpp
index 2811f93..150cd53 100644 (file)
@@ -30,7 +30,7 @@ extern XBT_PRIVATE xbt_automaton_t property_automaton;
 struct XBT_PRIVATE Pair {
   int num = 0;
   int search_cycle = 0;
-  mc_state_t graph_state = nullptr; /* System state included */
+  simgrid::mc::State* graph_state = nullptr; /* System state included */
   xbt_automaton_state_t automaton_state = nullptr;
   simgrid::xbt::unique_ptr<s_xbt_dynar_t> atomic_propositions;
   int requests = 0;
@@ -49,7 +49,7 @@ struct XBT_PRIVATE VisitedPair {
   int num = 0;
   int other_num = 0; /* Dot output for */
   int acceptance_pair = 0;
-  mc_state_t graph_state = nullptr; /* System state included */
+  simgrid::mc::State* graph_state = nullptr; /* System state included */
   xbt_automaton_state_t automaton_state = nullptr;
   simgrid::xbt::unique_ptr<s_xbt_dynar_t> atomic_propositions;
   size_t heap_bytes_used = 0;
@@ -57,7 +57,7 @@ struct XBT_PRIVATE VisitedPair {
   int acceptance_removed = 0;
   int visited_removed = 0;
 
-  VisitedPair(int pair_num, xbt_automaton_state_t automaton_state, xbt_dynar_t atomic_propositions, mc_state_t graph_state);
+  VisitedPair(int pair_num, xbt_automaton_state_t automaton_state, xbt_dynar_t atomic_propositions, simgrid::mc::State* graph_state);
   ~VisitedPair();
 };
 
@@ -67,12 +67,11 @@ public:
   ~LivenessChecker();
   int run() override;
   RecordTrace getRecordTrace() override;
+  std::vector<std::string> getTextualTrace() override;
 private:
   int main();
   void prepare();
   int compare(simgrid::mc::VisitedPair* state1, simgrid::mc::VisitedPair* state2);
-  void dumpStack(xbt_fifo_t stack);
-  void showStack(xbt_fifo_t stack);
   simgrid::xbt::unique_ptr<s_xbt_dynar_t> getPropositionValues();
   simgrid::mc::VisitedPair* insertAcceptancePair(simgrid::mc::Pair* pair);
   int insertVisitedPair(simgrid::mc::VisitedPair* visited_pair, simgrid::mc::Pair* pair);