DiaDes  0.1
DIAgnosis of Discrete-Event System
LabelledPrioritizedNet.hh
Go to the documentation of this file.
1 #ifndef __DIADES_PETRI_LABELLEDPRIORITIZEDNET__HH__
2 #define __DIADES_PETRI_LABELLEDPRIORITIZEDNET__HH__
3 
4 #include"LabelledNet.hh"
5 
6 
7 namespace Diades
8 {
9 
10  namespace Petri
11  {
12 
19  {
20  private:
21  std::set<Transition> _involved;
22  std::set<Transition> _reversedInvolved;
25  public:
26 
31 
32 
33 
38 
39 
40 
45 
46 
47 
58 
67  const LabelledPrioritizedNet & lppn2,
68  const unordered_set<Event> & syncEvents);
69 
70 
71 
72 
87  const LabelledPrioritizedNet & lppn2,
88  const unordered_set<Event> & syncEvents,
89  std::unordered_map< Transition, std::list<Transition> > & lppn1SyncTrans,
90  std::unordered_map< Transition, std::list<Transition> > & lppn2SyncTrans,
91  std::unordered_map< Transition, std::pair<Transition,Transition> > & syncTransitions,
92  std::unordered_map< Place, Place > & lppn1Place,
93  std::unordered_map< Place, Place > & lppn2Place,
94  std::unordered_map< Place, std::pair<Place, Place> > & syncPlaces);
95 
102  void
104 
110  const set<Transition> &
111  priorities(Transition tr) const;
112 
118  const set<Transition> &
119  reversedPriorities(Transition tr) const;
120 
126  void
128 
133  void
134  priorities2Dot(ostream & os) const;
135 
140  virtual void
142 
143 
144 
145 
146 
147 
148  protected:
149 
154  virtual void
155  priorities2Tina(ostream & os) const;
156 
157 
162  virtual void
163  net2TinaEnd(ostream & os,const string & header) const;
164 
169  virtual void
170  writeEndOfDotFile(ostream & os) const;
171 
181  virtual void copyLabelledPrioritizedNet(const LabelledPrioritizedNet & net,
186 
187 
188 
200  virtual void appendLabelledPrioritizedNet(const LabelledPrioritizedNet & net,
205 
206 
223  virtual void mergeLabelledPrioritizedNet(const LabelledPrioritizedNet & lppn1, const LabelledPrioritizedNet & lppn2,
224  const unordered_set<Event> & syncEvents,
229  std::unordered_map< Transition, std::list<Transition> > & lppn1SyncTrans,
230  std::unordered_map< Transition, std::list<Transition> > & lppn2SyncTrans,
231  std::unordered_map< Transition, std::pair<Transition,Transition> > & syncTransitions,
232  std::unordered_map< Place, Place > & lppn1Place,
233  std::unordered_map< Place, Place > & lppn2Place,
234  std::unordered_map< Place, std::pair<Place, Place> > & syncPlaces);
235 
236 
237 
238 
239 
240 
241  };
242  };
243 
244 };
245 
246 #endif
virtual void priorities2Tina(ostream &os) const
void resetPriority(Transition t1, Transition t2)
const set< Transition > & reversedPriorities(Transition tr) const
virtual void deleteTransition(Transition t1)
Diades::Graph::Node Transition
Definition: BoundedNet.hh:31
virtual void writeEndOfDotFile(ostream &os) const
void priorities2Dot(ostream &os) const
Diades::Graph::Node Place
Definition: BoundedNet.hh:24
virtual void appendLabelledPrioritizedNet(const LabelledPrioritizedNet &net, Diades::Graph::ConstNodeMap< Diades::Graph::Node > &nodeMap, Diades::Graph::NodeMap< Diades::Graph::Node > &nodeMapCopy, Diades::Graph::ConstEdgeMap< Diades::Graph::Edge > &edgeMap, Diades::Graph::EdgeMap< Diades::Graph::Edge > &edgeMapCopy)
void setPriority(Transition t1, Transition t2)
virtual void mergeLabelledPrioritizedNet(const LabelledPrioritizedNet &lppn1, const LabelledPrioritizedNet &lppn2, const unordered_set< Event > &syncEvents, Diades::Graph::ConstNodeMap< Diades::Graph::Node > &nodeMapLppn1, Diades::Graph::NodeMap< Diades::Graph::Node > &nodeMapFromLppn1, Diades::Graph::ConstNodeMap< Diades::Graph::Node > &nodeMapLppn2, Diades::Graph::NodeMap< Diades::Graph::Node > &nodeMapFromLppn2, std::unordered_map< Transition, std::list< Transition > > &lppn1SyncTrans, std::unordered_map< Transition, std::list< Transition > > &lppn2SyncTrans, std::unordered_map< Transition, std::pair< Transition, Transition > > &syncTransitions, std::unordered_map< Place, Place > &lppn1Place, std::unordered_map< Place, Place > &lppn2Place, std::unordered_map< Place, std::pair< Place, Place > > &syncPlaces)
LabelledPrioritizedNet & merge(const LabelledPrioritizedNet &lppn1, const LabelledPrioritizedNet &lppn2, const unordered_set< Event > &syncEvents, std::unordered_map< Transition, std::list< Transition > > &lppn1SyncTrans, std::unordered_map< Transition, std::list< Transition > > &lppn2SyncTrans, std::unordered_map< Transition, std::pair< Transition, Transition > > &syncTransitions, std::unordered_map< Place, Place > &lppn1Place, std::unordered_map< Place, Place > &lppn2Place, std::unordered_map< Place, std::pair< Place, Place > > &syncPlaces)
Diades::Graph::NodeMap< std::set< Transition > > _priorities
Namespace of the Diades project.
virtual void net2TinaEnd(ostream &os, const string &header) const
virtual void copyLabelledPrioritizedNet(const LabelledPrioritizedNet &net, Diades::Graph::ConstNodeMap< Diades::Graph::Node > &nodeMap, Diades::Graph::NodeMap< Diades::Graph::Node > &nodeMapCopy, Diades::Graph::ConstEdgeMap< Diades::Graph::Edge > &edgeMap, Diades::Graph::EdgeMap< Diades::Graph::Edge > &edgeMapCopy)
Diades::Graph::NodeMap< std::set< Transition > > _reversedPriorities
const set< Transition > & priorities(Transition tr) const
LabelledPrioritizedNet & append(const LabelledPrioritizedNet &net)
LabelledPrioritizedNet & operator=(const LabelledPrioritizedNet &net)