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

#include <TimeNet.hh>

Public Member Functions

 TimeNet ()
 
 TimeNet (const TimeNet &p1, const TimeNet &p2, const set< Event > &synchronisation, bool strict=true)
 
virtual ~TimeNet ()
 
Transition newTransition (const set< Place > &pre, const set< Place > &post, const Event &event, const Interval &interval)
 
Transition newTransition (const set< Place > &pre, const set< Place > &post, const Event &event, const Interval &interval, const string &label)
 
const IntervaltimeInterval (Transition t) const
 
void setInterval (Transition t, const Interval &interval)
 
virtual void net2Dot (const string &fileName) const
 
virtual void net2Tina (const string &fileName) const
 
virtual void clear ()
 
virtual void tina2Net (const string &fileName)
 
virtual void deleteTransition (Transition t)
 
virtual Transition duplicateTransition (Transition t)
 
void setTemporalEvent (Transition t)
 
void net2Tina (ostream &os) const
 
- Public Member Functions inherited from Diades::Petri::Net
 Net ()
 
 Net (const Net &p1, const Net &p2, const set< Event > &synchronization, bool strict=true)
 
virtual ~Net ()
 
void setName (const string &name)
 
const string & name () const
 
unsigned int id () const
 
void setId (unsigned id)
 
void clear ()
 
const Diades::Graph::Graphgraph () const
 
EventIterator beginOfEvents () const
 
EventIterator endOfEvents () const
 
const EventgetEvent (Transition t) const
 
virtual void setEvent (Transition t, Event event)
 
bool containsEvent (Event event) const
 
Place newPlace ()
 
Place newPlace (const string &label)
 
void setLabelOfPlace (const Place &place, const string &label)
 
PlaceIterator beginOfPlaces () const
 
PlaceIterator endOfPlaces () const
 
size_t numberOfPlaces () const
 
const string & labelOfPlace (const Place &p) const
 
const string & getInfoLabel (Place p) const
 
void setInfoLabel (Place p, const string &info)
 
virtual bool enables (const Transition &t, const set< Place > &marking)
 
virtual Transition newTransition (const set< Place > &pre, const set< Place > &post)
 
virtual Transition newTransition (const set< Place > &pre, const set< Place > &post, const string &label)
 
size_t numberOfTransitions () const
 
size_t numberOfArcs () const
 
void addPre (Transition transition, Place place)
 
void addPost (Transition transition, Place place)
 
bool pre (const Vdd *marking, const Transition &t) const
 
ConstIterator preTransBegin (const Place &place) const
 
ConstIterator preTransEnd (const Place &place) const
 
ConstIterator postTransBegin (const Place &place) const
 
ConstIterator postTransEnd (const Place &place) const
 
ConstIterator preBegin (const Transition &transition) const
 
ConstIterator preEnd (const Transition &transition) const
 
ConstIterator postBegin (const Transition &transition) const
 
ConstIterator postEnd (const Transition &transition) const
 
TransitionIterator beginOfTransitions () const
 
TransitionIterator endOfTransitions () const
 
void setLabelOfTransition (const Transition &t, const string &label)
 
const string & labelOfTransition (const Transition &t) const
 
bool inPre (const Transition &t, const Place &p) const
 
TransitionEventIterator beginOfTransitionWithEvent (Event event) const
 
TransitionEventIterator endOfTransitionWithEvent (Event event) const
 
void setPostponable (Transition t)
 
bool isPostponable (Transition t) const
 
void setNotPostponable (Transition t)
 
void synchronize (const Net &p1, const Net &p2, const set< Event > &synchronization, bool strict)
 
void setMarking (const set< Place > &marking)
 
bool isMarked () const
 
bool isMarked (Place p) const
 
void mark (Place p)
 
void unmark (Place p)
 
const set< Place > & initialMarking () const
 
void printWarning (const string &s) const
 
void printFactory (const string &fileName) const
 
void lock () const
 
void unlock () const
 
const Vddmarking () const
 
const ZslgetPreZsl (Transition t) const
 
const ZslgetIncidenceZsl (Transition t) const
 
const VddreachableNodes () const
 
void printVdd (const Vdd *result, string fileName)
 
ZslFactoryzslFactory () const
 
VddFactoryvddFactory () const
 

Private Attributes

Graph::NodeMap< Interval_time
 

Additional Inherited Members

- Public Types inherited from Diades::Petri::Net
enum  NodeType { P, T }
 
typedef Diades::Utils::Exception< NetException
 
typedef PerTypeIterator TransitionIterator
 
typedef PerTypeIterator PlaceIterator
 
typedef set< Event >::const_iterator EventIterator
 
typedef set< Transition >::const_iterator TransitionEventIterator
 
- Static Public Member Functions inherited from Diades::Petri::Net
static string typeName ()
 
- Protected Types inherited from Diades::Petri::Net
enum  TransitionType { NotPostponable, Postponable }
 
- Protected Attributes inherited from Diades::Petri::Net
ZslFactory_zslFactory
 
VddFactory_vddFactory
 
Graph::Graph _graph
 
Graph::NodeMap< NodeType_nodeType
 
Graph::NodeMap< string > _labelNode
 
Graph::NodeMap< string > _infoNode
 
Graph::NodeMap< Event_event
 
Graph::NodeMap< int > _postponable
 
string _name
 
const Vdd_initialMarking
 
set< Place_explicitInitialMarking
 
unordered_map< string, Graph::Node > _placeOfLabel
 
vector< set< Transition > > _transitionsOfEventId
 
Graph::ConstNodeMap< const Zsl * > _preZslOfTransition
 
Graph::ConstNodeMap< const Zsl * > _incidenceZslOfTransition
 
const Vdd_reachableNodes
 
set< Event_eventList
 
bool _readOnly
 

Detailed Description

Definition at line 18 of file TimeNet.hh.

Constructor & Destructor Documentation

◆ TimeNet() [1/2]

Diades::Petri::TimeNet::TimeNet ( )
inline

Definition at line 26 of file TimeNet.hh.

◆ TimeNet() [2/2]

Diades::Petri::TimeNet::TimeNet ( const TimeNet p1,
const TimeNet p2,
const set< Event > &  synchronisation,
bool  strict = true 
)
inline
Todo:
complete by introducing time

Definition at line 28 of file TimeNet.hh.

◆ ~TimeNet()

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

Definition at line 36 of file TimeNet.hh.

Member Function Documentation

◆ clear()

virtual void Diades::Petri::TimeNet::clear ( )
virtual

Clear the TimeNet

◆ deleteTransition()

virtual void Diades::Petri::TimeNet::deleteTransition ( Transition  t)
inlinevirtual

Transition deletion

Parameters
ta Transition

Reimplemented from Diades::Petri::Net.

Definition at line 69 of file TimeNet.hh.

References Diades::Automata::deleteTransition().

◆ duplicateTransition()

virtual Transition Diades::Petri::TimeNet::duplicateTransition ( Transition  t)
inlinevirtual

Transition duplication

Parameters
ta Transition
Returns
the created clone of transition t. The clone has the same Event and the same pre and post conditions

Reimplemented from Diades::Petri::Net.

Definition at line 79 of file TimeNet.hh.

◆ net2Dot()

virtual void Diades::Petri::TimeNet::net2Dot ( const string &  fileName) const
virtual
Parameters
fileNamethe name of an output file Write in the file 'fileName' the dot description of the Net

Reimplemented from Diades::Petri::Net.

Reimplemented in Diades::Petri::Chronicle.

◆ net2Tina() [1/2]

virtual void Diades::Petri::TimeNet::net2Tina ( const string &  fileName) const
virtual

Reimplemented in Diades::Petri::Chronicle.

◆ net2Tina() [2/2]

void Diades::Petri::TimeNet::net2Tina ( ostream &  os) const
virtual
Parameters
osoutput stream Write the TINA '.net' description of the Net (see TINA ) on the output stream

Reimplemented from Diades::Petri::Net.

◆ newTransition() [1/2]

Transition Diades::Petri::TimeNet::newTransition ( const set< Place > &  pre,
const set< Place > &  post,
const Event event,
const Interval interval 
)

◆ newTransition() [2/2]

Transition Diades::Petri::TimeNet::newTransition ( const set< Place > &  pre,
const set< Place > &  post,
const Event event,
const Interval interval,
const string &  label 
)

◆ setInterval()

void Diades::Petri::TimeNet::setInterval ( Transition  t,
const Interval interval 
)

◆ setTemporalEvent()

void Diades::Petri::TimeNet::setTemporalEvent ( Transition  t)

◆ timeInterval()

const Interval& Diades::Petri::TimeNet::timeInterval ( Transition  t) const

◆ tina2Net()

virtual void Diades::Petri::TimeNet::tina2Net ( const string &  fileName)
virtual

Initialisation of the current TimeNet with the .net description obtained by TINA

Parameters
fileNamethe name of the file to load

Until now, the implemented format is the .net format without: the type of arc, the keyword 'lb', no logical relation between a place and transition in a place declaration

Member Data Documentation

◆ _time

Graph::NodeMap< Interval > Diades::Petri::TimeNet::_time
private

Definition at line 22 of file TimeNet.hh.


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