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

#include <Chronicle.hh>

Public Types

enum  ChronicleType { Basic, Sequence, Divergence, Convergence }
 
typedef Diades::Utils::Exception< ChronicleException
 
typedef Diades::Utils::Box< Chronicle const > ChronicleBox
 
- 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
 
- Public Types inherited from Diades::Petri::PriorityPetriNet
typedef std::unordered_multimap< Transition, TransitionPriorities
 
typedef pair< Priorities::const_iterator, Priorities::const_iterator > Range
 

Public Member Functions

ChronicleType type () const
 
 Chronicle ()
 
 Chronicle (const Event &event, int minTime)
 
 Chronicle (const Event &event, int minTime, int maxTime, bool presence)
 
 Chronicle (const vector< ChronicleBox > &chronicles, ChronicleType type)
 
TimeNet::PlaceIterator beginOfPlaces () const
 
TimeNet::PlaceIterator endOfPlaces () const
 
TimeNet::TransitionIterator beginOfTransitions () const
 
TimeNet::TransitionIterator endOfTransitions () const
 
const string & labelOfPlace (Place p) const
 
TimeNet::ConstIterator preBegin (const Transition &transition) const
 
TimeNet::ConstIterator preEnd (const Transition &transition) const
 
TimeNet::ConstIterator postBegin (const Transition &transition) const
 
TimeNet::ConstIterator postEnd (const Transition &transition) const
 
const EventgetEvent (Transition t) const
 
size_t numberOfTransitions () const
 
size_t numberOfPlaces () const
 
void setOk (Place p)
 
bool isOk (Place p) const
 
void setKo (Place p)
 
bool isKo (Place p) const
 
const set< Place > & init () const
 
void setInit (Place p)
 
bool isInit (Place p) const
 
virtual void net2Tina (ostream &os) const
 
virtual void net2Tina (const string &name) const
 
virtual void net2Dot (const string &name) const
 
- Public Member Functions inherited from Diades::Petri::TimeNet
 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 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
 
- Public Member Functions inherited from Diades::Petri::PriorityPetriNet
 PriorityPetriNet ()
 
virtual ~PriorityPetriNet ()
 
void setPriority (Transition t1, Transition t2)
 
void removePriority (Transition t1, Transition t2)
 
Range priorities () const
 
Range priorities (Transition t) const
 
bool hasPriority (Transition t1, Transition t2) const
 
virtual void priorities2Tina (ostream &os) const
 

Static Public Member Functions

static std::string typeName ()
 
static Chronicleevent (const Event &event, int minTime)
 
static Chronicleevent (const Event &event, int minTime, int maxTime)
 
static Chroniclenoevent (const Event &event, int minTime, int maxTime)
 
static Chroniclediv (const vector< ChronicleBox > &chronicles)
 
static Chroniclediv (const Chronicle &ch1, const Chronicle &ch2)
 
static Chroniclediv (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3)
 
static Chroniclediv (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4)
 
static Chroniclediv (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4, const Chronicle &ch5)
 
static Chronicleconv (const vector< ChronicleBox > &chronicles)
 
static Chronicleconv (const Chronicle &ch1, const Chronicle &ch2)
 
static Chronicleconv (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3)
 
static Chronicleconv (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4)
 
static Chronicleconv (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4, const Chronicle &ch5)
 
static Chronicleseq (const Chronicle &ch1, const Chronicle &ch2)
 
static Chronicleseq (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3)
 
static Chronicleseq (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4)
 
static Chronicleseq (const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4, const Chronicle &ch5)
 
static Chronicleseq (const vector< ChronicleBox > &chronicles)
 
static Chroniclecomb (Chronicle::ChronicleType type, const Chronicle &ch1, const Chronicle &ch2)
 
static Chroniclecomb (Chronicle::ChronicleType type, const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3)
 
static Chroniclecomb (Chronicle::ChronicleType type, const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4)
 
static Chroniclecomb (Chronicle::ChronicleType type, const Chronicle &ch1, const Chronicle &ch2, const Chronicle &ch3, const Chronicle &ch4, const Chronicle &ch5)
 
static Chroniclecomb (Chronicle::ChronicleType type, const vector< ChronicleBox > &chronicles)
 
static void destroy ()
 
- Static Public Member Functions inherited from Diades::Petri::Net
static string typeName ()
 

Static Public Attributes

static vector< Chronicle * > _chronicles
 

Private Member Functions

void sequence (const vector< ChronicleBox > &chronicles)
 
void divergence (const vector< ChronicleBox > &chronicles)
 
void convergence (const vector< ChronicleBox > &chronicles)
 

Private Attributes

set< Place_oks
 
set< Place_kos
 
set< Place_init
 
ChronicleType _type
 

Additional Inherited Members

- 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 16 of file Chronicle.hh.

Member Typedef Documentation

◆ ChronicleBox

Definition at line 22 of file Chronicle.hh.

◆ Exception

Definition at line 20 of file Chronicle.hh.

Member Enumeration Documentation

◆ ChronicleType

Enumerator
Basic 
Sequence 
Divergence 
Convergence 

Definition at line 21 of file Chronicle.hh.

Constructor & Destructor Documentation

◆ Chronicle() [1/4]

Diades::Petri::Chronicle::Chronicle ( )

◆ Chronicle() [2/4]

Diades::Petri::Chronicle::Chronicle ( const Event event,
int  minTime 
)

◆ Chronicle() [3/4]

Diades::Petri::Chronicle::Chronicle ( const Event event,
int  minTime,
int  maxTime,
bool  presence 
)

◆ Chronicle() [4/4]

Diades::Petri::Chronicle::Chronicle ( const vector< ChronicleBox > &  chronicles,
ChronicleType  type 
)

Member Function Documentation

◆ beginOfPlaces()

TimeNet::PlaceIterator Diades::Petri::Chronicle::beginOfPlaces ( ) const
inline

Definition at line 49 of file Chronicle.hh.

◆ beginOfTransitions()

TimeNet::TransitionIterator Diades::Petri::Chronicle::beginOfTransitions ( ) const
inline

Definition at line 58 of file Chronicle.hh.

◆ comb() [1/5]

static Chronicle& Diades::Petri::Chronicle::comb ( Chronicle::ChronicleType  type,
const Chronicle ch1,
const Chronicle ch2 
)
static

◆ comb() [2/5]

static Chronicle& Diades::Petri::Chronicle::comb ( Chronicle::ChronicleType  type,
const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3 
)
static

◆ comb() [3/5]

static Chronicle& Diades::Petri::Chronicle::comb ( Chronicle::ChronicleType  type,
const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4 
)
static

◆ comb() [4/5]

static Chronicle& Diades::Petri::Chronicle::comb ( Chronicle::ChronicleType  type,
const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4,
const Chronicle ch5 
)
static

◆ comb() [5/5]

static Chronicle& Diades::Petri::Chronicle::comb ( Chronicle::ChronicleType  type,
const vector< ChronicleBox > &  chronicles 
)
static

◆ conv() [1/5]

static Chronicle& Diades::Petri::Chronicle::conv ( const vector< ChronicleBox > &  chronicles)
static

◆ conv() [2/5]

static Chronicle& Diades::Petri::Chronicle::conv ( const Chronicle ch1,
const Chronicle ch2 
)
static

◆ conv() [3/5]

static Chronicle& Diades::Petri::Chronicle::conv ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3 
)
static

◆ conv() [4/5]

static Chronicle& Diades::Petri::Chronicle::conv ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4 
)
static

◆ conv() [5/5]

static Chronicle& Diades::Petri::Chronicle::conv ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4,
const Chronicle ch5 
)
static

◆ convergence()

void Diades::Petri::Chronicle::convergence ( const vector< ChronicleBox > &  chronicles)
private

◆ destroy()

static void Diades::Petri::Chronicle::destroy ( )
static

◆ div() [1/5]

static Chronicle& Diades::Petri::Chronicle::div ( const vector< ChronicleBox > &  chronicles)
static

◆ div() [2/5]

static Chronicle& Diades::Petri::Chronicle::div ( const Chronicle ch1,
const Chronicle ch2 
)
static

◆ div() [3/5]

static Chronicle& Diades::Petri::Chronicle::div ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3 
)
static

◆ div() [4/5]

static Chronicle& Diades::Petri::Chronicle::div ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4 
)
static

◆ div() [5/5]

static Chronicle& Diades::Petri::Chronicle::div ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4,
const Chronicle ch5 
)
static

◆ divergence()

void Diades::Petri::Chronicle::divergence ( const vector< ChronicleBox > &  chronicles)
private

◆ endOfPlaces()

TimeNet::PlaceIterator Diades::Petri::Chronicle::endOfPlaces ( ) const
inline

Definition at line 54 of file Chronicle.hh.

◆ endOfTransitions()

TimeNet::TransitionIterator Diades::Petri::Chronicle::endOfTransitions ( ) const
inline

Definition at line 63 of file Chronicle.hh.

◆ event() [1/2]

static Chronicle& Diades::Petri::Chronicle::event ( const Event event,
int  minTime 
)
static

◆ event() [2/2]

static Chronicle& Diades::Petri::Chronicle::event ( const Event event,
int  minTime,
int  maxTime 
)
static

◆ getEvent()

const Event& Diades::Petri::Chronicle::getEvent ( Transition  t) const
inline
Parameters
ta Transition of the PetriNet
Returns
the event associated to the transition t

Definition at line 118 of file Chronicle.hh.

◆ init()

const set<Place>& Diades::Petri::Chronicle::init ( ) const
inline

Definition at line 167 of file Chronicle.hh.

◆ isInit()

bool Diades::Petri::Chronicle::isInit ( Place  p) const
inline

Definition at line 178 of file Chronicle.hh.

◆ isKo()

bool Diades::Petri::Chronicle::isKo ( Place  p) const
inline

Definition at line 162 of file Chronicle.hh.

◆ isOk()

bool Diades::Petri::Chronicle::isOk ( Place  p) const
inline

Definition at line 152 of file Chronicle.hh.

◆ labelOfPlace()

const string& Diades::Petri::Chronicle::labelOfPlace ( Place  p) const
inline

Definition at line 67 of file Chronicle.hh.

◆ net2Dot()

virtual void Diades::Petri::Chronicle::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::TimeNet.

◆ net2Tina() [1/2]

virtual void Diades::Petri::Chronicle::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.

◆ net2Tina() [2/2]

virtual void Diades::Petri::Chronicle::net2Tina ( const string &  name) const
inlinevirtual

Reimplemented from Diades::Petri::TimeNet.

Definition at line 187 of file Chronicle.hh.

◆ noevent()

static Chronicle& Diades::Petri::Chronicle::noevent ( const Event event,
int  minTime,
int  maxTime 
)
static

◆ numberOfPlaces()

size_t Diades::Petri::Chronicle::numberOfPlaces ( ) const
inline
Returns
the number of transitions

Definition at line 141 of file Chronicle.hh.

◆ numberOfTransitions()

size_t Diades::Petri::Chronicle::numberOfTransitions ( ) const
inline
Returns
the number of transitions

Definition at line 130 of file Chronicle.hh.

◆ postBegin()

TimeNet::ConstIterator Diades::Petri::Chronicle::postBegin ( const Transition transition) const
inline
Parameters
transitiona Transition
Returns
start iterator on post(t)

Definition at line 97 of file Chronicle.hh.

◆ postEnd()

TimeNet::ConstIterator Diades::Petri::Chronicle::postEnd ( const Transition transition) const
inline
Parameters
transitiona Transition
Returns
end iterator on post(t)

Definition at line 108 of file Chronicle.hh.

◆ preBegin()

TimeNet::ConstIterator Diades::Petri::Chronicle::preBegin ( const Transition transition) const
inline
Parameters
transitiona Transition
Returns
start iterator on pre(t)

Definition at line 77 of file Chronicle.hh.

◆ preEnd()

TimeNet::ConstIterator Diades::Petri::Chronicle::preEnd ( const Transition transition) const
inline
Parameters
transitiona Transition
Returns
end iterator on pre(t)

Definition at line 87 of file Chronicle.hh.

◆ seq() [1/5]

static Chronicle& Diades::Petri::Chronicle::seq ( const Chronicle ch1,
const Chronicle ch2 
)
static

◆ seq() [2/5]

static Chronicle& Diades::Petri::Chronicle::seq ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3 
)
static

◆ seq() [3/5]

static Chronicle& Diades::Petri::Chronicle::seq ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4 
)
static

◆ seq() [4/5]

static Chronicle& Diades::Petri::Chronicle::seq ( const Chronicle ch1,
const Chronicle ch2,
const Chronicle ch3,
const Chronicle ch4,
const Chronicle ch5 
)
static

◆ seq() [5/5]

static Chronicle& Diades::Petri::Chronicle::seq ( const vector< ChronicleBox > &  chronicles)
static

◆ sequence()

void Diades::Petri::Chronicle::sequence ( const vector< ChronicleBox > &  chronicles)
private

◆ setInit()

void Diades::Petri::Chronicle::setInit ( Place  p)
inline

Definition at line 172 of file Chronicle.hh.

◆ setKo()

void Diades::Petri::Chronicle::setKo ( Place  p)
inline

Definition at line 157 of file Chronicle.hh.

◆ setOk()

void Diades::Petri::Chronicle::setOk ( Place  p)
inline

Definition at line 147 of file Chronicle.hh.

◆ type()

ChronicleType Diades::Petri::Chronicle::type ( ) const
inline

Definition at line 31 of file Chronicle.hh.

◆ typeName()

static std::string Diades::Petri::Chronicle::typeName ( )
inlinestatic

Definition at line 19 of file Chronicle.hh.

Member Data Documentation

◆ _chronicles

vector<Chronicle *> Diades::Petri::Chronicle::_chronicles
static

Definition at line 197 of file Chronicle.hh.

◆ _init

set<Place> Diades::Petri::Chronicle::_init
private

Definition at line 27 of file Chronicle.hh.

◆ _kos

set<Place> Diades::Petri::Chronicle::_kos
private

Definition at line 26 of file Chronicle.hh.

◆ _oks

set<Place> Diades::Petri::Chronicle::_oks
private

Definition at line 25 of file Chronicle.hh.

◆ _type

ChronicleType Diades::Petri::Chronicle::_type
private

Definition at line 28 of file Chronicle.hh.


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