diff --git a/MODULE.bazel b/MODULE.bazel index 42443a3a221..d0015987115 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -22,7 +22,7 @@ module( # Python version # ############################################################################### -bazel_dep(name = "rules_python", version = "1.4.1") +bazel_dep(name = "rules_python", version = "1.8.3") PYTHON_VERSION = "3.12" @@ -72,6 +72,6 @@ bazel_dep(name = "rules_java", version = "8.15.1") # Score custom modules loading # ############################################################################### -bazel_dep(name = "score_tooling", version = "1.0.4") -bazel_dep(name = "score_docs_as_code", version = "2.3.3") -bazel_dep(name = "score_process", version = "1.4.2") +bazel_dep(name = "score_tooling", version = "1.1.0") +bazel_dep(name = "score_docs_as_code", version = "3.0.0") +bazel_dep(name = "score_process", version = "1.4.3") diff --git a/docs/features/baselibs/docs/architecture/index.rst b/docs/features/baselibs/docs/architecture/index.rst index c5c0b0988c5..a353a3a990e 100644 --- a/docs/features/baselibs/docs/architecture/index.rst +++ b/docs/features/baselibs/docs/architecture/index.rst @@ -100,6 +100,7 @@ Static Architecture :fulfils: feat_req__baselibs__core_utilities :includes: logic_arc_int__baselibs__json, logic_arc_int__baselibs__memory_shared, logic_arc_int__baselibs__message_passing, logic_arc_int__baselibs__result, logic_arc_int__baselibs__bit_manipulation, logic_arc_int__baselibs__bit_mask_operator, logic_arc_int__baselibs__dynamic_array, logic_arc_int__baselibs__intrusive_list, logic_arc_int__baselibs__filesystem, logic_arc_int__baselibs__utils_base64, logic_arc_int__baselibs__utils_scoped_op, logic_arc_int__baselibs__promise, logic_arc_int__baselibs__future, logic_arc_int__baselibs__shared_future, logic_arc_int__baselibs__executor, logic_arc_int__baselibs__task, logic_arc_int__baselibs__task_result, logic_arc_int__baselibs__synchronized_queue, logic_arc_int__baselibs__condition_variable :tags: inspected + :belongs_to: feat__baselibs .. needarch:: :scale: 50 diff --git a/docs/features/communication/docs/architecture/index.rst b/docs/features/communication/docs/architecture/index.rst index 1e72d8ceb66..e47199171a6 100644 --- a/docs/features/communication/docs/architecture/index.rst +++ b/docs/features/communication/docs/architecture/index.rst @@ -51,6 +51,7 @@ This ensures a stable public API, independent of the underlying binding(s). At t :status: valid :fulfils: feat_req__com__interfaces :includes: logic_arc_int__communication__user + :belongs_to: feat__com_communication .. needarch:: :scale: 50 diff --git a/docs/features/communication/ipc/docs/architecture/index.rst b/docs/features/communication/ipc/docs/architecture/index.rst index 5be0442c214..c777421a53c 100644 --- a/docs/features/communication/ipc/docs/architecture/index.rst +++ b/docs/features/communication/ipc/docs/architecture/index.rst @@ -225,6 +225,7 @@ Dynamic Architecture :status: valid :safety: ASIL_B :fulfils: feat_req__com__depl_config_runtime + :belongs_to: feat__com_communication .. uml:: _assets/dyn_arch.puml :scale: 50 diff --git a/docs/features/frameworks/feo/architecture/feature_architecture.rst b/docs/features/frameworks/feo/architecture/feature_architecture.rst index 161c6dcaef3..221d676fdc2 100644 --- a/docs/features/frameworks/feo/architecture/feature_architecture.rst +++ b/docs/features/frameworks/feo/architecture/feature_architecture.rst @@ -95,6 +95,14 @@ expected to be used directly in a productive system. They may become obsolete in Static Architecture ------------------- +.. feat:: Feature FEO + :id: feat__feo + :security: YES + :safety: ASIL_B + :status: valid + :includes: logic_arc_int__feo__activity, logic_arc_int__feo__prim_agent, logic_arc_int__feo__sec_agent, logic_arc_int__feo__lifecycle + :consists_of: comp__feo_main + .. feat_arc_sta:: Static Architecture :id: feat_arc_sta__feo__main :security: YES @@ -102,6 +110,7 @@ Static Architecture :status: valid :fulfils: feat_req__feo__application, feat_req__feo__activity, feat_req__feo__task_chain, feat_req__feo__agent :includes: logic_arc_int__feo__activity, logic_arc_int__feo__prim_agent, logic_arc_int__feo__sec_agent, logic_arc_int__feo__lifecycle + :belongs_to: feat__feo .. uml:: _assets/stat_arch.puml :scale: 50 @@ -117,6 +126,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__feo__application, feat_req__feo__activity, feat_req__feo__task_chain, feat_req__feo__agent :status: valid + :belongs_to: feat__feo .. uml:: _assets/dyn_arch.puml :scale: 50 diff --git a/docs/features/lifecycle/architecture/health_monitor.rst b/docs/features/lifecycle/architecture/health_monitor.rst index b609feaf7a0..deef630097d 100644 --- a/docs/features/lifecycle/architecture/health_monitor.rst +++ b/docs/features/lifecycle/architecture/health_monitor.rst @@ -177,6 +177,7 @@ Dynamic Architecture :status: invalid :safety: ASIL_B :fulfils: feat_req__lifecycle__process_monitoring + :belongs_to: feat__lifecycle .. uml:: _assets/application_health_monitoring_dynamic.puml :scale: 50 @@ -299,6 +300,7 @@ Dynamic Architecture :status: invalid :safety: ASIL_B :fulfils: feat_req__lifecycle__process_monitoring + :belongs_to: feat__lifecycle .. uml:: _assets/logical_sup.puml :scale: 50 diff --git a/docs/features/lifecycle/architecture/launch_manager.rst b/docs/features/lifecycle/architecture/launch_manager.rst index 1db2ea0dac7..0e6d7dc0a02 100644 --- a/docs/features/lifecycle/architecture/launch_manager.rst +++ b/docs/features/lifecycle/architecture/launch_manager.rst @@ -121,6 +121,7 @@ This unified approach allows external state managers to request any run target a :safety: ASIL_B :security: YES :fulfils: feat_req__lifecycle__control_commands, feat_req__lifecycle__request_run_target_start, feat_req__lifecycle__switch_run_targets + :belongs_to: feat__lifecycle .. uml:: _assets/control_interface_start_sequence.puml :scale: 50 @@ -249,6 +250,7 @@ Dynamic Architecture :status: valid :safety: ASIL_B :fulfils: feat_req__lifecycle__control_commands, feat_req__lifecycle__request_run_target_start, feat_req__lifecycle__switch_run_targets + :belongs_to: feat__lifecycle .. uml:: _assets/lifecycle_state_machine.puml :scale: 50 @@ -352,6 +354,7 @@ Dynamic architecture :safety: ASIL_B :fulfils: feat_req__lifecycle__monitoring_processes, feat_req__lifecycle__polling_interval,, feat_req__lifecycle__failure_detect :includes: + :belongs_to: feat__lifecycle .. uml:: _assets/alive_monitoring_dynamic.puml :scale: 50 diff --git a/docs/features/lifecycle/index.rst b/docs/features/lifecycle/index.rst index 2bc7ee8f7d9..c04727f8c3d 100644 --- a/docs/features/lifecycle/index.rst +++ b/docs/features/lifecycle/index.rst @@ -27,6 +27,14 @@ Lifecycle :realizes: wp__feat_request +.. feat:: Lifecycle + :id: feat__lifecycle + :security: YES + :safety: ASIL_B + :status: valid + :includes: logic_arc_int__lifecycle__lifecycle_if, logic_arc_int__lifecycle__controlif, logic_arc_int__lifecycle__alive_if, logic_arc_int__lifecycle__logical_monitor_if, logic_arc_int__lifecycle__deadline_monitor_if + :consists_of: comp__lifecycle_launch_manager, comp__lifecycle_healthmonitor + Feature Flag ============ diff --git a/docs/features/orchestration/architecture/index.rst b/docs/features/orchestration/architecture/index.rst index 09ed6ace919..5c64a624c68 100644 --- a/docs/features/orchestration/architecture/index.rst +++ b/docs/features/orchestration/architecture/index.rst @@ -71,6 +71,7 @@ Static Architecture :status: invalid :fulfils: feat_req__orchestration__orch_static_graphs, feat_req__orchestration__exec_async_rt :includes: logic_arc_int__orchestration__user, logic_arc_int__orchestration__design, logic_arc_int__orchestration__deployment + :belongs_to: feat__orchestration .. needarch:: :scale: 50 diff --git a/docs/features/persistency/architecture/index.rst b/docs/features/persistency/architecture/index.rst index 8f2db370454..d416bc6e6a4 100644 --- a/docs/features/persistency/architecture/index.rst +++ b/docs/features/persistency/architecture/index.rst @@ -25,7 +25,24 @@ Architecture :realizes: wp__feature_arch :tags: persistency -Overview + +.. feat:: Persistency + :id: feat__persistency + :security: YES + :safety: ASIL_B + :status: valid + :includes: logic_arc_int__persistency__interface + :consists_of: comp__persistency_kvs + +.. comp:: persistency::kvs + :id: comp__persistency_kvs + :security: YES + :safety: ASIL_B + :status: valid + :implements: logic_arc_int__persistency__interface + + + -------- The Key-Value-Storage (kvs) provides the capability to efficiently store, @@ -64,6 +81,7 @@ Static Architecture :includes: logic_arc_int__persistency__interface :fulfils: feat_req__persistency__default_value_get,feat_req__persistency__default_values,feat_req__persistency__async_completion,feat_req__persistency__integrity_check,feat_req__persistency__store_data,feat_req__persistency__load_data,feat_req__persistency__snapshot_create,feat_req__persistency__support_datatype_keys,feat_req__persistency__support_datatype_value,feat_req__persistency__variant_management,feat_req__persistency__default_value_file,feat_req__persistency__cfg,feat_req__persistency__async_api,feat_req__persistency__access_control,feat_req__persistency__concurrency :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_static_view.puml @@ -75,6 +93,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__persistency__default_values,feat_req__persistency__default_value_get :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_dyn_check_value_default.puml @@ -84,6 +103,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__persistency__support_datatype_keys,feat_req__persistency__support_datatype_value :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_dyn_delete_data_key.puml @@ -93,6 +113,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__persistency__store_data,feat_req__persistency__snapshot_create,feat_req__persistency__integrity_check,feat_req__persistency__snapshot_restore :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_dyn_flush_local_repr_to_file.puml @@ -102,6 +123,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__persistency__support_datatype_keys,feat_req__persistency__support_datatype_value,feat_req__persistency__default_values,feat_req__persistency__default_value_get :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_dyn_read_data_key.puml @@ -111,6 +133,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__persistency__load_data,feat_req__persistency__integrity_check,feat_req__persistency__snapshot_restore :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_dyn_read_file_into_local_repr.puml @@ -120,6 +143,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__persistency__support_datatype_keys,feat_req__persistency__support_datatype_value :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_dyn_write_data_key.puml @@ -129,6 +153,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: feat_req__persistency__snapshot_restore,feat_req__persistency__store_data :status: valid + :belongs_to: feat__persistency .. uml:: _assets/kvs_dyn_restore_snapshot.puml diff --git a/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst b/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst index d41d990dd1c..204938497b8 100644 --- a/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst +++ b/docs/modules/baselibs/bitmanipulation/docs/requirements/index.rst @@ -36,6 +36,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__bitmanipulation, feat_req__baselibs__core_utilities :status: valid + :belongs_to: comp__baselibs_bit_manipulation The bit manipulation component shall provide API for setting, clearing, toggling, and checking bits, as well as extracting bytes and manipulating half-bytes and bytes for any integral type up to 64 bits. @@ -46,6 +47,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__bitmanipulation, feat_req__baselibs__core_utilities :status: valid + :belongs_to: comp__baselibs_bit_manipulation The bit manipulation library shall provide type-safe bitmask operations for scoped enumeration types. @@ -56,6 +58,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__bitmanipulation, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_bit_manipulation All bit manipulation functions shall validate input parameters and prevent data corruption. @@ -69,6 +72,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__bitmanipulation :status: valid + :belongs_to: comp__baselibs_bit_manipulation The bit manipulation API shall be header-only and not require external dependencies. diff --git a/docs/modules/baselibs/concurrency/docs/requirements/index.rst b/docs/modules/baselibs/concurrency/docs/requirements/index.rst index e18d74fa0d5..218bb9d5ef4 100644 --- a/docs/modules/baselibs/concurrency/docs/requirements/index.rst +++ b/docs/modules/baselibs/concurrency/docs/requirements/index.rst @@ -34,6 +34,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall allow running tasks asynchronously. @@ -44,6 +45,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall allow cancelling tasks when needed. @@ -54,6 +56,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide implementation for executing callable objects without returning results, supporting fire-and-forget asynchronous operations. @@ -64,6 +67,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide implementation to access the result of an asynchronously running task or to request aborting the task when the result is no longer needed. @@ -74,6 +78,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide implementation for executing callable objects at regular intervals with configurable first execution time and period duration. @@ -84,6 +89,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide implementation for executing callable objects after a specified delay with support for early cancellation. @@ -94,6 +100,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__consistent_apis :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide interface defining a common API for task submission operations, graceful shutdown, and maximum concurrency level reporting. @@ -104,6 +111,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide implementation that manages submitted tasks in FIFO order. @@ -114,6 +122,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide an abortable mechanism for threads to wait for conditions. @@ -124,6 +133,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide utilities offering APIs for sleep operations allowing early cancellation. @@ -134,6 +144,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall allow one thread to notify another thread once, with a timeout option. @@ -144,6 +155,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide a thread-safe container facilitating FIFO transmission of data in a N:1 communication pattern. @@ -154,6 +166,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall provide a container for managing long-running threads, allowing addition and removal of threads. @@ -167,6 +180,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall limit memory usage to prevent uncontrolled resource consumption. @@ -177,6 +191,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall allow reserving memory upfront for tasks to ensure predictable resource allocation. @@ -187,6 +202,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall report the maximum number of concurrent threads available for task execution. @@ -197,6 +213,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall avoid indefinitely blocking, unabortable operations. @@ -207,6 +224,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__concurrency_library :status: valid + :belongs_to: comp__baselibs_concurrency The concurrency module shall use error codes instead of throwing exceptions. diff --git a/docs/modules/baselibs/containers/docs/requirements/index.rst b/docs/modules/baselibs/containers/docs/requirements/index.rst index 39c3f1ff92c..4a78a1cd2d9 100644 --- a/docs/modules/baselibs/containers/docs/requirements/index.rst +++ b/docs/modules/baselibs/containers/docs/requirements/index.rst @@ -33,6 +33,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__containers_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_containers The Containers library shall provide a fixed-size array container with construction-time size specification. @@ -43,6 +44,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__containers_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_containers The Containers library shall provide an intrusive doubly-linked list based on the C++ standardization proposal P0406R1. @@ -53,6 +55,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__consistent_apis, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_containers The Containers library shall enforce compile-time type safety for all container operations. @@ -63,6 +66,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__containers_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_containers The Containers library shall provide a non-relocatable vector container that maintains stable element addresses. @@ -77,6 +81,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_containers The Containers library shall provide deterministic behavior with no dynamic memory allocation. @@ -165,5 +170,6 @@ Assumptions of Use (AoU) .. needextend:: "__containers__" in id :+tags: baselibs + .. needextend:: "containers" in id :+tags: containers diff --git a/docs/modules/baselibs/filesystem/docs/requirements/index.rst b/docs/modules/baselibs/filesystem/docs/requirements/index.rst index 4124606a403..6dc1ec83f98 100644 --- a/docs/modules/baselibs/filesystem/docs/requirements/index.rst +++ b/docs/modules/baselibs/filesystem/docs/requirements/index.rst @@ -33,6 +33,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__consistent_apis, feat_req__baselibs__filesystem_library :status: valid + :belongs_to: comp__baselibs_filesystem The Filesystem library shall provide filesystem API based on the C++ standardization. @@ -43,6 +44,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__consistent_apis, feat_req__baselibs__filesystem_library :status: valid + :belongs_to: comp__baselibs_filesystem The Filesystem library shall provide type-safe utilities for path construction and manipulation. @@ -53,6 +55,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__filesystem_library :status: valid + :belongs_to: comp__baselibs_filesystem The Filesystem library shall provide directory iterator types for traversing directory contents. @@ -63,6 +66,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__filesystem_library :status: valid + :belongs_to: comp__baselibs_filesystem The Filesystem library shall provide functionality for reading from and writing to files, including buffered I/O operations. @@ -73,6 +77,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__filesystem_library :status: valid + :belongs_to: comp__baselibs_filesystem The public API of the library shall support dependency injection with test doubles. @@ -85,6 +90,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__filesystem_library :status: valid + :belongs_to: comp__baselibs_filesystem The Filesystem library shall provide additional file utility functions, such as temporary file handling and file comparison. @@ -95,6 +101,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__filesystem_library :status: valid + :belongs_to: comp__baselibs_filesystem The Filesystem library shall provide mock and fake implementations for unit testing and validation. diff --git a/docs/modules/baselibs/json/docs/architecture/index.rst b/docs/modules/baselibs/json/docs/architecture/index.rst index 936fd5349db..3a499af247f 100644 --- a/docs/modules/baselibs/json/docs/architecture/index.rst +++ b/docs/modules/baselibs/json/docs/architecture/index.rst @@ -72,8 +72,8 @@ Static Architecture :security: YES :safety: ASIL_B :status: valid - :includes: comp__baselibs_json_wrapper, comp__baselibs_nlohman_json :fulfils: comp_req__json__deserialization, comp_req__json__serialization, comp_req__json__user_format, comp_req__json__lang_idioms, comp_req__json__lang_infra, comp_req__json__type_compatibility, comp_req__json__full_testability, comp_req__json__asil + :belongs_to: comp__baselibs_json .. needarch:: :scale: 50 @@ -91,6 +91,7 @@ Dynamic Architecture :safety: ASIL_B :status: invalid :fulfils: comp_req__json__deserialization, comp_req__json__serialization, comp_req__json__user_format, comp_req__json__lang_idioms, comp_req__json__lang_infra, comp_req__json__type_compatibility, comp_req__json__full_testability, comp_req__json__asil + :belongs_to: comp__baselibs_json put here a sequence diagram (TBD) diff --git a/docs/modules/baselibs/json/docs/requirements/index.rst b/docs/modules/baselibs/json/docs/requirements/index.rst index 5c725b4143f..0b1b8c8524b 100644 --- a/docs/modules/baselibs/json/docs/requirements/index.rst +++ b/docs/modules/baselibs/json/docs/requirements/index.rst @@ -32,6 +32,7 @@ General Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__json_library :status: valid + :belongs_to: comp__baselibs_json The JSON-Library shall provide a service to deserialize JSON data according to RFC8259, i.e. parse and check for well-formedness. @@ -43,6 +44,7 @@ General Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__json_library :status: valid + :belongs_to: comp__baselibs_json The JSON-Library shall provide a service to serialize user format into JSON data according to RFC8259. @@ -53,6 +55,7 @@ General Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__json_library :status: valid + :belongs_to: comp__baselibs_json The JSON-Library shall return parsed data in a compatible user format. @@ -68,6 +71,7 @@ User friendly API for information exchange :safety: ASIL_B :satisfies: feat_req__baselibs__json_library, feat_req__baselibs__consistent_apis :status: valid + :belongs_to: comp__baselibs_json The public API shall support the idioms of the programming language it is written in. @@ -78,6 +82,7 @@ User friendly API for information exchange :safety: ASIL_B :satisfies: feat_req__baselibs__json_library :status: valid + :belongs_to: comp__baselibs_json The public API shall use core infrastructure of its programming language and accompanying standard libraries, whenever possible and meaningful. @@ -91,6 +96,7 @@ User friendly API for information exchange :safety: ASIL_B :satisfies: feat_req__baselibs__json_library :status: valid + :belongs_to: comp__baselibs_json The public API shall enforce strict type compatibility. When a user requests a value, the API shall validate that the requested return type is compatible with the type and value of the stored JSON data. @@ -107,6 +113,7 @@ Full testability for the user facing API :safety: ASIL_B :satisfies: feat_req__baselibs__json_library :status: valid + :belongs_to: comp__baselibs_json The public API of the library shall support dependency injection with test doubles. @@ -122,6 +129,7 @@ Safety Impact :safety: ASIL_B :satisfies: feat_req__baselibs__json_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_json The JSON library shall be ASIL-B compliant. diff --git a/docs/modules/baselibs/memory_shared/docs/requirements/index.rst b/docs/modules/baselibs/memory_shared/docs/requirements/index.rst index 904bc1e44db..b6322a500ba 100644 --- a/docs/modules/baselibs/memory_shared/docs/requirements/index.rst +++ b/docs/modules/baselibs/memory_shared/docs/requirements/index.rst @@ -33,6 +33,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__memory_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide capabilities for creating, opening and managing shared memory. @@ -43,6 +44,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__memory_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide polymorphic memory resource allocators using offset pointers instead of raw pointers to enable allocation in shared memory regions accessible across multiple processes. The standard library's std::pmr::polymorphic_allocator is not applicable as it uses raw pointers that are invalid when shared memory is mapped at different virtual addresses in different processes. @@ -53,6 +55,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__memory_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide type aliases for STL containers (vector, map, string) that use offset pointers for shared memory storage. @@ -63,6 +66,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__memory_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide file-based locking mechanisms for inter-process synchronization and mutual exclusion. @@ -73,6 +77,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__safety, feat_req__baselibs__memory_library :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall track and validate memory region boundaries to prevent out-of-bounds access in shared memory. @@ -83,6 +88,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__memory_library :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide byte order conversion between host and network byte order (big/little endian). @@ -93,6 +99,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__safety, feat_req__baselibs__memory_library, feat_req__baselibs__security :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide immutable shared memory segments that become read-only after initialization. @@ -103,6 +110,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__consistent_apis, feat_req__baselibs__safety, feat_req__baselibs__memory_library :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide type-safe wrappers for typed shared memory objects with compile-time type checking. @@ -113,6 +121,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__memory_library :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide a global registry for memory resource lookup and management. @@ -123,6 +132,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__memory_library :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide zero-allocation string utilities including splitting, comparison, and compile-time literals. @@ -133,6 +143,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__memory_library, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall provide atomic operations on shared memory data for lock-free inter-process communication. @@ -147,6 +158,7 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_memory_shared The shared memory allocation shall provide deterministic behavior with predictable execution time suitable for real-time automotive systems. @@ -157,5 +169,6 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__safety, feat_req__baselibs__memory_library :status: valid + :belongs_to: comp__baselibs_memory_shared The Memory library shall ensure shared memory data structures remain valid regardless of process virtual address space mappings. diff --git a/docs/modules/baselibs/result/docs/requirements/index.rst b/docs/modules/baselibs/result/docs/requirements/index.rst index 4f457e5f348..4f9849cd2cf 100644 --- a/docs/modules/baselibs/result/docs/requirements/index.rst +++ b/docs/modules/baselibs/result/docs/requirements/index.rst @@ -34,6 +34,7 @@ Functional Requirements :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__result_library, feat_req__baselibs__safety :status: valid :tags: inspected + :belongs_to: comp__baselibs_result The Result library shall provide an error handling mechanism that enables functions to return either successful values ("Get Value") or error information ("Get Error") without using C++ exceptions. @@ -45,6 +46,7 @@ Functional Requirements :satisfies: feat_req__baselibs__result_library :status: valid :tags: inspected + :belongs_to: comp__baselibs_result The Result library shall provide a "Set Result" operation that accepts either a successful value of type T or an Error object. @@ -56,6 +58,7 @@ Functional Requirements :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__result_library, feat_req__baselibs__safety :status: valid :tags: inspected + :belongs_to: comp__baselibs_result The Result library shall support user-defined error domains and error codes. @@ -67,6 +70,7 @@ Functional Requirements :satisfies: feat_req__baselibs__consistent_apis, feat_req__baselibs__safety :status: valid :tags: inspected + :belongs_to: comp__baselibs_result The Result library shall enforce compile-time type safety for error handling operations. @@ -78,6 +82,7 @@ Functional Requirements :satisfies: feat_req__baselibs__consistent_apis, feat_req__baselibs__safety :status: valid :tags: inspected + :belongs_to: comp__baselibs_result The Result library shall provide conversion utilities to transform Result objects into std::optional types. The conversion shall require explicit handling of error cases before discarding error information, ensuring that errors cannot be silently ignored. @@ -92,6 +97,7 @@ Non-Functional Requirements :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid :tags: inspected + :belongs_to: comp__baselibs_result The Result library shall provide deterministic behavior with no dynamic memory allocation. @@ -103,6 +109,7 @@ Non-Functional Requirements :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid :tags: inspected + :belongs_to: comp__baselibs_result The Result library shall operate without throwing C++ exceptions. diff --git a/docs/modules/baselibs/utils/docs/requirements/index.rst b/docs/modules/baselibs/utils/docs/requirements/index.rst index a1fc0e83efb..aeb84ba126b 100644 --- a/docs/modules/baselibs/utils/docs/requirements/index.rst +++ b/docs/modules/baselibs/utils/docs/requirements/index.rst @@ -33,6 +33,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_utils The Utils component shall provide functions for encoding data to Base64 format and decoding Base64 data back to its original form. @@ -43,6 +44,7 @@ Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_utils The Utils component shall provide a functionality that stores a callback and executes it automatically when the class is destructed @@ -56,5 +58,6 @@ Non-Functional Requirements :safety: ASIL_B :satisfies: feat_req__baselibs__core_utilities, feat_req__baselibs__safety :status: valid + :belongs_to: comp__baselibs_utils The Utils component shall ensure that all operations complete in a predictable manner and without dynamic memory allocation. diff --git a/docs/modules/communication/frontent/docs/architecture/index.rst b/docs/modules/communication/frontent/docs/architecture/index.rst index dc58e7d6d10..78ac02ed139 100644 --- a/docs/modules/communication/frontent/docs/architecture/index.rst +++ b/docs/modules/communication/frontent/docs/architecture/index.rst @@ -29,8 +29,9 @@ Frontend Component Architecture :security: YES :safety: ASIL_B :status: valid - :implements: logic_arc_int__communication__user :uses: logic_arc_int__logging__logging, logic_arc_int__tracing__tracing + :belongs_to: comp__com_frontend + :fulfils: comp_req__component_name__some_title .. needarch:: :scale: 50 diff --git a/docs/modules/feo/feo/docs/architecture/component_architecture.rst b/docs/modules/feo/feo/docs/architecture/component_architecture.rst index dd15a51f281..f50a7e63c6e 100644 --- a/docs/modules/feo/feo/docs/architecture/component_architecture.rst +++ b/docs/modules/feo/feo/docs/architecture/component_architecture.rst @@ -58,12 +58,19 @@ considerations and Rust compiler constraints. (Rust proc-macros must reside in t Static Architecture ------------------- +.. comp:: FEO Main + :id: comp__feo_main + :security: YES + :safety: ASIL_B + :status: valid + .. comp_arc_sta:: Static Architecture :id: comp_arc_sta__feo__main :security: YES :safety: ASIL_B :status: valid - :fulfils: comp_req__feo__application, comp_req__feo__scheduler, comp_req__feo__task_chain, comp_req__feo__agent, comp_req__feo__comp_cfg, comp_req__feo__act_map_cfg + :belongs_to: comp__feo_main + :fulfils: comp_req__feo__application .. uml:: _assets/stat_arch.puml @@ -80,6 +87,7 @@ Dynamic Architecture :safety: ASIL_B :fulfils: comp_req__feo__application, comp_req__feo__application_lifecycle, comp_req__feo__scheduler, comp_req__feo__task_chain, comp_req__feo__agent, comp_req__feo__activity_init, comp_req__feo__activitiy_step, comp_req__feo__activity_shutdown :status: valid + :belongs_to: comp__feo_main The actual dynamic call sequence during the execution of a FEO application depends on the distribution of activities to processes as well as on the activity dependency graph defining the task chain. diff --git a/docs/modules/feo/feo/docs/requirements/component_requirements.rst b/docs/modules/feo/feo/docs/requirements/component_requirements.rst index 43fb461f0f4..30fb8148c0f 100644 --- a/docs/modules/feo/feo/docs/requirements/component_requirements.rst +++ b/docs/modules/feo/feo/docs/requirements/component_requirements.rst @@ -377,3 +377,6 @@ Error Handling for S-CORE v0.5 .. needextend:: docname is not None and "feo/docs/requirements" in docname :+tags: component_feo + +.. needextend:: docname is not None and "feo/docs/requirements" in docname and type == "comp_req" + :+belongs_to: comp__feo_main diff --git a/docs/modules/lifecycle/index.rst b/docs/modules/lifecycle/index.rst index dbc68671139..19e38733887 100644 --- a/docs/modules/lifecycle/index.rst +++ b/docs/modules/lifecycle/index.rst @@ -26,6 +26,18 @@ Lifecycle {{ draw_module(need(), needs) }} +.. comp_req:: Lifecycle + :id: comp_req__lifecycle__launch + :reqtype: Functional + :status: invalid + :security: NO + :safety: ASIL_B + :tags: lifecycle + :satisfies: feat_req__lifecycle__launch_support + :belongs_to: comp__lifecycle_launch_manager + + Dummy requirement + .. comp:: Launch Manager :id: comp__lifecycle_launch_manager :status: valid @@ -40,6 +52,8 @@ Lifecycle :status: valid :safety: ASIL_B :security: NO + :belongs_to: comp__lifecycle_launch_manager + :fulfils: comp_req__lifecycle__launch .. needarch:: :scale: 50 @@ -61,6 +75,8 @@ Lifecycle :safety: ASIL_B :security: NO :uses: logic_arc_int__lifecycle__alive_if + :belongs_to: comp__lifecycle_healthmonitor + :fulfils: comp_req__lifecycle__launch .. needarch:: :scale: 50 diff --git a/docs/modules/logging/docs/index.rst b/docs/modules/logging/docs/index.rst index 439678c1014..720f1be636f 100644 --- a/docs/modules/logging/docs/index.rst +++ b/docs/modules/logging/docs/index.rst @@ -12,9 +12,17 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* +.. mod:: Logging + :id: mod__logging + :status: valid + :safety: ASIL_B + :security: YES + :includes: comp__logging + .. mod_view_sta:: Logging :id: mod_view_sta__logging__logging - :includes: comp_arc_sta__logging__logging + :includes: comp__logging + :belongs_to: mod__logging .. needarch:: :scale: 50 diff --git a/docs/modules/logging/logging/docs/architecture/index.rst b/docs/modules/logging/logging/docs/architecture/index.rst index 5f0882f82f9..50f789d0b1c 100644 --- a/docs/modules/logging/logging/docs/architecture/index.rst +++ b/docs/modules/logging/logging/docs/architecture/index.rst @@ -14,13 +14,20 @@ Component Architecture ********************** +.. comp:: Logging + :id: comp__logging + :security: YES + :safety: ASIL_B + :status: valid + :implements: logic_arc_int__logging__logging .. comp_arc_sta:: Logging :id: comp_arc_sta__logging__logging :security: YES :safety: ASIL_B :status: valid - :implements: logic_arc_int__logging__logging + :belongs_to: comp__logging + :fulfils: comp_req__component_name__some_title .. needarch:: :scale: 50 diff --git a/docs/modules/orchestrator/executor/docs/architecture/index.rst b/docs/modules/orchestrator/executor/docs/architecture/index.rst index 7f5d47ebe1a..bc284caca0f 100644 --- a/docs/modules/orchestrator/executor/docs/architecture/index.rst +++ b/docs/modules/orchestrator/executor/docs/architecture/index.rst @@ -75,6 +75,8 @@ The components are designed to cover the expectations from the feature architect :safety: ASIL_B :status: valid :uses: logic_arc_int__logging__logging, logic_arc_int__tracing__tracing + :belongs_to: comp__orch_executor + :fulfils: comp_req__component_name__some_title .. needarch:: :scale: 50 diff --git a/docs/modules/orchestrator/orchestrator/docs/architecture/index.rst b/docs/modules/orchestrator/orchestrator/docs/architecture/index.rst index 2ce1f7cc1aa..01c849af475 100644 --- a/docs/modules/orchestrator/orchestrator/docs/architecture/index.rst +++ b/docs/modules/orchestrator/orchestrator/docs/architecture/index.rst @@ -100,8 +100,9 @@ The components are designed to cover the expectations from the feature architect :security: YES :safety: ASIL_B :status: valid - :includes: comp__orch_design_impl, comp__orch_deployment_impl :uses: logic_arc_int__logging__logging, logic_arc_int__tracing__tracing, logic_arc_int__communication__user + :belongs_to: comp__orchestrator + :fulfils: comp_req__component_name__some_title .. needarch:: :scale: 50 diff --git a/docs/modules/os/docs/index.rst b/docs/modules/os/docs/index.rst index b6d9e933185..70b684d71ff 100644 --- a/docs/modules/os/docs/index.rst +++ b/docs/modules/os/docs/index.rst @@ -12,11 +12,17 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* - +.. mod:: OS + :id: mod__os + :status: valid + :safety: ASIL_B + :security: YES + :includes: comp__os_libc, comp__os_message_passing .. mod_view_sta:: OS :id: mod_view_sta__os__os - :includes: comp_arc_sta__os__libc, comp_arc_sta__os__message_passing + :includes: comp__os_libc, comp__os_message_passing + :belongs_to: mod__os .. needarch:: :scale: 50 diff --git a/docs/modules/os/libc/docs/architecture/index.rst b/docs/modules/os/libc/docs/architecture/index.rst index a98af055d32..4968359ca15 100644 --- a/docs/modules/os/libc/docs/architecture/index.rst +++ b/docs/modules/os/libc/docs/architecture/index.rst @@ -15,13 +15,21 @@ libc Component Architecture *************************** +.. comp:: os::libc + :id: comp__os_libc + :security: YES + :safety: ASIL_B + :status: valid + :implements: logic_arc_int__os__fcntl, logic_arc_int__os__stat, logic_arc_int__os__mmap, logic_arc_int__os__fork + .. comp_arc_sta:: libc :id: comp_arc_sta__os__libc :security: YES :safety: ASIL_B :status: valid :satisfies: - :implements: logic_arc_int__os__fcntl, logic_arc_int__os__stat, logic_arc_int__os__mmap, logic_arc_int__os__fork + :belongs_to: comp__os_libc + :fulfils: comp_req__component_name__some_title .. needarch:: :scale: 50 diff --git a/docs/modules/os/message_passing/docs/architecture/index.rst b/docs/modules/os/message_passing/docs/architecture/index.rst index dc8bce3c8de..c26e4235153 100644 --- a/docs/modules/os/message_passing/docs/architecture/index.rst +++ b/docs/modules/os/message_passing/docs/architecture/index.rst @@ -15,13 +15,22 @@ Message Passing Component Architecture ************************************** -.. comp_arc_sta:: QNX::Message Passing - :id: comp_arc_sta__os__message_passing +.. comp:: QNX::Message Passing + :id: comp__os_message_passing :security: YES :safety: ASIL_B :status: valid :implements: logic_arc_int__os__message_passing + +.. comp_arc_sta:: QNX::Message Passing Static View + :id: comp_arc_sta__os__message_passing + :security: YES + :safety: ASIL_B + :status: valid + :belongs_to: comp__os_message_passing + :fulfils: comp_req__component_name__some_title + .. needarch:: :scale: 50 :align: center diff --git a/docs/modules/tracing/docs/index.rst b/docs/modules/tracing/docs/index.rst index e414f228a0c..f5f27db583d 100644 --- a/docs/modules/tracing/docs/index.rst +++ b/docs/modules/tracing/docs/index.rst @@ -12,9 +12,17 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* +.. mod:: Tracing + :id: mod__tracing + :status: valid + :safety: ASIL_B + :security: YES + :includes: comp__tracing + .. mod_view_sta:: Tracing :id: mod_view_sta__tracing__tracing - :includes: comp_arc_sta__tracing__tracing + :includes: comp__tracing + :belongs_to: mod__tracing .. needarch:: :scale: 50 diff --git a/docs/modules/tracing/tracing/docs/architecture/index.rst b/docs/modules/tracing/tracing/docs/architecture/index.rst index 87b3ade9f09..c02111cfa43 100644 --- a/docs/modules/tracing/tracing/docs/architecture/index.rst +++ b/docs/modules/tracing/tracing/docs/architecture/index.rst @@ -15,12 +15,21 @@ Tracing Component Architecture ****************************** +.. comp:: Tracing + :id: comp__tracing + :security: YES + :safety: ASIL_B + :status: valid + :implements: logic_arc_int__tracing__tracing + + .. comp_arc_sta:: Tracing :id: comp_arc_sta__tracing__tracing :security: YES :safety: ASIL_B :status: valid - :implements: logic_arc_int__tracing__tracing + :belongs_to: comp__tracing + :fulfils: comp_req__component_name__some_title .. needarch:: :scale: 50