-
Notifications
You must be signed in to change notification settings - Fork 1
Simulation Scenario
A scenario defines which issues are injected to which elements of the architecture in each simulation round. Thus, it specifies the simulation. A simulation round consists of three steps:
- injecting issues into the model and thus to the architecture
- running the adaptation engine to perform self-adaptation to handle these issues
- validating the self-adaptation and the model
Thus, a simulation scenario defines the first step of each simulation round. In each simulation round, the simulator consults the strategy to obtain a list of injections that should be performed in this round. A single injection defines the Injector
(and thus, the issue) to be used as well as the target architectural element in the CompArch model to which the issue should be injected. After obtaining the list of designated injections from the scenario, the simulator executes the injectors on the corresponding target elements and thus performs the issue injections.
A scenario is defined by implementing the interface de.mdelab.simulator.Scenario
. It can be deterministic or may contain probabilistic/random injections. Deterministic scenarios are needed when repeating experiments for evaluations or when testing the adaptation engine.
The example solutions provide scenarios for initial simulations.
mRUBiS Exemplar by Thomas Vogel (2018)