Simulator Plug-In

Detailed Description

This plug-in provides classes to support the simulation of faudes generators. It is organized in a hierarchical fashion to introduce the following features:

  • the faudes::Executor is a timed generator that tracks its current state and indicates which events are currently enabled and/or how much time may pass
  • the faudes::ParallelExecutor is a vector of Executors with synchronized shared events and provides the same interface as the Executor regarding enabled events
  • the faudes::LoggingExecutor is a ParallelExecutor that logs state and event data for statistical analysis
  • the faudes::ProposingExecutor is a LoggingExecutor that proposes which event to execute based on stochastic event properties or priorities
  • the faudes::DeviceExecutor is a ProposingExecutor that synchronizes with physical time and invokes callbacks for hardware-in-the-loop simulation (IO Device plugin required)

The tutorial simfaudes.cpp demonstrates the use of the ProposingExecutor in a simple interactive simulator for the synchronous product of faudes generators.

License

The current implementation of the simulator plugin is a re-design based on Ruediger Berndt's and Christoph Doerr's student projects. It is distributed with libFAUDES and under the terms of the LGPL.


Copyright (c) 2008, Thomas Moor.

Modules

 Random Variables
 
 Simulation Condition Attributes
 
 
 Simulation Event Attributes
 
 

Classes

class  faudes::DeviceExecutor
 
class  faudes::Executor
 
class  faudes::LoggingExecutor
 
class  faudes::ParallelExecutor
 
class  faudes::ProposingExecutor
 

libFAUDES 2.33h --- 2025.06.18 --- c++ api documentaion by doxygen