DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Diades::Petri::TimeReachabilityGraph Class Reference

#include <TimeReachabilityGraph.hh>

Public Types

typedef Diades::Utils::Exception< TimeReachabilityGraphException
 
typedef Diades::Graph::NodeMap< unordered_map< string, Diades::Utils::Interval > > TimeConstraints
 
typedef unordered_map< string, Diades::Utils::Interval >::const_iterator TimeConstraintsIterator
 
- Public Types inherited from Diades::Petri::ReachabilityGraph
typedef Diades::Utils::Exception< ReachabilityGraphException
 
typedef Diades::Graph::Graph RGraph
 
typedef Diades::Graph::Node RState
 
typedef Diades::Graph::Edge RTransition
 
typedef Diades::Graph::NodeMap< set< string > > Marking
 
typedef Diades::Graph::EdgeMap< string > TransitionLabel
 
typedef Diades::Graph::NodeMap< unsigned > Ids
 
typedef Diades::Graph::NodeIterator RStateIterator
 
typedef Diades::Graph::EdgeIterator RTransitionIterator
 
typedef Diades::Graph::InEdgeIterator InRTransitionIterator
 
typedef Diades::Graph::OutEdgeIterator OutRTransitionIterator
 
typedef unordered_map< unsigned, RStateStateDictionnary
 

Public Member Functions

 TimeReachabilityGraph ()
 
virtual ~TimeReachabilityGraph ()
 
virtual void addTimeConstraint (RState state, const string &transitionName, const Diades::Utils::Interval &interval)
 
TimeConstraintsIterator constraintBegin (RState state) const
 
TimeConstraintsIterator constraintEnd (RState state) const
 
virtual bool exportGraphToDot (const string &fileDot)
 
- Public Member Functions inherited from Diades::Petri::ReachabilityGraph
 ReachabilityGraph ()
 state dictionary More...
 
virtual ~ReachabilityGraph ()
 
const set< string > & getMarking (RState state)
 
void addMarking (RState state, const string &mark)
 
const string & getLabel (RTransition transition)
 
unsigned numberOfStates () const
 
unsigned numberOfTransitions () const
 
bool empty () const
 
RState target (const RTransition &trans) const
 
RState source (const RTransition &trans) const
 
RStateIterator stateBegin ()
 
RStateIterator stateEnd ()
 
RStateIterator stateBegin () const
 
RStateIterator stateEnd () const
 
RTransitionIterator transBegin ()
 
RTransitionIterator transEnd ()
 
RTransitionIterator transBegin () const
 
RTransitionIterator transEnd () const
 
Graph::Graphgraph ()
 
const Graph::Graphgraph () const
 
OutRTransitionIterator outTransBegin (const RState &state) const
 
OutRTransitionIterator outTransEnd (const RState &state) const
 
InRTransitionIterator outTransBegin (const RState &state)
 
InRTransitionIterator outTransEnd (const RState &state)
 
void clear ()
 
RState getState (unsigned id)
 
RTransition getTrans (RState source, RState target, const string &label)
 
unsigned getId (RState state) const
 
void setInitial (RState state)
 
RState initialState () const
 
bool importTinaGraph (const string &fileAut, const string &fileVrb)
 

Static Public Member Functions

static string typeName ()
 
- Static Public Member Functions inherited from Diades::Petri::ReachabilityGraph
static string typeName ()
 

Private Attributes

TimeConstraints _constraints
 

Additional Inherited Members

- Protected Member Functions inherited from Diades::Petri::ReachabilityGraph
bool importTinaAut (const string &fileAut)
 
virtual bool importTinaVrb (const string &fileVrb)
 

Detailed Description

Reachability graph of a Time Petri Net. Enumerative structure used by Houssam-Eddine Gougam for time analysis.

Definition at line 25 of file TimeReachabilityGraph.hh.

Member Typedef Documentation

◆ Exception

Definition at line 29 of file TimeReachabilityGraph.hh.

◆ TimeConstraints

Definition at line 30 of file TimeReachabilityGraph.hh.

◆ TimeConstraintsIterator

Definition at line 31 of file TimeReachabilityGraph.hh.

Constructor & Destructor Documentation

◆ TimeReachabilityGraph()

Diades::Petri::TimeReachabilityGraph::TimeReachabilityGraph ( )
inline

Definition at line 36 of file TimeReachabilityGraph.hh.

◆ ~TimeReachabilityGraph()

virtual Diades::Petri::TimeReachabilityGraph::~TimeReachabilityGraph ( )
inlinevirtual

Definition at line 40 of file TimeReachabilityGraph.hh.

Member Function Documentation

◆ addTimeConstraint()

virtual void Diades::Petri::TimeReachabilityGraph::addTimeConstraint ( RState  state,
const string &  transitionName,
const Diades::Utils::Interval interval 
)
inlinevirtual
Parameters
stateclass to modify
transitionNamename of the transition whose trigger is under time constraints
intervalthe Time Interval
Precondition
state.valid() && state.owner() == graph() && !transitionName.empty()

Reimplemented from Diades::Petri::ReachabilityGraph.

Definition at line 48 of file TimeReachabilityGraph.hh.

References require.

◆ constraintBegin()

TimeConstraintsIterator Diades::Petri::TimeReachabilityGraph::constraintBegin ( RState  state) const
inline
Parameters
statea class
Returns
an iterator on the time constraint of this class

Definition at line 60 of file TimeReachabilityGraph.hh.

References require.

◆ constraintEnd()

TimeConstraintsIterator Diades::Petri::TimeReachabilityGraph::constraintEnd ( RState  state) const
inline
Parameters
statea class
Returns
an iterator on the time constraint of this class (pass the end)

Definition at line 72 of file TimeReachabilityGraph.hh.

References require.

◆ exportGraphToDot()

virtual bool Diades::Petri::TimeReachabilityGraph::exportGraphToDot ( const string &  fileDot)
virtual
Parameters
filedotfile suffixed (*.dot) input to DOT
Returns
true if the export succeeded

Reimplemented from Diades::Petri::ReachabilityGraph.

◆ typeName()

static string Diades::Petri::TimeReachabilityGraph::typeName ( )
inlinestatic

Definition at line 28 of file TimeReachabilityGraph.hh.

Member Data Documentation

◆ _constraints

TimeConstraints Diades::Petri::TimeReachabilityGraph::_constraints
private

Definition at line 33 of file TimeReachabilityGraph.hh.


The documentation for this class was generated from the following file: