Loading

Uli SDK

Life Cycle Management

12.Life Cycle Management

Life Cycle Management is implemented at two levels: Subsystem and Component levels. The Subsystem State service is to manage the life cycle at the Subsystem level, as the Management service is to manage the life cycle at the component level. The Subsystem State and Management Services together to accomplish Life Cycle Management functions.


Figure 12 Life Cycle Message Interaction

12.1 Subsystem State

The Subsystem State service begins at INITIALIZING state where it sends Reset messages to all the Management services. After determining that all the Management services are in INITIALIZE state, the Subsystem State service enters INITIALIZE state and sends Start messages to the Management services, which then begins initialization and transitions to STAND_BY state when the initialization is complete.

After determining that all the Management services are in either STAND_BY or READY state, the Subsystem State service enters Operational state.


Figure 13 Subsystem State Initialize Interaction

When estop is triggered, the Safety service gains control of the Subsystem State service and sends Set Subsystem State (EMERGENCY) messages to the Subsystem State service.
This results that Subsystem State service transitions to the EMERGENCY state and sends Set Emergency messages to the Management services.

When estop is released, the Safety service sends Set Subsystem State (Operational) messages to the Subsystem State service. This results that the Subsystem State service transitions to Operational state and sends Clear Emergency messages to the Management service.


Figure 14 Subsystem State Emergency Interaction

The Subsystem State service obtains the Management service states from the Status Monitor service.


Figure 15 Subsystem State service queries Management States List from Status Monitor Service

Subsystem State service requires the client to gain access control before setting its state.

12.2 Management

The Subsystem State service sends command messages, Reset, Set Emergency, Clear Emergency, Shutdown, and Render Useless, to all the Management services in the subsystem. The Management services then change state accordingly. See the state diagram of the Management service in the Uli SDK core service document.

After initialization complete, the Management service transitions to STAND_BY state. Operator Control needs to send RESUME messages to have the Management service transitioning to READY. The client command messages are executed only when the Management service is in READY state.


Figure 16 Operational Condition Interaction

A few notes to remember:

  1. Services, which performs safety critical operations, should derive from Management service.

  2. The component, which hosts the Management derived service, also needs to host the Access Control Service.

  3. Command messages to the Management derived services are only processed when the Management state is in READY. It is client’s responsibility to send RESUME to have the Management state transitioning to READY.

  4. Access Control of the component is not available when the Management service is in Emergency.