Life Cycle service Description

Introduction

The objective of this document is to give the users of SALOME application a brief overview of the Life Cycle service implemented in SALOME. A complete version of the LifeCycle service specification edited by the Object Management Group, Inc.(OMG) can be found here.

Table of contents


1. Overview

Life Cycle service defines services and conventions for creating, deleting, copying and moving objects. Because CORBA-based environments support distributed objects, the Life Cycle service defines conventions that allow clients to perform life cycle operations on objects in different locations. This overview describes the life cycle problem for distributed object systems.


2. SALOME Life Cycle service description

The SALOME Life Cycle service represents a partial implementation of the CORBA LifeCycle service.

From general point of view, the SALOME Life Cycle service allows to find or load with the help of a given container a definte SALOME component with its further initialization and registration in the Naming service.

Container - it's a certain engine realizing the mechanism of loading a SALOME module.

Component - it's a certain abstract shell wrapping SALOME modules, performing all operations concerned with their initialization and registration.

From the point of view of the service user, the Life Cycle provides a set of functions allowing to :

The SALOME Life Cycle is a CORBA server. This server at its initialization is registered with the naming service.

The Life Cycle service is invoked to find a container and use it to load a component. It supplies, as parameters, the type of container and the machine features required for loading a given component.

The Life Cycle service then returns a CORBA reference of a launched container.

Containers are launched on demand depending on components to be loaded. The Life Cycle service manages loading of containers.

When there is no launched container matching the request the Life Cycle service invokes loading of the correct type of container on a correct machine via a rsh type command.

The Life Cycle service interrogates containers to have information about the dynamic state of the machine (load). It contains (and update) the state of the active containers.

The Life Cycle service can implement a loading strategy for new containers on new machines, depending on the state of the already launched containers.

The Life Cycle service can stop containers at the end of session on demand.

In SALOME platform the Life Cycle service is implemented in SALOME_Life CycleCORBA class. The API refernce for the methods of this class can be found here.

Back to the contents