Run Target activation#
The Control interface (logic_arc_int__lifecycle__controlif), provided by the Launch Manager, offers control functionality for activating and managing run targets. It allows users to trigger execution of configured Run Targets through a standardized activation mechanism.
Switching between Run Targets#
The Launch Manager allows switching between different Run Targets. When a switch is requested, the Launch Manager evaluates the current state and the target state, determining which components need to be started or stopped based on their dependencies.
Activating a Run Target
When a request to activate a Run Target is received via the Control interface (logic_arc_int__lifecycle__controlif), the Launch Manager shall perform the following operations:
Validation: Evaluate if the conditions are correct for activating the requested Run Target:
The Run Target exists in the configuration
All dependencies for the Run Target are resolvable
Required resources are available
Transition Logic: Determine the transition from the current state to the target state:
If a different Run Target is active, perform a switch operation (stop current, start requested)
If the same Run Target is already active, no further actions are required
Execution: Execute the transition in the correct dependency order:
Stop components that are not part of the new Run Target
Start components that are required for the new Run Target
Respect dependency relationships during both stop and start operations
Response: Return status to the caller:
Success if all components transitioned correctly
Failure with detailed error information if any component failed to transition
This unified approach allows external state managers to request any Run Target activation without needing to know the current system state, as the Launch Manager handles the transition logic internally.
Interface#
The control interface is defined here: logic_arc_int__lifecycle__controlif The Launch Manager provides an interface, which allows an external State Manager application to request the Launch Manager to switch the active Run Target (leading to start, stop or restart of applications) which allows the implementation of a state management application to support dynamic state control.
The Control interface (logic_arc_int__lifecycle__controlif) provides two modes of requesting a Run Target activation:
Queued Activation
In this mode, requests to activate a Run Target are placed in a queue and processed sequentially by the Launch Manager. A State Manager can issue multiple Run Target transition requests and they will be executed sequentially by the Launch Manager. If any Run Target activation fails, the queue is cleared.
Forced Activation
In this mode, any in-progress Run Target activation is cancelled, any queued requests are removed and the newly request Run Target activation is executed immediately.
Dynamic architecture#
The sequence diagrams below are based on the example dependency graph.
Switch Run Target Scenario - State Manager Startup
|
status: valid
security: YES
safety: ASIL_B
|
||||
During startup the State Manager registers an activation callback with the Launch Manager to be notified about future Run Target changes. The State Manager can query at any time the currently active Run Target. During an ongoing transition, it will be informed that the system is in transition and no Run Target is active yet. After a transition is completed, the State Manager is notified via the previously registered callback about the new active Run Target. Queries for the currently active Run Target will now return the newly activated Run Target. |
|||||
Switch Run Target Scenario - Queued Activation
|
status: valid
security: YES
safety: ASIL_B
|
||||
The State Manager queues Run Target activations for “Running” and “Full” state. The Launch Manager will process these queued activations in the order they were received. At first the Launch Manager transitions to Run Target “Running” and subsequently to Run Target “Full”. |
|||||
Switch Run Target Scenario - Forced Activation
|
status: valid
security: YES
safety: ASIL_B
|
||||
The State Manager queues Run Target activations for “Running” and “Full” state. During activation of Run Target “Running”, the State Manager sends a new forced request for Run Target “Off”. The Launch Manager aborts the current transition and initiates the transition to Run Target “Off”. |
|||||