Simulation Condition Attributes

Detailed Description

Attributes to define simulation conditions used for statistic analysis of simulation runs.

Attribute for a simulation condition. In order to extract statistical data from a simulation by a LoggingExecutor or some derived class, so called simulation conditions are defined. At any instance of time, a condition is satisfied or dissatisfied. Statistical data can then be requested regarding the period and duration of each condition. Currently, two types of conditions are available:

A Condition may be flagged as a break condition to halt simulation when satisfied. A condition may be enabled for tracking or not.

The class AttributeSimCondition summarizes all data to represent faudes simulation conditions. It also holds some state of the condition wrt execution and provides an interface for sampling. The latter may be seperated to a different class in a future revision. The class AttributeSimCondition does, however, not implement any test whether or not a condition is satisfied. This is done by the LoggingExecutor.

As a faudes attribute, conditions can be referenced by names via the std faudes container TaNameSet. For token io, a ParallelExecutor should be provided as context to access symbolic state names. The file format of a set of events equipped with condition attributes is illustrated by the below example to monitor some performance aspects of one simple machine:

<Conditions>
% monitor when the machine is idle
"IdleCond"
<StateCondition>
<StateSet> "idle" </StateSet>
</StateCondition>
% halt simulation when the machine is down
% however, the condition is disabled
"DownCond"
+Break+
+Disabled+
<StateCondition>
<StateSet> "down" </StateSet>
</StateCondition>
% monitor how long the prozessing one work piece takes
"OperationCond"
<EventCondition>
<StartEvents> "alpha" </StartEvents>
<StopEvents> "beta" </StopEvents>
</EventCondition>
</Conditions>
IndexSet StateSet
Definition: cfl_indexset.h:271

Classes

class  faudes::SimEventCondition
 Defining data of event based simulation condition. More...
 
class  faudes::SimStateCondition
 Defining data of state based simulation condition. More...
 
class  faudes::AttributeSimCondition
 Attribute for a simulation condition. More...
 
class  faudes::SimConditionSet
 Set of simulation named conditions. More...
 

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen