DiaDes  0.1
DIAgnosis of Discrete-Event System
TwinPattern.hh
Go to the documentation of this file.
1 #ifndef __DIADES_PETRI_TWINPATTERN__HH__
2 #define __DIADES_PETRI_TWINPATTERN__HH__
3 
4 
5 #include"SystemPattern.hh"
6 
7 namespace Diades
8 {
9  namespace Petri
10  {
11 
12 
13  class TwinPattern: public SystemPattern
14  {
15  private:
16  vector<Marking> _rightFinalMarkings;
17  public:
18  TwinPattern(const System & system,
19  const Pattern & pattern);
20 
21  void twin2Dot(const string & fileName) const;
22 
23 
24  bool checkDiagnosability() const;
25 
26  bool ambiguous(const Marking & marking) const;
27 
28  private:
29 
30  void clone(std::vector<Place> & left, unordered_map<Place,Place> & rightOf,
31  unordered_map<Transition, Transition > & rightTransitionOf,
32  unordered_map<unsigned, std::list<Transition> > & leftObservableTransitionsOfEvent,unordered_map<unsigned, std::list<Transition> > & rightObservableTransitionsOfEvent);
33  };
34 
35 
36 
37  };
38 };
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 #endif
vector< Marking > _rightFinalMarkings
Definition: TwinPattern.hh:16
Namespace of the Diades project.
TwinPattern(const System &system, const Pattern &pattern)
void twin2Dot(const string &fileName) const
bool ambiguous(const Marking &marking) const
bool checkDiagnosability() const
void clone(std::vector< Place > &left, unordered_map< Place, Place > &rightOf, unordered_map< Transition, Transition > &rightTransitionOf, unordered_map< unsigned, std::list< Transition > > &leftObservableTransitionsOfEvent, unordered_map< unsigned, std::list< Transition > > &rightObservableTransitionsOfEvent)