-
Notifications
You must be signed in to change notification settings - Fork 34
linking all feature requirement to architecture #626
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
MaciejKaszynski
wants to merge
6
commits into
eclipse-score:main
Choose a base branch
from
etas-contrib:arch-links
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
da26b41
linking all fet reqs to arch
MaciejKaszynski 06ad8e7
All stuff linked
MaciejKaszynski 35034b9
Some cleanup
MaciejKaszynski b9b69d8
Fixing comments
MaciejKaszynski 63e3a7b
Fixing comments
MaciejKaszynski 5824e6c
Moving some lifecycle docs to launch manager
MaciejKaszynski File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
41 changes: 41 additions & 0 deletions
41
docs/features/lifecycle/architecture/_assets/launch_manager_parallel_dep.puml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| ' ******************************************************************************* | ||
| ' 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 | ||
| ' ******************************************************************************* | ||
|
|
||
| @startuml | ||
| title Launch Manager - Run Components in Parallel | ||
|
|
||
| autonumber "<b>[00]" | ||
|
|
||
| participant "Launch Manager" as LM | ||
| participant "OS (kernel)" as kernel | ||
| participant "Reporting App 1" as app1 | ||
| participant "Reporting App 2" as app2 | ||
| activate LM | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Determine transition plan. | ||
|
|
||
| LM -> kernel: Start Reporting App 1. | ||
| LM -> kernel: Start Reporting App 2. | ||
| kernel -> app1 **: Start. | ||
| kernel -> app2 **: Start. | ||
|
|
||
| activate app1 | ||
| activate app2 | ||
|
|
||
| app1 -> app1: Internal User app initialization. | ||
| app1 -> LM: Signal ready state via Lifecycle API. | ||
| app2 -> app2: Internal User app initialization. | ||
| app2 -> LM: Signal ready state via Lifecycle API. | ||
| ... | ||
| @enduml |
41 changes: 41 additions & 0 deletions
41
docs/features/lifecycle/architecture/_assets/launch_manager_random_crash.puml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| ' ******************************************************************************* | ||
| ' 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 | ||
| ' ******************************************************************************* | ||
|
|
||
| @startuml | ||
| title Launch Manager - Crash Recovery | ||
|
|
||
| autonumber "<b>[00]" | ||
|
|
||
| participant "Launch Manager" as LM | ||
| participant "OS (kernel)" as kernel | ||
| participant "Crashing Process" as app1 | ||
|
|
||
|
|
||
| activate LM | ||
| activate app1 | ||
|
|
||
| ... | ||
|
|
||
|
|
||
| app1 -> app1: Random crash. | ||
| app1 -> kernel: Terminate. | ||
| destroy app1 | ||
| kernel -> LM: Process terminated. | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Determine transition plan.\nA recovery action has to be ran,\nthe recovery action is to switch to a different Run Target. | ||
| LM -> LM: Switch Run Target. | ||
|
|
||
| ... | ||
|
|
||
| @enduml |
49 changes: 49 additions & 0 deletions
49
docs/features/lifecycle/architecture/_assets/launch_manager_running_dep.puml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| ' ******************************************************************************* | ||
| ' 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 | ||
| ' ******************************************************************************* | ||
|
|
||
| @startuml | ||
| title Launch Manager - Components Depends on Each Other | ||
|
|
||
| autonumber "<b>[00]" | ||
|
|
||
| participant "Launch Manager" as LM | ||
| participant "OS (kernel)" as kernel | ||
| participant "Reporting App 1" as app1 | ||
| participant "Reporting App 2" as app2 | ||
| activate LM | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Determine transition plan. | ||
|
|
||
| LM -> kernel: Start Reporting App 2. | ||
| kernel -> app2 **: Start. | ||
| activate app2 | ||
| LM -> LM: Wait for Reporting App 2 ready condition. | ||
| app2 -> app2: Internal User app initialization. | ||
| app2 -> LM: Signal ready state via Lifecycle API. | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Determine transition plan. | ||
|
|
||
| LM -> kernel: Start Reporting App 1. | ||
| kernel -> app1 **: Start. | ||
| activate app1 | ||
| LM -> LM: Wait for Reporting App 1 ready condition. | ||
| app1 -> app1: Internal User app initialization. | ||
| app1 -> LM: Signal ready state via Lifecycle API. | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Update current run target state to active. | ||
|
|
||
| ... | ||
| @enduml |
50 changes: 50 additions & 0 deletions
50
docs/features/lifecycle/architecture/_assets/launch_manager_terminate_dep.puml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| ' ******************************************************************************* | ||
| ' 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 | ||
| ' ******************************************************************************* | ||
|
|
||
| @startuml | ||
| title Launch Manager - Components Depends on Termination | ||
|
|
||
| autonumber "<b>[00]" | ||
|
|
||
| participant "Launch Manager" as LM | ||
| participant "OS (kernel)" as kernel | ||
| participant "Reporting App 1" as app1 | ||
| participant "Reporting App 2" as app2 | ||
| activate LM | ||
| activate app1 | ||
|
|
||
| == Switch Run Target == | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Determine transition plan. | ||
|
|
||
| LM -> app1: SIGTERM | ||
| app1 -> kernel: Termination. | ||
| destroy app1 | ||
|
|
||
|
|
||
| destroy app1 | ||
| kernel -> LM: Reporting App 1 terminated. | ||
| deactivate app1 | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Determine transition plan. | ||
|
|
||
| LM -> kernel: Start Reporting App 2. | ||
| kernel -> app2 **: Start. | ||
| activate app2 | ||
| LM -> LM: Wait for Reporting App 2 ready condition. | ||
| app2 -> app2: Internal User app initialization. | ||
| app2 -> LM: Signal ready state via Lifecycle API. | ||
| ... | ||
| @enduml | ||
44 changes: 44 additions & 0 deletions
44
docs/features/lifecycle/architecture/_assets/launch_manager_terminate_request.puml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| ' ******************************************************************************* | ||
| ' 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 | ||
| ' ******************************************************************************* | ||
|
|
||
| @startuml | ||
| title Launch Manager - Termination Request | ||
|
|
||
| autonumber "<b>[00]" | ||
|
|
||
| participant "Launch Manager" as LM | ||
| participant "OS (kernel)" as kernel | ||
| participant "User App 1 (well behaving)" as app1 | ||
| participant "User App 2 (badly behaving)" as app2 | ||
|
|
||
| activate LM | ||
| activate app1 | ||
| activate app2 | ||
|
|
||
| == Switch Run Target == | ||
|
|
||
| LM -> LM: Analyze current state. | ||
| LM -> LM: Determine transition plan. | ||
|
|
||
|
|
||
| LM -> app1: SIGTERM. | ||
| app1 -> kernel: Terminate. | ||
| destroy app1 | ||
|
|
||
| LM -> app2: SIGTERM. | ||
| app2 -> app2: Ignore. | ||
| LM -> app2: SIGKILL. | ||
| app2 -> kernel: Terminate. | ||
| destroy app2 | ||
|
|
||
| @enduml |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| .. | ||
| # ******************************************************************************* | ||
| # Copyright (c) 2025 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 | ||
| # ******************************************************************************* | ||
|
|
||
| :orphan: | ||
|
|
||
| Alive | ||
| ##### | ||
|
|
||
| The Alive Interface provides a basic watchdog functionality interface that | ||
| delivers essential monitoring capabilities for system health and responsiveness | ||
| tracking. | ||
| It implements core watchdog operations including heartbeat signals to ensure | ||
| reliable operation and automatic recovery from unresponsive states. | ||
|
|
||
| **SCORE Application Liveliness Reporting** | ||
|
|
||
| SCORE applications can periodically signal their liveliness to the | ||
| :term:`Launch Manager` through the Alive Interface. | ||
| This mechanism allows the :term:`Launch Manager` to: | ||
|
|
||
| - Detect application failures or hangs | ||
| - Trigger recovery actions when liveliness is lost | ||
| - Maintain accurate process health status | ||
|
|
||
| The liveliness mechanism includes: | ||
|
|
||
| - Configurable heartbeat intervals per application | ||
| - Timeout detection and failure handling | ||
|
|
||
| The alive interface is defined here: :need:`logic_arc_int__lifecycle__alive_if` | ||
|
|
||
|
|
||
| Dynamic architecture | ||
| ==================== | ||
|
|
||
| .. feat_arc_dyn:: Alive Monitoring | ||
| :id: feat_arc_dyn__lifecycle__alive_monitor | ||
| :security: YES | ||
| :status: valid | ||
| :version: 1 | ||
| :safety: ASIL_B | ||
| :fulfils: feat_req__lifecycle__liveliness_detection[version==1] | ||
| :includes: | ||
| :belongs_to: feat__lifecycle[version==1] | ||
|
|
||
| .. uml:: _assets/alive_monitoring_dynamic.puml | ||
| :scale: 50 | ||
| :align: center | ||
|
|
||
|
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.