Class simulation_framework::core::lifecycle::SimulationInstance
Last update: 22.04.2026
Definition: core/lifecycle/simulation_instance/simulation_instance.h (line 36)
class SimulationInstance
SimulationInstance combines the basic interface of ISimulationInstance with the usage of an abstract ActivityFactory and Scheduler. It contains the activities defined in the scheduling config, if they are registered in the ActivityFactory.
Inherits from:
Members
- GetSimulationBaseCycleTime
- GetSimulationDuration
- Init
- IsPauseRequested
- IsSimulationFinished
- Reset
- SimulationInstance
- SimulationInstance
- StepOnce
- ~ISimulationInstance
- ~SimulationInstance
Public functions
Function SimulationInstance
simulation_framework::core::lifecycle::SimulationInstance::SimulationInstance(std::unique_ptr< IActivityFactory > activity_factory, std::shared_ptr< core::time::IClock > sim_clock, std::unique_ptr< time::ISimulationCompletionChecker > sim_state_checker, const core::StandaloneInitData &standalone_init_data, const core::SimulationParameters &core_parameters)
Constructor for SimulationInstance, which initializes the simulation instance with specific SimulationParameter values.
Parameters:
- activity_factory: A unique pointer to an IActivityFactory instance.
- sim_clock: A shared pointer to an IClock instance, which provides the simulation clock.
- sim_state_checker: A unique pointer to an ISimulationCompletionChecker instance, which checks if the simulation is complete.
- standalone_init_data: A StandaloneInitData object containing initialization data for standalone activities.
- core_parameters: A SimulationParameters object containing core simulation parameters.
?> The CliParser can be used to create the SimulationParameters object, which can be passed to this constructor.
Parameters:
- std::unique_ptr< IActivityFactory > activity_factory
- std::shared_ptr< core::time::IClock > sim_clock
- std::unique_ptr< time::ISimulationCompletionChecker > sim_state_checker
- const core::StandaloneInitData & standalone_init_data
- const core::SimulationParameters & core_parameters
Return type:
Function SimulationInstance
simulation_framework::core::lifecycle::SimulationInstance::SimulationInstance(std::unique_ptr< IActivityFactory > activity_factory, std::shared_ptr< core::time::IClock > sim_clock, std::unique_ptr< time::ISimulationCompletionChecker > sim_state_checker, const core::StandaloneInitData &standalone_init_data, const std::string &scheduling_config_path, const logging::LogLevel log_level=logging::LogLevel::kDebug)
Constructor for SimulationInstance where most of the SimulationParameters are the default values.
Parameters:
- activity_factory: A unique pointer to an IActivityFactory instance.
- sim_clock: A shared pointer to an IClock instance, which provides the simulation clock.
- sim_state_checker: A unique pointer to an ISimulationCompletionChecker instance, which checks if the simulation is complete.
- standalone_init_data: A StandaloneInitData object containing initialization data for standalone activities.
- scheduling_config_path: A string representing the path to the scheduling configuration file.
- log_level: The logging level for the simulation, defaulting to Debug.
Parameters:
- std::unique_ptr< IActivityFactory > activity_factory
- std::shared_ptr< core::time::IClock > sim_clock
- std::unique_ptr< time::ISimulationCompletionChecker > sim_state_checker
- const core::StandaloneInitData & standalone_init_data
- const std::string & scheduling_config_path
- const logging::LogLevel log_level = logging::LogLevel::kDebug
Return type:
Function ~SimulationInstance
simulation_framework::core::lifecycle::SimulationInstance::~SimulationInstance()
Return type:
Function Init
void simulation_framework::core::lifecycle::SimulationInstance::Init() override
Initialize based on user config and turn the instance to ready state.
Return type: void
Reimplements: Init
Function StepOnce
void simulation_framework::core::lifecycle::SimulationInstance::StepOnce() override
Step the simulation based on base cycle time.
Return type: void
Reimplements: StepOnce
Function Reset
void simulation_framework::core::lifecycle::SimulationInstance::Reset() override
provides the reset to SimRunner to let the simulation back to init state
Return type: void
Reimplements: Reset
Function IsSimulationFinished
bool simulation_framework::core::lifecycle::SimulationInstance::IsSimulationFinished() override
indicates whether this run if simulation reaches the end
Return type: bool
Reimplements: IsSimulationFinished
Function IsPauseRequested
bool simulation_framework::core::lifecycle::SimulationInstance::IsPauseRequested() override
indicates whether pause is requested
Return type: bool
Reimplements: IsPauseRequested
Function GetSimulationDuration
std::chrono::milliseconds simulation_framework::core::lifecycle::SimulationInstance::GetSimulationDuration() const override
return the duration of the simulation in milliseconds
Return type: std::chrono::milliseconds
Reimplements: GetSimulationDuration
Function GetSimulationBaseCycleTime
std::chrono::milliseconds simulation_framework::core::lifecycle::SimulationInstance::GetSimulationBaseCycleTime() const override
return the base cycle time of the simulation in milliseconds, which usually is the greatest common divisor of all activity cycle times
Return type: std::chrono::milliseconds
Reimplements: GetSimulationBaseCycleTime