PalladioSimulator / Palladio-Analyzer-Slingshot

0 stars 1 forks source link

Multiple simulation runs with more child injectors #8

Closed stiesssh closed 1 year ago

stiesssh commented 1 year ago

Replacement for PR #7.

Current behavior: Slingshot cannot execute multiple, successive simulation runs, among others because the models do not get updated.

New behavior: Slingshot can execute arbitrary many successive simulation runs on various models :)

Major Changes:

  1. do not skip the init operation of SlinghotSimulationDriver. if we do not re-init the driver, the extensions are not recreated and the models already injected in the extensions are not updated and we cannot rerun on different models.

  2. Add one additional level of childInjectors to inject a fresh Engine and Driver for each simulation run.
    prevents the atrocities i commited to the engine in PR #7.

  3. add an operation to delay the binding to a provider. Instead of binding the IGenericCalculatorFactory and ProbeFrameworkContext when configuring the MonitorModule, save it and only acutally bind when configuring the respective container. Cannot bind them directly (and system wide) because they need a SimulationScheduling which is after 2. above not available a system level

Minor Changes:

Misc

related to https://github.com/PalladioSimulator/Palladio-Analyzer-Slingshot-Extension-Monitoring/pull/5.

if this is merged/rejected, the other PR should be handled in accordance.