Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 Orchestration architecture update by prabakaranklst · Pull Request #1914 · eclipse-score/score · GitHub
Nothing Special   »   [go: up one dir, main page]

Skip to content
Open
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
142 changes: 142 additions & 0 deletions docs/features/orchestration/docs/architecture/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
..
# *******************************************************************************
# 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
# *******************************************************************************
Architecture
============

.. document:: Orchestration Architecture
:id: doc__orch_architecture
:status: valid
:security: YES
:safety: ASIL_B
:realizes: PROCESS_wp__feature_arch
:tags: feature_request, orchestration

Overview
--------

The orchestration feature provides frameworks for deterministic, scalable, and maintainable execution of mixed-criticality software applications. It introduces two main abstractions: the **Executor**, which offers cooperative user-space multitasking with configurable thread pools, and the **Orchestrator**, which enables declarative modeling of cause-effect chains, timing constraints, and fault handling logic. These frameworks are designed to improve integration, timing predictability, and validation of cross-component timing chains, supporting robust system integration in automotive and safety-critical environments.

Description
-----------

The orchestration framework is structured in layers, separating application logic from deployment and resource management. The **Executor** manages cooperative and preemptive tasks, dedicated threads for blocking operations, and provides observability hooks for system monitoring. The **Orchestrator** allows developers to define Programs as runtime-static execution graphs, specifying control flow, timing contracts, event-based synchronization, and fault handling. The API is code-first, enabling direct integration with application logic and improved debuggability. Observability is a key aspect, with tracing and metrics exposed at the Orchestrator, Executor, and kernel levels. The design enforces that inter-process communication and synchronization are exclusively handled via secure IPC mechanisms, ensuring safety and security in multi-process environments.

.. _orch_static_architecture:

Static Architecture
-------------------

The overall architecture of the orchestration framework is layered. Orchestration uses the runtime component which abstracts execution
specific details like threads.

.. feat_arc_sta:: Feature Architecture Orchestration
:id: feat_arc_sta__orch__orchestration
:security: YES
:safety: ASIL_B
:status: valid
:fulfils: feat_req__com__interfaces
:includes: logic_arc_int__orchestration__user, logic_arc_int__orchestration__design, logic_arc_int__orchestration__deployment

.. needarch::
:scale: 50
:align: center

{{ draw_feature(need(), needs) }}


API Components
^^^^^^^^^^^^^^

The API is split into three key components:

1. **Design**

- Provides a way to register all application callables (functions, async functions, objects, etc.)

- Allows the creation of an application task flow in the `config-by-code` case

2. **Deployment**

- Provides a way to bind specific application actions to concrete implementations in the current system:

#. Binding events to Local/Remote/Timers
#. Configuring certain threads for callables

3. **Orchestration**

- Acts as the central API for managing designs and transitioning them into a deployment-ready state

- Handles the creation of programs and their orchestration

Purpose of Orchestration, Design, and Deployment Split
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The split between **Orchestration**, **Design**, and **Deployment** is intentional and reflects
a separation of concerns in the orchestration process:

- **Design**: Focuses on the **definition** of the system's components, encapsulating configuration
and metadata for specific parts of the system.

- **Deployment**: Focuses on the **execution** of the designs, handling specific details of the
given system.

- **Orchestration**: Acts as the **entry point** for managing designs and transitioning them into
deployment, bridging the gap between the design phase and the deployment phase.

This separation ensures that each phase of the orchestration process is modular, testable, and maintainable.


Interface Description
^^^^^^^^^^^^^^^^^^^^^

The public API for the frontend is defined as:

.. logic_arc_int:: Orchestration Interface
:id: logic_arc_int__orchestration__user
:security: YES
:safety: ASIL_B
:status: valid
:fulfils: feat_req__com__interfaces

.. needarch::
:scale: 50
:align: center

{{ draw_interface(need(), needs) }}

.. logic_arc_int:: Design Interface
:id: logic_arc_int__orchestration__design
:security: YES
:safety: ASIL_B
:status: valid

.. needarch::
:scale: 50
:align: center

{{ draw_interface(need(), needs) }}

.. logic_arc_int:: Deployment Interface
:id: logic_arc_int__orchestration__deployment
:security: YES
:safety: ASIL_B
:status: valid


.. needarch::
:scale: 50
:align: center

{{ draw_interface(need(), needs) }}
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,16 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

Requirements
#############
============

.. document:: Orchestration Requirements
:id: doc__orch_requirements
:status: valid
:security: YES
:safety: ASIL_B
:realizes: PROCESS_wp__requirements_feat
:tags: feature_request, orchestration

.. evaluate following sth requirements:
.. com driven:
Expand All @@ -38,8 +45,6 @@ Requirements
.. stkh_req__functional_req__hardware_comput
.. stkh_req__functional_req__comp_subsystem
Executor
========

Expand Down
20 changes: 12 additions & 8 deletions docs/features/orchestration/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,21 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
.. _orchestration_feature:

.. _orch_feature:

Orchestration
#############

.. document:: Orchestration
:id: doc__orchestration
:status: valid
:security: YES
:safety: ASIL_B
:realizes:
:realizes: PROCESS_wp__feat_request
:tags: feature_request, change_management, orchestration


.. toctree::
:hidden:

requirements.rst


Feature flag
============

Expand Down Expand Up @@ -390,3 +386,11 @@ Footnotes
=========

.. [#s1] "Asynchronous Programming in Rust", https://rust-lang.github.io/async-book/
.. toctree::
:maxdepth: 1
:glob:
:titlesonly:
:hidden:

docs/**/index
35 changes: 35 additions & 0 deletions docs/modules/orchestration/executor/docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
..
# *******************************************************************************
# 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
# *******************************************************************************
Executor Module
####################

.. mod_view_sta:: Executor
:id: mod_view_sta__orch__executor
:includes: comp_arc_sta__orch__executor

.. needarch::
:scale: 50
:align: center

{{ draw_module(need(), needs) }}

Module Documents
================

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

../executor/docs/index
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
..
# *******************************************************************************
# 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
# *******************************************************************************

Component Architecture
=======================

.. document:: Executor Architecture
:id: doc__executor_architecture
:status: valid
:safety: ASIL_B
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:safety: ASIL_B
:safety: ASIL_B
:security: YES

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

:security: YES
:realizes: PROCESS_wp__component_arch
:tags: orchestration, executor

.. comp_arc_sta:: Executor
:id: comp_arc_sta__orch__executor
:security: YES
:safety: ASIL_B
:status: valid
:uses: logic_arc_int__logging__logging, logic_arc_int__tracing__tracing

.. needarch::
:scale: 50
:align: center

{{ draw_component(need(), needs) }}

.. toctree::
:maxdepth: 1
:titlesonly:
21 changes: 21 additions & 0 deletions docs/modules/orchestration/executor/executor/docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.. _comp_doc_executor:

Executor
###########

.. document:: Executor
:id: doc__executor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:id: doc__executor
:id: doc__executor_architecture

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The existing id is appropriate.
Theid: doc__executor_architecture cannot be reused since it is already used inside docs/modules/orchestration/executor/executor/docs/architecture/executor.rst.

:status: valid
:safety: ASIL_B
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:safety: ASIL_B
:safety: ASIL_B
:security: YES

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

:security: YES
:realizes: PROCESS_wp__cmpt_request
:tags: orchestration, executor

Component Documents
===================

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

architecture/executor
23 changes: 23 additions & 0 deletions docs/modules/orchestration/index.rst
2AEF
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
..
# *******************************************************************************
# 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
# *******************************************************************************
Orchestration
#############

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

./*/docs/index
35 changes: 35 additions & 0 deletions docs/modules/orchestration/orchestration/docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
..
# *******************************************************************************
# 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
# *******************************************************************************
Orchestrator Module
####################

.. mod_view_sta:: Orchestrator
:id: mod_view_sta__orch__orchestrator
:includes: comp_arc_sta__orch__orchestrator

.. needarch::
:scale: 50
:align: center

{{ draw_module(need(), needs) }}

Module Documents
================

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

../orchestrator/docs/index
Loading
0