|
|
||||||
|
Simulation Condition Attributes Detailed DescriptionAttributes 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>
</StateCondition>
% halt simulation when the machine is down
% however, the condition is disabled
"DownCond"
+Break+
+Disabled+
<StateCondition>
</StateCondition>
% monitor how long the prozessing one work piece takes
"OperationCond"
<EventCondition>
<StartEvents> "alpha" </StartEvents>
<StopEvents> "beta" </StopEvents>
</EventCondition>
</Conditions>
libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |