Component Launch Manager Requirements#
Launch Manager Requirements
|
status: valid
security: YES
safety: ASIL_B
|
||||
Launching Processes#
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#
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#
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. |
|||||
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. |
|||||
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. |
|||||
Monitoring, Notification and Recovery#
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. |
|||||
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. |
|||||
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 Device Safe State (DSS). |
|||||
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. |
|||||
Logging#
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 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>. |
|||||
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 Verification tool
|
status: valid
security: NO
safety: QM
|
||||
The Launch Manager shall have a means to validate the configuration offline. |
|||||