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

Copy link
Contributor

Choose a reason for hiding this comment

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

Please use template from templates folder. It shall be a document so that it can be found also in the documentation management plan.

.. document:: Orchestration Architecture
:id: doc__orch_architecture
:status: valid
:safety: ASIL_B
:tags: feature_request

Overview
--------

An brief overview of orchestration is described.

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

A description of the orchestration module is located.

.. _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:
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
- Provides a way to bind specific application actions to concrete implementations in the current system:
- Provides a way to bind specific application actions to concrete implementations in the current system

Or is there a enumeration missing?


#. 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) }}
13 changes: 11 additions & 2 deletions docs/features/orchestration/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. _orchestration_feature:

.. _orch_feature:

Orchestration
#############
Expand All @@ -21,7 +22,6 @@ Orchestration
:id: doc__orchestration
:status: valid
:safety: ASIL_B
:realizes:
:tags: feature_request, change_management, orchestration


Expand Down Expand Up @@ -390,3 +390,12 @@ Footnotes
=========

.. [#s1] "Asynchronous Programming in Rust", https://rust-lang.github.io/async-book/

.. toctree::
:maxdepth: 1
:glob:
:titlesonly:
:hidden:
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a reason why you use hidden? We don't do this in the process description's and I think it's helpful for the orientation.


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

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

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

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

.. toctree::
:maxdepth: 2
:titlesonly:
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
..
# *******************************************************************************
# 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
# *******************************************************************************

..
# *******************************************************************************
Copy link
Contributor

Choose a reason for hiding this comment

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

One copyright header should be enough

# 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
# *******************************************************************************

Frontend Architecture
Copy link
Contributor

Choose a reason for hiding this comment

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

Please use document template for component architecture.

*********************

.. 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) }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.. _comp_doc_executor:

executor
###########

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

.. toctree::
:maxdepth: 2
:titlesonly:

architecture/executor
23 changes: 23 additions & 0 deletions docs/features/orchestration/modules/index.rst
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
# *******************************************************************************

Modules
========

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

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

.. mod_view_sta:: Orchestration
:id: mod_view_sta__orch__orchestration
:includes: comp_arc_sta__orch__orchestration

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

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

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

.. toctree::
:maxdepth: 2
:titlesonly:
Loading
Loading
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载