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

#include <TimePetriNet.hh>

Public Member Functions

 TimePetriNet ()
 
 TimePetriNet (const TimePetriNet &p1, const TimePetriNet &p2, const set< Event > &synchronisation, bool strict=true)
 
virtual ~TimePetriNet ()
 
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)
 
- Public Member Functions inherited from Diades::Petri::PetriNet
 PetriNet ()
 
 PetriNet (const PetriNet &p1, const PetriNet &p2, const set< Event > &synchronization, bool strict=true)
 
virtual ~PetriNet ()
 
void setName (const string &name)
 
const string & name () const
 
unsigned int id () const
 
void setId (unsigned id)
 
int numberOfPlaces () const
 
int numberOfTransitions () const
 
void clear ()
 
const Diades::Graph::Graphgraph () const
 
EventIterator beginOfEvents () const
 
EventIterator endOfEvents () const
 
const EventgetEvent (Transition t) const
 
virtual void setEvent (Transition t, const Event &event)
 
bool containsEvent (const Event &event) const
 
Place newPlace ()
 
Place newPlace (const string &label)
 
PlaceIterator beginOfPlaces () const
 
PlaceIterator endOfPlaces () const
 
const string & labelOfPlace (const Place &p) const
 
const string & getInfoLabel (Place p) const
 
void setInfoLabel (Place p, const string &info)
 
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)
 
void addPre (Transition transition, Place place)
 
void addPost (Transition transition, Place place)
 
bool pre (const Vdd *marking, const Transition &t) const
 
Iterator preBegin (const Transition &transition) const
 
Iterator preEnd (const Transition &transition) const
 
Iterator postBegin (const Transition &transition) const
 
Iterator postEnd (const Transition &transition) const
 
TransitionIterator beginOfTransitions () const
 
TransitionIterator endOfTransitions () const
 
const string & labelOfTransition (const Transition &t) const
 
bool inPre (const Transition &t, const Place &p) const
 
TransitionEventIterator beginOfTransitionWithEvent (const Event &event) const
 
TransitionEventIterator endOfTransitionWithEvent (const Event &event) const
 
void setPostponable (Transition t)
 
bool isPostponable (Transition t) const
 
void setNotPostponable (Transition t)
 
void synchronize (const PetriNet &p1, const PetriNet &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)
 
virtual void net2Tina (ostream &os) 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::PetriNet
enum  NodeType { P, T }
 
typedef PerTypeIterator TransitionIterator
 
typedef PerTypeIterator PlaceIterator
 
typedef set< Event >::const_iterator EventIterator
 
typedef set< Transition >::const_iterator TransitionEventIterator
 
- Protected Types inherited from Diades::Petri::PetriNet
enum  TransitionType { NotPostponable, Postponable }
 
- Protected Attributes inherited from Diades::Petri::PetriNet
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::NodeMap< const Zsl * > _preZslOfTransition
 
Graph::NodeMap< const Zsl * > _incidenceZslOfTransition
 
const Vdd_reachableNodes
 
set< Event_eventList
 
bool _readOnly
 

Detailed Description

Definition at line 17 of file TimePetriNet.hh.

Constructor & Destructor Documentation

Diades::Petri::TimePetriNet::TimePetriNet ( )
inline

Definition at line 25 of file TimePetriNet.hh.

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

Definition at line 27 of file TimePetriNet.hh.

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

Definition at line 35 of file TimePetriNet.hh.

Member Function Documentation

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

Clear the TimePetriNet

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

Transition deletion

Parameters
ta Transition

Reimplemented from Diades::Petri::PetriNet.

Definition at line 68 of file TimePetriNet.hh.

References Diades::Automata::deleteTransition().

virtual Transition Diades::Petri::TimePetriNet::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::PetriNet.

Definition at line 78 of file TimePetriNet.hh.

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

Reimplemented from Diades::Petri::PetriNet.

virtual void Diades::Petri::TimePetriNet::net2Tina ( const string &  fileName) const
virtual
Transition Diades::Petri::TimePetriNet::newTransition ( const set< Place > &  pre,
const set< Place > &  post,
const Event event,
const Interval interval 
)
Transition Diades::Petri::TimePetriNet::newTransition ( const set< Place > &  pre,
const set< Place > &  post,
const Event event,
const Interval interval,
const string &  label 
)
void Diades::Petri::TimePetriNet::setInterval ( Transition  t,
const Interval interval 
)
const Interval& Diades::Petri::TimePetriNet::timeInterval ( Transition  t) const
virtual void Diades::Petri::TimePetriNet::tina2Net ( const string &  fileName)
virtual

Initialisation of the current TimePetriNet 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

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

Definition at line 21 of file TimePetriNet.hh.


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