faudes::SimEventAttribute Class Reference
|
Public Member Functions | |
SimEventAttribute (void) | |
Default constructor. | |
SimEventAttribute (const SimEventAttribute &rSrc) | |
Copy constructor. | |
virtual bool | IsDefault (void) const |
Test for default value. | |
bool | IsStochastic (void) const |
Test for stochastic property. | |
bool | IsPriority (void) const |
Test for priority property. | |
void | Stochastic (const SimStochasticEventAttribute &rStochasticAttribute) |
Set stochastic behaviour. | |
void | Priority (const SimPriorityEventAttribute &rPriorityAttribute) |
Set priority behaviour. | |
const SimPriorityEventAttribute & | Priority (void) const |
Get priority attribute. | |
const SimStochasticEventAttribute & | Stochastic (void) const |
Get stochastic attribute. | |
std::string | Str (void) const |
Debug string, incl state. | |
Public Attributes | |
tpTime::Type | mScheduledFor |
Next scheduled occurence of this event relative to current time. | |
tpTime::Type | mExpiresAt |
Time at which the recent schedule expires. | |
tpTime::Type | mDelayFor |
Amount of time to defer the event. | |
TimeInterval | mReferenceInterval |
Time domain on which the recent schedule was computed. | |
Protected Member Functions | |
void | DoAssign (const SimEventAttribute &rSrcAttr) |
Assignment method. | |
bool | DoEqual (const SimEventAttribute &rOther) const |
Test equality. | |
virtual void | DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0) |
Reads the attribute from TokenReader, see AttributeVoid for public wrappers. | |
virtual void | DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
Writes the attribute to TokenWriter, see AttributeVoid for public wrappers. | |
Protected Attributes | |
bool | mStochastic |
Indicate precense of stochastic behaviour. | |
bool | mPriority |
Indicate precense of priority property. | |
SimPriorityEventAttribute | mPriorityAttribute |
Priority definition data. | |
SimStochasticEventAttribute | mStochasticAttribute |
Stochastic definition data. |
Attribute for an event in the context of simulation.
When simulating one or more generators, at each instance of time there will be one or more transitions enabled. In order resolve this non-determinism in a defined way, each event may be equipped with either one of the following properties.
Note that the SimEventAttribute just holds the data to define the properties, a semantic implementation is in faudes::ProposingExecutor. The current implementation also stores simulation state data (ie evaluations of random variables), but this is likely to change in a future revision.
As a faudes attribute, SimEventAttribute provides token io and is prepared for the use in the context of a faudes container. The file format of a set of events equipped with simulation attributes is illustrated by the below example for the simulation of a simple machine:
<SimEvents> % machine start: prioritised event with priority 100 "alpha" <Priority> 100 </Priority> % machine finsh: gauss distributed event with mue=10 and sigma=5, relative to guard "beta" <Stochastic> +Trigger+ +Gauss+ <Parameter> 10 5 </Parameter> </Stochastic> % break down: gauss distributed event with mue=20 and sigma=5, relative to enabled time "mue" <Stochastic> +Delay+ +Gauss+ <Parameter> 20 5 </Parameter> </Stochastic> % machine repair: prioritised event with priority 100 "lambda" <Priority> 100 </Priority> </SimEvents>
Definition at line 149 of file sp_simeventset.h.
faudes::SimEventAttribute::SimEventAttribute | ( | void | ) | [inline] |
Default constructor.
Construct a SimEventAttribute with priority 0.
Definition at line 159 of file sp_simeventset.h.
faudes::SimEventAttribute::SimEventAttribute | ( | const SimEventAttribute & | rSrc | ) | [inline] |
Copy constructor.
Definition at line 165 of file sp_simeventset.h.
void faudes::SimEventAttribute::DoAssign | ( | const SimEventAttribute & | rSrcAttr | ) | [protected] |
Assignment method.
rSrcAttr | Source to assign from |
Definition at line 19 of file sp_simeventset.cpp.
bool faudes::SimEventAttribute::DoEqual | ( | const SimEventAttribute & | rOther | ) | const [protected] |
Test equality.
rOther | Attribute to compare with |
Definition at line 36 of file sp_simeventset.cpp.
void faudes::SimEventAttribute::DoRead | ( | TokenReader & | rTr, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | [protected, virtual] |
Reads the attribute from TokenReader, see AttributeVoid for public wrappers.
If the current token indicates a simulation event section, the method reads all consecutive simulation attributes. Else it does nothing. Exceptions may only be thrown on invalid data within the section. The label argument is ignored, we use hardcoded keywords for the four attributes. The context argument is ignored.
rTr | TokenReader to read from | |
rLabel | Section to read | |
pContext | Read context to provide contextual information |
Exception |
|
Reimplemented from faudes::AttributeCFlags.
Definition at line 84 of file sp_simeventset.cpp.
void faudes::SimEventAttribute::DoWrite | ( | TokenWriter & | rTw, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | const [protected, virtual] |
Writes the attribute to TokenWriter, see AttributeVoid for public wrappers.
Writes all present simulation event attributes to include the defining data. The label argument is ignored, we use hardcoded keywords. The context argument is ignored.
rTw | TokenWriter to write to | |
rLabel | Section to write | |
pContext | Read context to provide contextual information |
Exception |
|
Reimplemented from faudes::AttributeCFlags.
Definition at line 50 of file sp_simeventset.cpp.
virtual bool faudes::SimEventAttribute::IsDefault | ( | void | ) | const [inline, virtual] |
Test for default value.
Reimplemented from faudes::AttributeCFlags.
Definition at line 174 of file sp_simeventset.h.
bool faudes::SimEventAttribute::IsPriority | ( | void | ) | const [inline] |
Test for priority property.
Definition at line 191 of file sp_simeventset.h.
bool faudes::SimEventAttribute::IsStochastic | ( | void | ) | const [inline] |
Test for stochastic property.
Definition at line 183 of file sp_simeventset.h.
const SimPriorityEventAttribute& faudes::SimEventAttribute::Priority | ( | void | ) | const [inline] |
Get priority attribute.
Note that the return value is only meaningful if the attribute actually is a priority attribute.
Definition at line 223 of file sp_simeventset.h.
void faudes::SimEventAttribute::Priority | ( | const SimPriorityEventAttribute & | rPriorityAttribute | ) | [inline] |
Set priority behaviour.
Define this attribute to indicate execution with the specified priority.
rPriorityAttribute | Define stochastic behaviour |
Definition at line 211 of file sp_simeventset.h.
const SimStochasticEventAttribute& faudes::SimEventAttribute::Stochastic | ( | void | ) | const [inline] |
Get stochastic attribute.
Note that the return value is only meaningful if the attribute defines stochastic behaviour.
Definition at line 233 of file sp_simeventset.h.
void faudes::SimEventAttribute::Stochastic | ( | const SimStochasticEventAttribute & | rStochasticAttribute | ) | [inline] |
Set stochastic behaviour.
Define this attribute to indicate the specified stochastic bahaviour.
rStochasticAttribute | Define stochastic behaviour |
Definition at line 200 of file sp_simeventset.h.
std::string faudes::SimEventAttribute::Str | ( | void | ) | const |
Debug string, incl state.
Definition at line 206 of file sp_simeventset.cpp.
Amount of time to defer the event.
This is part of the execution state. It is used for events of delay type and is a count down type alarm to trigger the event.
Definition at line 253 of file sp_simeventset.h.
Time at which the recent schedule expires.
This is part of the execution state. Once a schedule expires, the event is re-scheduled.
Definition at line 246 of file sp_simeventset.h.
bool faudes::SimEventAttribute::mPriority [protected] |
Indicate precense of priority property.
Definition at line 273 of file sp_simeventset.h.
Priority definition data.
Definition at line 276 of file sp_simeventset.h.
Time domain on which the recent schedule was computed.
This is part of the execution state. It is used to invalidate schedules for events of trigger type.
Definition at line 259 of file sp_simeventset.h.
Next scheduled occurence of this event relative to current time.
This is part of the execution state. It indicates the instance of time for which the respective event is scheduled to occur. Schedules, however, may expire or otherwise become invalid.
Definition at line 233 of file sp_simeventset.h.
bool faudes::SimEventAttribute::mStochastic [protected] |
Indicate precense of stochastic behaviour.
Definition at line 270 of file sp_simeventset.h.
Stochastic definition data.
Definition at line 279 of file sp_simeventset.h.
libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen