Requirements#
Launching Processes#
Support for launching processes
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for launching Processes. |
|||||
Process dependency handling
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for ordering the launching of Processes based on the dependencies. |
|||||
Launching processes in parallel
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for launching Processes in parallel. |
|||||
Control interface support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support to wait for configurable custom conditions, which can be signaled from applications via Control Interface. |
|||||
Forward process information
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support to pass the output of one or multiple Processes as input arguments to another process. |
|||||
Handling process args
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given set of arguments. |
|||||
Launching process in debug mode
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching process with a given set of debug arguments in debug mode. |
|||||
Launching process in state waiting for a debugger connection
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process in a state waiting for a debugger connection. |
|||||
Process user, group IDs support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given UID/GID (user name/Group Identifier). |
|||||
Process priority support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given priority. |
|||||
CWD support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given Working Directory. |
|||||
Launching terminal
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a terminal or a session leader. |
|||||
Standard handle redirection
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for stdin, stdout, stderr redirection. |
|||||
Non-root support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support to be started with security policy as non-root. |
|||||
Configurable amount of retries
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall support a configurable amount of retries in case error occurs during startup of a component (e.g. file not available) occurs. |
|||||
Process capability support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching Processes with configured OS-specific capabilities and privileges. |
|||||
File descriptor inheritance support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with given File Descriptor inheritance restrictions. |
|||||
Security policy support
|
status: valid
security: YES
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given security policy. |
|||||
Supplementary group support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given set of supplementary groups. |
|||||
Scheduling support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with certain scheduling policy. |
|||||
CPU runmask support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given runmask. |
|||||
ASLR support
|
status: valid
security: YES
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching process with ASLR (Address Space Layout Randomization). |
|||||
Resource limit support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process with a given set of system resource limits (rlimit). |
|||||
Process detach from parent support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for launching a process to detach from parent. |
|||||
Conditional Launching#
Conditional launching
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide launching processes based on conditions. |
|||||
Conditionally launch of processes
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support to conditionally start a process or process group based on the return value of a single or multiple Processes executed before. |
|||||
Condition timeout
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for per condition configurable total wait time for launch conditions to be satisfied. |
|||||
Conditional launch polling interval
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for per condition configurable Polling Interval for launch conditions to be checked. |
|||||
Pre-start validation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall be able to validate the pre-start conditions of the executable using the conditions. |
|||||
post-start validation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall be able to validate the start of the executable using the conditions. |
|||||
Launched Process status
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a way to store the status of the launched process. |
|||||
Condition check based on status
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a method for condition check based on process state. |
|||||
Configuration of action based on condition evaluation
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a way to configure actions based on condition evaluation i.e. to be able to configure SUCCESS and FAILURE case. |
|||||
Condition check based on path
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a method for condition check for a path. |
|||||
Condition check based on ENV
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a method for condition check for environment variable. |
|||||
Condition check based on all dependency
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a method to check if all dependencies have been executed. |
|||||
Condition check based on at least one dependency
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a method to check if at least one dependency has been executed. |
|||||
Condition check for each SWC its dependencies
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide a way to define for each SWC (Software Components), its dependencies. |
|||||
Process Management#
Process adoption
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be able to control already running Processes. |
|||||
Dropping process responsibility
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support to dropping all surveillance and failure reaction activities of Processes. |
|||||
Multiple instance of executable
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall permit an executable to be launched more than once. |
|||||
Invalid dependency
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall reject an inconsistent definition of set of executables dependencies. |
|||||
Dangling dependency
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall be able to stop a process when all it’s dependents are stopped if specified in the set of executables. |
|||||
Coordination stop dependency
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall permit the stop order of non-dependent processes to be specified. |
|||||
OCI Compliant
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be compliant to the OCI Specification v1.2.0. |
|||||
Run targets#
Run target support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for run targets to define collections of Processes that can be launched together. |
|||||
Launching run target
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be able to start a named Run target. |
|||||
Switch between run targets
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be able to switch between different run targets. |
|||||
Process state
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall have a means for the launched Processes to communicate a state, which represents the launched processes’ internal state, to the launcher. |
|||||
Terminating Processes#
Stop timeout
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for configurable timeout Interval to wait for the process to be stopped. |
|||||
Terminating process
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for terminating Processes. |
|||||
Handling process dependency in termination
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall terminate the Processes based on the dependency order. |
|||||
Configurable delay between SIGTERM and SIGKILL
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall offer a configuration of the time to wait before SIGKILL is sent. In case “0” is stated, the SIGKILL shall be sent immediately. |
|||||
Normal shutdown
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall support normal shutdown by terminating all process in the dependency order. |
|||||
Fast shutdown
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall support fast shutdown by terminating itself without considering the started Processes. |
|||||
Launch Manager shutdown
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall exit after performing shutdown operation by stopping all the Processes it owns in the dependency order when requested. |
|||||
Shutdown signal handling
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall implement a shutdown by sending a SIGTERM to the process. In case the process does not terminate itself, a SIGKILL shall be sent. |
|||||
Control Interface#
Control commands
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for run-target selection. |
|||||
Query commands
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for commands to query component states. |
|||||
Report "started/running/degraded"
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be able to report status on components via the Control Interface. Note: status can be “started/running/degraded” - refer to documentation for details |
|||||
Request run target launch
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be able to start a named Run target respecting the dependencies when requested. |
|||||
Monitoring, Notification and Recovery#
Process crash monitoring
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for monitoring abnormal termination of Processes. |
|||||
Process state notification
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for external monitors to get notified on process life status. |
|||||
Recovery action
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support Recovery Action for the abnormally terminated Processes. |
|||||
Run target switch as recovery action
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support switching to a different Run target as recovery action in case a single process terminated abnormally or lost its Liveliness. |
|||||
Monitoring and recovery: watchdog support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support a smart Watchdog, configurable per process. |
|||||
Monitoring and recovery: recovery wait time
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for configurable wait time that shall elapse before repeating Recovery Action. |
|||||
Monitoring and recovery: adopted process monitoring
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for monitoring adopted Processes. |
|||||
Process launch monitoring
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall be able to detect and react to failure of the process launch. |
|||||
Process liveliness detection
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be able to detect and react to loss of Liveliness of the Processes it owns, by monitoring the state of the Processes as specified by the set of executables. |
|||||
Recovery
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall be able to react to a process failure by optionally performing one of relaunching the process, stopping the process, stopping the process and starting another process, or triggering QNX Operating System (QOS) Device Safe State (DSS). |
|||||
Multi-instance
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall be able to run in multiple instances with its own configurations on a system. |
|||||
Launch manager self health check
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall implement time based cyclical monitoring of itself. |
|||||
Launch manager external watchdog notification
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall trigger a notification to an external Watchdog for each successful self monitoring test execution. |
|||||
Launch manager external watchdog notification - failed test
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall not trigger an external Watchdog notification if an internal health check failed. |
|||||
Launch manager external monitoring configuration
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall support configuring the Interval of the internal health check executions. |
|||||
Health Monitor programing language support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support Rust and C++ programming languages. |
|||||
Health Monitor deadline supervision
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support deadline supervision to allow monitoring timely execution within applications to detect timing violations. |
|||||
Health Monitor logical supervision
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support logical supervision to allow monitoring execution flow within applications to detect logical errors. |
|||||
Health Monitor checkpoint supervision
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support checkpoint supervision to allow monitoring periodic execution within applications to detect failures. |
|||||
Logging#
Logging support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support logging of process launch, monitoring, and configuration activities. |
|||||
Logging slog2 and file support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall support OS specific logging facilities to analyze the early boot sequence. |
|||||
Logging state transitions
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide support for logging process launches, Processes exit/recovery, internal tasks, and interaction with external monitor. |
|||||
Logging timestamp
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager logs shall contain timestamp information. |
|||||
Logging DAG
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall provide the possibility to log the DAG in a human readable format, triggered via Control Interface. |
|||||
Configuration dependency view
|
status: valid
security: NO
safety: QM
|
||||
The Launch Manager shall have the means to log the current dependencies in a format that can be visualized when requested. |
|||||
Configuration file#
Configuration file support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall support modular configuration files to configure process attributes, including configurations coming from external formats such as OCI runtime configuration. |
|||||
Configuration file support
|
status: valid
security: NO
safety: ASIL_B
|
||||
The launch manager shall provide modular configuration file support to configure process attributes. |
|||||
Runtime configuration compliance
|
status: valid
security: NO
safety: ASIL_B
|
||||
The launch manager shall provide modular configuration files support for configurations coming from OCI runtime configuration<https://github.com/opencontainers/runtime-spec/blob/v1.2.0/config.md>. |
|||||
Updating configuration
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for extending already running session with additional new configuration file. |
|||||
Component grouping configuration
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Lifecycle Feature shall provide support for grouping sets of Components to share configuration. |
|||||
Global process properties
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall be able to centrally define defaults for specific properties for the set of executables. |
|||||
Lazy check of configured commands
|
status: valid
security: NO
safety: ASIL_B
|
||||
The Launch Manager shall check availability of executables in the filesystem only when the executable shall required to be executed. |
|||||
Configuration Dependency view
|
status: valid
security: NO
safety: QM
|
||||
The Lifecycle Feature shall have the means to generate the specified dependencies in a format that can be visualized. |
|||||
Configuration Verification tool
|
status: valid
security: NO
safety: QM
|
||||
The Launch Manager shall have a means to validate the configuration offline. |
|||||