Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'udpor-phase6' into 'master'
[simgrid.git] / src / mc / explo / udpor / Unfolding.hpp
index 4d854e3..0107692 100644 (file)
@@ -35,6 +35,18 @@ private:
    */
   EventSet event_handles;
 
+  /**
+   * @brief The "irrelevant" portions of the unfolding that do not need to be kept
+   * around to ensure that UDPOR functions correctly
+   *
+   * The set `G` is another global variable maintained by the UDPOR algorithm which
+   * is used to keep track of all events which used to be important to UDPOR.
+   *
+   * @note: The current implementation does not touch the set `G`. Its use is perhaps
+   * limited to debugging and/or model-checking acyclic state spaces
+   */
+  EventSet G;
+
 public:
   Unfolding()                       = default;
   Unfolding& operator=(Unfolding&&) = default;
@@ -46,7 +58,7 @@ public:
   bool contains_event_equivalent_to(const UnfoldingEvent* e) const;
 
   auto begin() const { return this->event_handles.begin(); }
-  auto end() const { return this->event_handles.begin(); }
+  auto end() const { return this->event_handles.end(); }
   auto cbegin() const { return this->event_handles.cbegin(); }
   auto cend() const { return this->event_handles.cend(); }
   size_t size() const { return this->global_events_.size(); }