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.
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.