DiaDes  0.1
DIAgnosis of Discrete-Event System
Unfolding.hh
Go to the documentation of this file.
1 #ifndef __DIADES__ALTARICA_UNFOLDING__HH
2 #define __DIADES__ALTARICA_UNFOLDING__HH
3 
4 #include<graph/Graph.hh>
5 #include<graph/NodeMap.hh>
6 #include"Node.hh"
7 #include"Sdmdl.hh"
8 #include"NodeInstance.hh"
9 
10 using namespace Diades::Graph;
11 
12 namespace Diades
13 {
14  namespace Altarica
15  {
16 
17 
19 
21  {
22  set<Event> triggers;
25  };
26 
27  struct Encoding
28  {
30  list<Formula> invariant;
31  list<EncodedTransition *> transitions;
36  vector< pair<Formula,GNode> > nodeFormula;
37  };
38 
39 
40 
41 
42 
43 
44 
51  bool encodeInvariant(NodeInstance node,list<Formula> & invariantFormula);
52 
53 
60 
61 
69  bool encodeTransitions(NodeInstance node,const list<Formula> & invariant,list<EncodedTransition *> & transitions);
70 
71 
72 
79  bool encodeInitialAssignments(NodeInstance node,Formula & initialisation);
80 
81 
82  bool encodeInitialStates(NodeInstance node, const list<Formula> & invariant,Formula & initialisation, Formula & initialStates);
83 
84 
85  };
86 };
87 #endif
vector< pair< Formula, GNode > > nodeFormula
Definition: Unfolding.hh:36
list< Formula > invariant
Definition: Unfolding.hh:30
bool encodeNodeInstance(NodeInstance node)
list< EncodedTransition * > transitions
Definition: Unfolding.hh:31
NodeMap< Formula > formula
Definition: Unfolding.hh:35
Namespace of the Diades project.
bool encodeTransitions(NodeInstance node, const list< Formula > &invariant, list< EncodedTransition * > &transitions)
bool encodeInitialAssignments(NodeInstance node, Formula &initialisation)
bool encodeInitialStates(NodeInstance node, const list< Formula > &invariant, Formula &initialisation, Formula &initialStates)
bool encodeInvariant(NodeInstance node, list< Formula > &invariantFormula)
Namespace of the Graph library (libGraph)
Definition: Edge.hh:17
Diades::Graph::Graph fsm
Definition: Unfolding.hh:34
Diades::Graph::Node GNode
Definition: Unfolding.hh:18