1 #ifndef __DIADES__PETRI__CHRONICLE_HH_ 2 #define __DIADES__PETRI__CHRONICLE_HH_ 12 using namespace Utils;
19 static std::string
typeName() {
return "Chronicle"; }
37 Chronicle(
const Event & event,
int minTime,
int maxTime,
bool presence);
38 Chronicle(
const vector< ChronicleBox > & chronicles, ChronicleType type);
41 void sequence(
const vector< ChronicleBox > & chronicles);
42 void divergence(
const vector< ChronicleBox > & chronicles);
43 void convergence(
const vector< ChronicleBox > & chronicles);
51 return TimeNet::beginOfPlaces();
56 return TimeNet::endOfPlaces();
60 return TimeNet::beginOfTransitions();
65 return TimeNet::endOfTransitions();
69 return TimeNet::labelOfPlace(p);
79 return TimeNet::preBegin(transition);
89 return TimeNet::preEnd(transition);
99 return TimeNet::postBegin(transition);
110 return TimeNet::postEnd(transition);
120 return TimeNet::getEvent(t);
132 return TimeNet::numberOfTransitions();
143 return TimeNet::numberOfPlaces();
154 return _oks.find(p) != _oks.end();
164 return _kos.find(p) != _kos.end();
167 const set<Place> &
init()
const 180 return _init.find(p) != _init.end();
185 virtual void net2Tina(ostream & os)
const;
189 ofstream file(name.c_str());
194 virtual void net2Dot(
const string & name)
const;
200 static Chronicle & event(
const Event & event,
int minTime,
int maxTime);
201 static Chronicle & noevent(
const Event & event,
int minTime,
int maxTime);
203 static Chronicle & div(
const vector< ChronicleBox > & chronicles);
212 static Chronicle & conv(
const vector< ChronicleBox > & chronicles);
232 static Chronicle & seq(
const vector< ChronicleBox > & chronicles);
243 static void destroy();
TimeNet::ConstIterator postEnd(const Transition &transition) const
ChronicleType type() const
size_t numberOfTransitions() const
static std::string typeName()
Diades::Graph::Node Transition
Diades::Utils::Exception< Chronicle > Exception
Diades::Graph::Node Place
TimeNet::TransitionIterator endOfTransitions() const
TimeNet::ConstIterator preBegin(const Transition &transition) const
DdAutFsm::EventPropertyId Event
TimeNet::ConstIterator postBegin(const Transition &transition) const
Namespace of the Diades project.
static vector< Chronicle * > _chronicles
TimeNet::PlaceIterator beginOfPlaces() const
Diades::Utils::Box< Chronicle const > ChronicleBox
const Event & getEvent(Transition t) const
TimeNet::TransitionIterator beginOfTransitions() const
Iterators over the places or the transitions of the Net.
TimeNet::ConstIterator preEnd(const Transition &transition) const
virtual void net2Tina(const string &name) const
Definition of the Box Utils.
const set< Place > & init() const
const string & labelOfPlace(Place p) const
bool isInit(Place p) const
TimeNet::PlaceIterator endOfPlaces() const
size_t numberOfPlaces() const
A Box is a container that contains at most a reference to an object.