Lifecycle Architecture#

Lifecycle Architecture
status: valid
security: YES
safety: ASIL_B
version: 1

Lifecycle Feature#

Interfaces#

Lifecycle

Lifecycle
status: valid
security: YES
safety: ASIL_B

The lifecycle interface supports the initialization, execution, and termination phases of the application. It registers the necessary signal handler for termination signals. It calls the Initialize() and Run() methods in sequence which need to be implemented by the user.

Initialize
status: valid
security: YES
safety: ASIL_B
version: 1

Initialize() method shall be implemented by the user to perform the initialization of the application.

Input:
  • Application context (e.g. CLI arguments)

Output:
  • Integer indicating whether the initialization was successful or not.

Upon successful initialization, the Run() method is invoked next.

Run
status: valid
security: YES
safety: ASIL_B
version: 1

Run() method shall be implemented by the user to perform the main execution of the application.

Input:
  • Shutdown flag indicating whether the application received the request to terminate.

Output:
  • Integer indicating whether the execution was successful or not.

Report Running

Report Running
status: valid
security: YES
safety: ASIL_B

The report running interface allows the application to report to the Launch Manager that it finished its initialization phase. The interface only offers a simple function without the sourrounding framework of the full Lifecycle interface.

ReportRunning
status: valid
security: YES
safety: ASIL_B
Input:
  • None

Output:
  • None

The operation does not indicate the success or failure of the reporting. Failure to report would eventually result in an activation timeout and forced termination of the application process by the Launch Manager.

Alive

Alive
status: valid
security: YES
safety: ASIL_B

The alive interface allows the application to periodically report its liveness to the Launch Manager or escalate failures.

ReportAlive
status: valid
security: YES
safety: ASIL_B
version: 1

ReportAlive() operation is used by the application to cyclically indicate that it is still alive.

Input:
  • None

Output:
  • None

ReportFailure
status: valid
security: YES
safety: ASIL_B
version: 1

ReportFailure() operation is used by the application to indicate that it has encountered a failure condition.

Input:
  • None

Output:
  • None

Control

Control
status: valid
security: YES
safety: ASIL_B

The Control interface is used by a State Manager application to control which components shall be active at any given time through the activation run targets.

ActivateRunTarget
status: valid
security: YES
safety: ASIL_B
version: 1

ActivateRunTarget() operation is used by the application to request the activation of a specific run target.

Input:
  • Run target to be activated

  • Force flag indicating whether to cancel any ongoing activation of a different run target or queue the request

Output:
  • Boolean indicating whether the request was accepted or not

The successful execution of the request is returned asynchronously by the callback registered via RegisterActivationCallback().

GetActiveRunTarget
status: valid
security: YES
safety: ASIL_B
version: 1

GetActiveRunTarget() operation is used by the application to query the currently active run target.

Input:
  • None

Output:
  • Currently active run target or error if no run target is currently active

RegisterActivationCallback
status: valid
security: YES
safety: ASIL_B
version: 1

RegisterActivationCallback() operation is used by the application to register a callback that will be invoked upon the successful execution of a Run Target activation.

Input:
  • Callback function to be registered. The callback will be invoked with the name of the newly activated Run Target and the reason for activating it.

Output:
  • None

Deadline

configure_minimum_time
status: valid
security: YES
safety: ASIL_B
configure_maximum_time
status: valid
security: YES
safety: ASIL_B
mark_start
status: valid
security: YES
safety: ASIL_B
mark_end
status: valid
security: YES
safety: ASIL_B
on_timer_expiry
status: valid
security: YES
safety: ASIL_B
enable_monitoring
status: valid
security: YES
safety: ASIL_B
disable_monitoring
status: valid
security: YES
safety: ASIL_B
check_configuration
status: valid
security: YES
safety: ASIL_B

Logical

add_entry_point
status: valid
security: YES
safety: ASIL_B
add_exit_point
status: valid
security: YES
safety: ASIL_B
add_allowed_transition
status: valid
security: YES
safety: ASIL_B
record_checkpoint
status: valid
security: YES
safety: ASIL_B
enable
status: valid
security: YES
safety: ASIL_B
disable
status: valid
security: YES
safety: ASIL_B
verify
status: valid
security: YES
safety: ASIL_B