DiaDes  0.1
DIAgnosis of Discrete-Event System
Unfolding.hh
Go to the documentation of this file.
1 #ifndef UNFOLDING_H_
2 #define UNFOLDING_H_
3 
4 #include<set>
5 #include<unordered_map>
6 #include<diades/graph/Graph.hh>
11 
12 using namespace std;
13 using namespace Diades::Graph;
14 
15 namespace Diades
16 {
17 
18  namespace Sdmdl
19  {
20 
21  class Unfolding
22  {
23  private:
24  ComponentType * const _comp;
30  set<string> observableEvents;
31  map<string,UnfoldingState> _infoOfStateLabel;
32 
33  public:
34  Unfolding(ComponentType & component, const set<string> & triggerableEvents,
35  unordered_map<string,string> & dictionnary, const string & name);
36  virtual ~Unfolding();
37  void unfold( const set<string> & triggerableEvents);
38  void writeFile(unordered_map<string,string> & dictionnary, const set<string> & triggerableEvents, const string & name);
39  const UnfoldingState & infoOfStateLabel(const string & label) { return _infoOfStateLabel[label]; }
40  };
41 
42  };
43 };
44 
45 #endif /*UNFOLDING_H_*/
ComponentType *const _comp
Definition: Unfolding.hh:24
STL namespace.
NodeMap< int > synchronousState
Definition: Unfolding.hh:29
Namespace of the Diades project.
const UnfoldingState & infoOfStateLabel(const string &label)
Definition: Unfolding.hh:39
void unfold(const Net &netSystem, Net &completePrefix)
Definition: Unfolding.hh:20
map< string, UnfoldingState > _infoOfStateLabel
Definition: Unfolding.hh:31
Diades::Graph::Graph graph
Definition: Unfolding.hh:25
Namespace of the Graph library (libGraph)
Definition: BFS.hh:9
set< string > observableEvents
Definition: Unfolding.hh:30
EdgeMap< string > transLabel
Definition: Unfolding.hh:27
NodeMap< string > stateLabel
Definition: Unfolding.hh:28