Lifecycle Client#

The lifecycle interface is defined here: Lifecycle Interface (logic_arc_int__lifecycle__lifecycle_if)

The following use cases are supported by the Lifecycle Interface, with different capabilities depending on the application type.

SCORE Application State Communication

SCORE applications implementing the Lifecycle Interface can communicate their internal state to the Launch Manager. The Launch Manager uses this state information for:

  • Dependency resolution for other applications

  • Recovery action decisions

  • Status reporting to external state managers via the Control Interface

Shutdown Signal Handling

The Launch Manager sends SIGTERM signal to SCORE applications (and any POSIX processes) to request their shutdown. The lifecycle interface sets up the necessary signal handler for an SCORE application to properly respond to shutdown requests.

Dynamic Architecture#

A component maintains the following internal state machine:

Note that the state machine of the underlying process is different from the component state machine. For example, the process may be already terminated, but the component is in Ready state. This is the case if the component is configured to be ready when the underlying process terminated.

SCORE applications use the Lifecycle Interface for reporting the “Running” state to signal they finished their initialization. This transitions the process state machine from state Starting to state Running. For Native applications which do not report their state, the process state machine advances directly to Running after successful start of the process.