Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -98,5 +98,5 @@ docs(
"@score_platform//:needs_json", # This allows linking to feature requirements.
"@score_process//:needs_json", # This allows linking to requirements (wp__requirements_comp, etc.) from the process_description repository.
],
source_dir = "docs",
source_dir = ".",
)
12 changes: 11 additions & 1 deletion docs/conf.py → conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,16 @@
"score_draw_uml_funcs",
"score_source_code_linker",
"score_layout",
"myst_parser",
]

include_patterns = [
"index.rst",
"docs/**",
"examples/docs/**",
"score/launch_manager/docs/**",
"score/launch_manager/lifecycle_client/docs/**",
"score/health_monitor/docs/**",
]

exclude_patterns = [
Expand All @@ -68,7 +78,7 @@ class DisplayTestLogs(Directive):

def run(self):
env = self.state.document.settings.env
ws_root = Path(env.app.srcdir).parent
ws_root = Path(env.app.srcdir)

result_nodes = []
for log_file in chain(
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. _life_statistics:

Component Requirements Statistics
=================================
Verification Statistics
=======================

Overview
--------
Expand Down
45 changes: 12 additions & 33 deletions docs/index.rst → index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,45 +12,24 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Lifecycle
===================
Lifecycle Documentation
=======================

Module / Feature Documentation
------------------------------

.. toctree::
:maxdepth: 1
:glob:
:titlesonly:

module/*/index
statistics.rst

Overview
--------

Project Layout
--------------

Quick Start
-----------

To build the module for host platform:

.. code-block:: bash

bazel build //src/...
docs/release/index
docs/verification_report/statistics

To run tests:

.. code-block:: bash

bazel test //tests/...


Release Notes
-------------

Release notes collection.
Component documentation
------------------------

.. toctree::
:maxdepth: 1

release_notes/index
score/launch_manager/docs/index
score/health_monitor/docs/index

Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,18 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Launch Manager Daemon
#####################
Launch Manager
##############

.. toctree::
:titlesonly:

user_guide/concepts.rst
user_guide/ready_state.rst
user_guide/configuration.rst
user_guide/examples.rst
user_guide/implementation.rst
user_guide/index.rst
product_documentation/known_limitations.rst

Subcomponents
=============
.. toctree::
:titlesonly:

../lifecycle_client/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

.. _lm_user_guide:

User Guide
**********
Overview
********

.. _lm_introduction:

Expand Down
24 changes: 24 additions & 0 deletions score/launch_manager/docs/user_guide/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
..
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

User Guide
##########

.. toctree::

concepts.rst
ready_state.rst
configuration.rst
examples.rst
implementation.rst
21 changes: 21 additions & 0 deletions score/launch_manager/lifecycle_client/docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
..
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Lifecycle API
#############

.. toctree::

lifecycle.md
lifecyclemanager.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@ Component consists of three main parts:
* Runner class `score::mw::lifecycle::Run` which instantiates the user provided application and decides which LifeCycleManager to use.

Overview on how lifecycle application is related to execution manager.
![Lifecycle Manager Application Overview](model/lifecycle_system_view.uxf)
![Lifecycle Manager Application Overview](model/lifecycle_system_view.svg)

### AAS Interfaces
N/A

### External C++ interfaces
`score:mw::Application` methods which have to be implemented by the application:
#### Initialize
This method shall do basic initialization of application (what was not done in application [State `Initializing`](#state-initializing)).
This method shall do basic initialization of application (what was not done in application State Initializing).
Method returns a `Result`, which either contains `void` on success or an error. In case of an error lifecycle manager will join all running threads and will return with non zero value.
Input parameter to this method is an instance of `ApplicationContext`, which is a wrapper around the arguments, which have been given to `main`.

#### Run
This method implements the `Run` state of the app (see [State `Run`](#state-run)). This could be a long running
This method implements the `Run` state of the app (see State `Run`). This could be a long running
functionality. In case `Run()` returns, this implicitly means, that the app has ended. If
app implementations do spawn some worker threads in the context of `Run()`, those threads
are joined again before` Run()` returns.
Expand Down Expand Up @@ -70,21 +70,21 @@ N/A
SIGTERM see [lifecyclemanager.md](lifecyclemanager.md)

## Static architecture
![Structural View](model/structural_view.uxf)
![Structural View](model/structural_view.svg)

## Dynamic architecture

### Activity sequencing
The following sequence diagram shows the interaction between OS and instances of `Application` class, which were
decorated with a `LifecycleManager`:

![Sequence View](model/sequence_view.uxf)
![Sequence View](model/sequence_view.svg)

### Stateful behavior

The following state machine depicts the states/transitions of an application:

![Application Lifecycle](model/app_lifecycle.uxf)
![Application Lifecycle](model/app_lifecycle.svg)

#### State `Terminated` respectively `Not Started`

Expand Down Expand Up @@ -129,4 +129,4 @@ do so, it shall not report `Run` at all.
* N/A

### Deployment
* There is example app available that can help with deploying this library see [example application](test/example/README.md) subdirectory
* There is example app available that can help with deploying this library see example application (`examples/cpp_lifecycle_app`) subdirectory
105 changes: 105 additions & 0 deletions score/launch_manager/lifecycle_client/docs/model/app_lifecycle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading