DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <RealTimeSystem.hh>
Public Member Functions | |
RealTimeSystem () | |
void | setObservable (Event e) |
void | setNonObservable (Event e) |
bool | isObservable (Event e) const |
void | timeDecompositionObservable () |
Public Member Functions inherited from Diades::Petri::LabelledPrioritizedTimeNet | |
bool | isTimeDecomposed (const Transition &t) const |
const vector< TimeDecomposedTransition > & | decomposedTransitions () const |
void | timeDecomposition () |
void | timeDecomposition (Event e) |
const Interval & | staticInterval (const Transition &t) const |
LabelledPrioritizedTimeNet () | |
virtual | ~LabelledPrioritizedTimeNet () |
virtual Transition | newTransition (const set< Place > &pre, const set< Place > &post, const string &name, const Interval &interval, Event event) |
virtual void | nameOfTransition2Dot (ostream &os, Transition transition) const |
virtual Place | makeEventConflictFree (Place p) |
virtual void | makeEventConflictFree () |
Public Member Functions inherited from Diades::Petri::LabelledPrioritizedNet | |
LabelledPrioritizedNet () | |
LabelledPrioritizedNet (const LabelledPrioritizedNet &net) | |
LabelledPrioritizedNet & | operator= (const LabelledPrioritizedNet &net) |
LabelledPrioritizedNet & | append (const LabelledPrioritizedNet &net) |
LabelledPrioritizedNet (const LabelledPrioritizedNet &lppn1, const LabelledPrioritizedNet &lppn2, const unordered_set< Event > &syncEvents) | |
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) |
void | setPriority (Transition t1, Transition t2) |
const set< Transition > & | priorities (Transition tr) const |
const set< Transition > & | reversedPriorities (Transition tr) const |
void | resetPriority (Transition t1, Transition t2) |
void | priorities2Dot (ostream &os) const |
virtual void | deleteTransition (Transition t1) |
Public Member Functions inherited from Diades::Petri::LabelledNet | |
Event | lambda () const |
LabelledNet () | |
LabelledNet (const LabelledNet &net) | |
LabelledNet & | operator= (const LabelledNet &net) |
LabelledNet & | append (const LabelledNet &net) |
LabelledNet (const LabelledNet &lpn1, const LabelledNet &lpn2, const unordered_set< Event > &syncEvents) | |
LabelledNet & | merge (const LabelledNet &lpn1, const LabelledNet &lpn2, const unordered_set< Event > &syncEvents, std::unordered_map< Transition, std::list< Transition > > &lpn1SyncTrans, std::unordered_map< Transition, std::list< Transition > > &lpn2SyncTrans, unordered_map< Transition, std::pair< Transition, Transition >> &synchronisations, std::unordered_map< Place, Place > &lpn1Place, std::unordered_map< Place, Place > &lpn2Place, std::unordered_map< Place, std::pair< Place, Place > > &syncPlaces) |
virtual Transition | newTransition (const set< Place > &pre, const set< Place > &post, const string &name, Event e) |
TransitionEventIterator | beginOfTransitionWithEvent (Event event) const |
TransitionEventIterator | endOfTransitionWithEvent (Event event) const |
Transition | duplicateTransition (Transition t) |
virtual void | net2TinaTransitionName (ostream &os, Transition trans) const |
virtual void | copyLabelledNet (const LabelledNet &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) |
virtual void | appendLabelledNet (const LabelledNet &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) |
virtual void | mergeLabelledNet (const LabelledNet &lpn1, const LabelledNet &lpn2, const unordered_set< Event > &syncEvents, Diades::Graph::ConstNodeMap< Diades::Graph::Node > &nodeMapLpn1, Diades::Graph::NodeMap< Diades::Graph::Node > &nodeMapFromLpn1, Diades::Graph::ConstNodeMap< Diades::Graph::Node > &nodeMapLpn2, Diades::Graph::NodeMap< Diades::Graph::Node > &nodeMapFromLpn2, std::unordered_map< Transition, std::list< Transition > > &lpn1SyncTrans, std::unordered_map< Transition, std::list< Transition > > &lpn2SyncTrans, 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) |
EventIterator | beginOfEvents () const |
EventIterator | endOfEvents () const |
Event | getEvent (Transition t) const |
bool | containsEvent (Event event) const |
Public Member Functions inherited from Diades::Petri::BoundedNet | |
BoundedNet () | |
BoundedNet (const BoundedNet &net) | |
BoundedNet & | operator= (const BoundedNet &net) |
BoundedNet & | append (const BoundedNet &net) |
virtual | ~BoundedNet () |
void | setName (const string &name) |
const string & | name () const |
unsigned int | id () const |
void | setId (unsigned id) |
void | clear () |
const Diades::Graph::Graph & | graph () const |
Place | newPlace () |
Place | newPlace (const string &name) |
void | deletePlace (Place p) |
void | setLabelOfPlace (Place place, const string &label) |
PlaceIterator | beginOfPlaces () const |
PlaceIterator | endOfPlaces () const |
size_t | numberOfPlaces () const |
const string & | labelOfPlace (const Place &p) const |
const string & | nameOfPlace (Place p) const |
void | setNameOfPlace (Place p, const string &name) |
Place | getPlace (const string &name) const |
Arc | getArc (Diades::Graph::Node n1, Diades::Graph::Node n2) const |
virtual bool | enables (Transition t, const Marking &marking) const |
virtual bool | fire (Transition t, const Marking &marking, Marking &newMarking) const |
virtual Transition | newTransition (const set< Place > &pre, const set< Place > &post) |
virtual Transition | newTransition (const set< Place > &pre, const set< Place > &post, const string &name) |
virtual void | setInhibition (Place p, Transition t) |
const std::unordered_set< Transition > & | inhibitors (Place p) const |
virtual void | unsetInhibition (Place p, Transition t) |
bool | inhibits (Place p, Transition t) const |
size_t | numberOfTransitions () const |
size_t | numberOfArcs () const |
void | addPre (Transition transition, Place place) |
void | addPost (Transition transition, Place place) |
ConstIterator | preTransBegin (Place place) const |
ConstIterator | preTransEnd (Place place) const |
ConstIterator | postTransBegin (Place place) const |
ConstIterator | postTransEnd (Place place) const |
ConstIterator | preBegin (Transition transition) const |
ConstIterator | preEnd (Transition transition) const |
ConstIterator | postBegin (Transition transition) const |
ConstIterator | postEnd (Transition transition) const |
TransitionIterator | beginOfTransitions () const |
TransitionIterator | endOfTransitions () const |
void | setNameOfTransition (Transition transition, const string &name) |
const string & | nameOfTransition (Transition transition) const |
Transition | transitionOfName (const string &name) const |
bool | inPre (Transition t, Place p) const |
bool | inPost (Transition t, Place p) const |
const Marking & | initialMarking () const |
Marking & | initialMarking () |
bool | isMarked () const |
virtual void | net2Dot (const string &fileName) const |
void | net2Tina (ostream &os) const |
void | net2Tina (const string &filename) const |
void | printPrettyMarking (ostream &os, const Marking &marking) const |
virtual void | appendNet (const BoundedNet &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) |
template<typename Iterator > | |
Place | mergePlaces (Iterator first, Iterator last) |
Protected Attributes | |
std::unordered_set< Event > | _observables |
std::unordered_set< Event > | _unobservables |
Protected Attributes inherited from Diades::Petri::BoundedNet | |
Diades::Graph::Graph | _graph |
Diades::Graph::NodeMap< NodeType > | _nodeType |
Diades::Graph::NodeMap< string > | _nameOfNode |
Diades::Graph::NodeMap< string > | _labelOfNode |
Diades::Graph::NodeMap< int > | _postponable |
Diades::Graph::NodeMap< std::unordered_set< Transition > > | _inhibitors |
Diades::Graph::NodeMap< std::unordered_set< Place > > | _inhibited |
string | _name |
Marking | _initialMarking |
unordered_map< string, Diades::Graph::Node > | _placeOfName |
unordered_map< string, Diades::Graph::Node > | _transitionOfName |
A RealTimeSystem is a system is modelled as as labelled time petri net (with priorities). The static time interval associated with a RealTimeSystem are bounded closed intervals and their bounds are integers. (Note that the restriction to integers is not a problem as the normal bounds are rationals that can be formally translated to integers (by normalisation). In a RealTimeSystem, transitions are labelled with events. An Event might be observable or not. By construction any RealTimeSystem contains the 'time point event' that is denoted 'lambda'. Event 'lambda' is set to be non observable.
Definition at line 33 of file RealTimeSystem.hh.
|
inline |
Default constructor A RealTimeSystem is a LabelledPrioritizedTimeNet
Definition at line 44 of file RealTimeSystem.hh.
References Diades::Petri::LabelledNet::lambda(), and setNonObservable().
|
inline |
Is the Event observable?
e | an Event |
Definition at line 71 of file RealTimeSystem.hh.
References timeDecompositionObservable().
|
inline |
Set the event to be non-observable
e | the Event |
Definition at line 61 of file RealTimeSystem.hh.
Referenced by RealTimeSystem().
|
inline |
Set the event to be observable
e | the Event |
Definition at line 52 of file RealTimeSystem.hh.
void Diades::Petri::RealTimeSystem::timeDecompositionObservable | ( | ) |
Perform the time decomposition of a transition is associated with an observable event
Referenced by isObservable().
|
protected |
Definition at line 36 of file RealTimeSystem.hh.
|
protected |
Definition at line 37 of file RealTimeSystem.hh.