From 5fe8af1f1f11f8ccad1ced4747048fb15af6f8bb Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" Date: Fri, 19 Jun 2026 13:18:09 +0200 Subject: [PATCH 01/15] move documentation to right folders and add user manual --- .../feature_example/architecture/index.rst | 26 -- docs/manuals/api_description/.gitkeep | 0 docs/manuals/config/.gitkeep | 0 docs/manuals/examples/.gitkeep | 0 docs/manuals/index.rst | 1 + docs/manuals/performance/.gitkeep | 0 docs/manuals/user_manuel.rst | 274 ++++++++++++++++++ index.rst | 123 +++----- .../architecture/component_architecture.rst | 142 +++++++++ .../component_architecture_template.rst | 124 -------- .../docs/architecture/index.rst | 141 +-------- score/component_example/docs/index.rst | 31 +- .../docs/requirements/index.rst | 92 +----- .../docs/requirements/requirements.rst | 101 +++++++ 14 files changed, 595 insertions(+), 460 deletions(-) create mode 100644 docs/manuals/api_description/.gitkeep create mode 100644 docs/manuals/config/.gitkeep create mode 100644 docs/manuals/examples/.gitkeep create mode 100644 docs/manuals/performance/.gitkeep create mode 100644 docs/manuals/user_manuel.rst create mode 100644 score/component_example/docs/architecture/component_architecture.rst delete mode 100644 score/component_example/docs/architecture/component_architecture_template.rst create mode 100644 score/component_example/docs/requirements/requirements.rst diff --git a/docs/features/feature_example/architecture/index.rst b/docs/features/feature_example/architecture/index.rst index f128e5e3..9789b649 100644 --- a/docs/features/feature_example/architecture/index.rst +++ b/docs/features/feature_example/architecture/index.rst @@ -101,32 +101,6 @@ Logical Interfaces The logical interfaces of the feature are defined in the `logical interfaces` section of the feature documentation in the project repository. -Module Viewpoint ----------------- - -The following modules are needed to be defined to be able to draw the static feature view. -They will be replaced by linking the proper module definitions in the used module's repositories as soon as those exist. - -The rendered module and used-component examples are maintained in the -`module template documentation `_. - -.. code-block:: rst - - .. mod:: Module Name - :id: mod__module_name - :includes: comp__component_name_template - - - .. mod_view_sta:: Module Name Static View - :id: mod_view_sta__feature_name__module_name - :includes: comp__component_name_template - - .. needarch:: - :scale: 50 - :align: center - - {{ draw_module(need(), needs) }} - Used Components --------------- diff --git a/docs/manuals/api_description/.gitkeep b/docs/manuals/api_description/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/docs/manuals/config/.gitkeep b/docs/manuals/config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/docs/manuals/examples/.gitkeep b/docs/manuals/examples/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/docs/manuals/index.rst b/docs/manuals/index.rst index 8890d44c..87adad05 100644 --- a/docs/manuals/index.rst +++ b/docs/manuals/index.rst @@ -18,5 +18,6 @@ Manuals .. toctree:: :titlesonly: + user_manuel safety_manual security_manual diff --git a/docs/manuals/performance/.gitkeep b/docs/manuals/performance/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/docs/manuals/user_manuel.rst b/docs/manuals/user_manuel.rst new file mode 100644 index 00000000..cbb49c18 --- /dev/null +++ b/docs/manuals/user_manuel.rst @@ -0,0 +1,274 @@ +.. + # ******************************************************************************* + # 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_manual: + +User Manual +########### + + +.. attention:: + Update the document metadata according to your needs, particularly linking to the corresponding + work package with the ``realizes`` field once work packages are defined. + +Overview +======== + +This user manual provides comprehensive guidance for using the [Your Module Name] module. +It covers installation, configuration, basic usage, and best practices for integrating this module +into your project. + +.. note:: + This is a template user manual. Replace placeholder text with actual module-specific information. + +Feature List +============ + +Key features of this module: + +* Feature overview and navigation: :doc:`/docs/features/index` +* Feature template and scope example: :doc:`/docs/features/feature_example/index` +* Feature architecture and verification artifacts: :doc:`/docs/features/feature_example/architecture/index` +* Feature safety artifacts (FMEA, DFA, AoU): :doc:`/docs/features/feature_example/safety_analysis/fmea`, :doc:`/docs/features/feature_example/safety_analysis/dfa`, and :doc:`/docs/features/feature_example/safety_analysis/aou_requirements_template` +* Feature security artifacts: :doc:`/docs/features/feature_example/security_analysis/index` +* Feature planning artifacts (safety/security): :doc:`/docs/features/feature_example/safety_planning/index` and :doc:`/docs/features/feature_example/security_planning/index` + +Platform Requirements +===================== + +Supported Platforms +------------------- + +* **C++**: C++17 or later +* **Rust**: 1.70 or later (if Rust support is included) +* **Build System**: Bazel 6.0 or later +* **Operating Systems**: Linux, macOS, Windows (as applicable) + +Dependencies +------------ + +[List key external dependencies, licenses, and version requirements] + +**Example:** +* Standard library (STL/Core) +* [Other required libraries] + +Quick Start - Building and Testing +=================================== + +Building the Module +-------------------- + +To build the entire module: + +.. code-block:: bash + + bazel build //src/... + +Running Tests +-------------- + +To run all tests: + +.. code-block:: bash + + bazel test //... + +To run only unit tests: + +.. code-block:: bash + + bazel test //src/... + +To run component or feature integration tests: + +.. code-block:: bash + + bazel test //tests/... + +Module Configuration Details +============================= + +The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros. +This file controls build behavior and project-specific settings. + +Configuration Example +--------------------- + +.. code-block:: python + + PROJECT_CONFIG = { + "asil_level": "QM", + "source_code": ["cpp", "rust"] + } + +Configuration Effects +--------------------- + +The configuration enables conditional build behavior: + +* **Language-specific tools**: For C++ code, tools like ``clang-tidy`` are used; for Rust code, ``clippy`` is used +* **Safety level**: The ASIL level affects safety-related build settings and validation +* **Source code languages**: The build system optimizes for the configured languages + +Getting Started with Features and Components +============================================ + +Feature Documentation +--------------------- + +For documentation on features implemented in the module: + +.. toctree:: + :maxdepth: 1 + + /docs/features/index + +Component Documentation +----------------------- + +For documentation of individual components within this module: + +.. toctree:: + :maxdepth: 1 + + /score/component_example/docs/index + +Examples +-------- + +Useful examples and tutorials: + +.. toctree:: + :maxdepth: 1 + + /examples/docs/architecture_modeling_example + +Integration Guidelines +====================== + +Integrating with Your Project +------------------------------ + +1. Add the module to your Bazel workspace: + + .. code-block:: python + + # In your MODULE.bazel + bazel_dep(name = "module_template", version = "1.0") + +2. Reference in your build files: + + .. code-block:: python + + cc_library( + name = "my_target", + deps = ["@module_template//score/component_example:component"], + ) + +3. Include headers and compile your code + +Best Practices +-------------- + +* Always validate input parameters +* Handle error codes and exceptions appropriately +* Use the module in accordance with safety and security guidelines +* Review the safety manual (wp__module_safety_manual) for safety-critical applications +* Review the security manual (wp__module_security_manual) for security considerations + +API Reference +============= + +For complete API documentation and descriptions, refer to the API documentation in the ``api_description/`` directory. + +Performance Considerations +========================== + +This section covers performance characteristics, optimization strategies, and resource requirements. +Refer to the ``performance/`` directory for detailed performance guides and benchmarks. + +Troubleshooting +=============== + +Common Issues and Solutions +---------------------------- + +**Issue: Build fails with undefined reference** + + Check that all dependencies are properly declared in your BUILD file and that the module is correctly linked. + +**Issue: Runtime errors or crashes** + + Verify that: + * You are using the module API correctly (refer to API Reference) + * All required initialization steps have been completed + * Input data meets the documented requirements + +**Issue: Performance problems** + + Consult the Performance Considerations section or review the ``performance/`` documentation. + +Getting Help +============ + +For additional support and resources: + +* Review the API Reference documentation +* Check the configuration examples in the ``config/`` folder +* Refer to example implementations in ``examples/`` +* Consult the Safety Manual for safety-critical usage +* Consult the Security Manual for security-related concerns +* Contact the module maintainers or community forums + +Safety and Security +=================== + +**Safety-Critical Usage**: If you are using this module in a safety-critical context, +please refer to :doc:`safety_manual` for detailed safety requirements and guidelines. + +**Security Considerations**: For information about security aspects and requirements, +please refer to :doc:`security_manual`. + +Known Limitations +================= + +* [Limitation 1] +* [Limitation 2] +* [Known issues and workarounds] + +Version History and Compatibility +================================== + +[Document version changes, API stability, deprecation notices, and migration guides] + +**Current Version**: 1.0 (Draft) + +Compatibility Notes +------------------- + +* Backward compatibility with previous versions: [Yes/No/Partial] +* Migration guide for [previous version] users: [Link or reference] + +License +======= + +This module is licensed under the Apache License Version 2.0. +See the LICENSE file in the repository for full license text. + +Feedback and Contributions +========================== + +Your feedback and contributions are welcome! Please report issues or suggestions through the +project's issue tracker or contribute directly to the repository. diff --git a/index.rst b/index.rst index 6422a728..568fb92c 100644 --- a/index.rst +++ b/index.rst @@ -27,7 +27,7 @@ Overview This repository provides a standardized setup for projects using **C++** or **Rust** and **Bazel** as a build system. It integrates best practices for build, test, CI/CD and documentation. It also provides an example of modeling architecture in Sphinx Needs in :doc:`/examples/docs/architecture_modeling_example`. -It also provides the component architecture template snippets in :doc:`/score/component_example/docs/architecture/component_architecture_template`. +It also provides the component architecture template snippets in :doc:`/score/component_example/docs/architecture/component_architecture`. It also provides an example of documenting detailed design in :doc:`/score/component_example/docs/detailed_design/detailed_design_example`. Module Layout @@ -48,10 +48,16 @@ The module template includes the following top-level structure: │ │ ├── safety_planning/ # Feature safety planning artifacts │ │ ├── security_analysis/ # Feature security analysis artifacts [wp__feature_security_analysis] │ │ └── security_planning/ # Feature security planning artifacts - │ ├── manuals/ # Module manual, integration manual, table of assumptions of use, - │ │ # safety manual [wp__module_safety_manual], - │ │ # needs table of [wp__requirements_feat_aou] - │ │ # security manual [wp__module_security_manual] + │ ├── manuals/ # Module manual, integration manual, table of assumptions of use + │ │ | # safety manual [wp__module_safety_manual], + │ │ | # needs table of [wp__requirements_feat_aou] + │ │ | # security manual [wp__module_security_manual] + │ │ │ # Additional optional user centric documentation (e.g. configuration guide, + │ │ │ # examples user guide, APIs & usage, performance analysis) + │ │ ├── config/ # Configuration guide (optional) + │ │ ├── examples/ # Examples user guide (optional) + │ │ ├── api_description/ # API detail description (optional) + │ │ └── performance/ # Performance analysis (optional) │ ├── release/ # Module release note [wp__module_sw_release_note] │ ├── safety_mgt/ # Module safety plan [wp__module_safety_plan], │ │ # module safety package [wp__module_safety_package], @@ -112,9 +118,15 @@ For identification of the single feature, the repository name or module name sho │ ├── security_analysis/ # Feature security analysis artifacts [wp__feature_security_analysis] │ ├── security_planning/ # Feature security planning artifacts │ ├── manuals/ # Module manual, integration manual, table of assumptions of use, - │ │ # safety manual [wp__module_safety_manual], - │ │ # needs table of [wp__requirements_feat_aou] - │ │ # security manual [wp__module_security_manual] + │ │ | # safety manual [wp__module_safety_manual], + │ │ | # needs table of [wp__requirements_feat_aou] + │ │ | # security manual [wp__module_security_manual] + │ │ | # Additional optional user centric documentation (e.g. configuration guide, + │ │ | # examples user guide, APIs & usage, performance analysis) + │ │ ├── config/ # Configuration guide (optional) + │ │ ├── examples/ # Examples user guide (optional) + │ │ ├── api_description/ # APIs detail description (optional) + │ │ └── performance/ # Performance analysis (optional) │ ├── release/ # Module release note [wp__module_sw_release_note] │ ├── safety_mgt/ # Module safety plan [wp__module_safety_plan], │ │ # module safety package [wp__module_safety_package], @@ -150,83 +162,40 @@ For identification of the single feature, the repository name or module name sho ├── project_config.bzl # Project metadata used by Bazel macros └── README.md # Entry point of the repository -Module / Feature Documentation ------------------------------- - -.. toctree:: - :maxdepth: 1 - - docs/features/index - docs/manuals/index - docs/release/release_note - docs/safety_mgt/index - docs/security_mgt/index - docs/verification_report/module_verification_report - -Component documentation -------------------------------- - -.. toctree:: - :maxdepth: 1 - - score/component_example/docs/index - score/component_example/docs/architecture/index - score/component_example/docs/detailed_design/index - score/component_example/docs/requirements/index - score/component_example/docs/safety_analysis/dfa - score/component_example/docs/safety_analysis/fmea - score/component_example/docs/safety_analysis/aou_requirements_template - score/component_example/docs/component_classification - -Examples --------- - -.. toctree:: - :maxdepth: 1 - - /examples/docs/architecture_modeling_example - - - -Quick Start ------------ - -To build the module: - -.. code-block:: bash - - bazel build //src/... - -To run all tests: - -.. code-block:: bash - - bazel test //... - -To run Unit Tests: +Module Documentation +-------------------- -.. code-block:: bash + - bazel test //src/... + -To run Component / Feature Integration Tests: +.. code-block:: rst -.. code-block:: bash + .. mod:: Module Name + :id: mod__module_name + :includes: comp__component_name_template - bazel test //tests/... -Module Configuration --------------------- + .. mod_view_sta:: Module Name Static View + :id: mod_view_sta__feature_name__module_name + :includes: comp__component_name_template -The `project_config.bzl` file defines metadata used by Bazel macros. + .. needarch:: + :scale: 50 + :align: center -Example: + {{ draw_module(need(), needs) }} -.. code-block:: python - PROJECT_CONFIG = { - "asil_level": "QM", - "source_code": ["cpp", "rust"] - } +.. toctree:: + :maxdepth: 1 -This enables conditional behavior (e.g., choosing `clang-tidy` for C++ or `clippy` for Rust). + docs/manuals/index + docs/release/release_note + docs/safety_mgt/index + docs/security_mgt/index + docs/verification_report/module_verification_report diff --git a/score/component_example/docs/architecture/component_architecture.rst b/score/component_example/docs/architecture/component_architecture.rst new file mode 100644 index 00000000..b3063346 --- /dev/null +++ b/score/component_example/docs/architecture/component_architecture.rst @@ -0,0 +1,142 @@ +.. + # ******************************************************************************* + # 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 + # ******************************************************************************* + +Component Architecture Documentation +==================================== + +.. document:: [Your Component Name] Architecture + :id: doc__mod_temp_component_name_architecture + :status: draft + :safety: ASIL_B + :security: NO + :realizes: wp__component_arch + :tags: template + +.. attention:: + The above directive must be updated according to your needs. + + - Modify ``Your Component Name`` to be your Component Name + - Modify ``id`` to be your Component Name in upper snake case preceded by ``doc__`` and followed by ``_architecture`` + - Adjust ``status`` to be ``valid`` + - Adjust ``safety`` and ``tags`` according to your needs + + +Overview +-------- + + + +Requirements Linked to Component Architecture +--------------------------------------------- + +.. code-block:: none + + .. needtable:: Overview of Component Requirements + :style: table + :columns: title;id + :filter: search("comp_arch_sta__archdes$", "fulfils_back") + :colwidths: 70,30 + +Description +----------- + + + + + + + +Rationale Behind Architecture Decomposition +******************************************* + +Mandatory: A motivation for the decomposition or reason for not further splitting it into internal components. + +.. note:: Common decisions across components / cross cutting concepts is at the higher level. + +Static Architecture +------------------- + +The components are designed to cover the expectations from the feature architecture +(i.e. if already exists a definition it should be taken over and enriched). + +A component can optional also consist of lower level components to further structure the architecture. The component and its static views can also optionally use interfaces provided by other components. + +.. comp:: Component Name + :id: comp__mod_temp_component_name_template + :security: YES + :safety: ASIL_B + :status: valid + :consists_of: comp__mod_temp_archex_sub_component_1, comp__mod_temp_archex_sub_component_2, comp__mod_temp_archex_sub_component_3 + :belongs_to: feat__mtef + +.. comp_arc_sta:: Component Name (Static View) + :id: comp_arc_sta__mod_temp_component_name__sv + :security: YES + :safety: ASIL_B + :status: valid + :belongs_to: comp__mod_temp_component_name_template + :fulfils: comp_req__mod_temp_component_name__some_title + + .. needarch:: + :scale: 50 + :align: center + + {{ draw_component(need(), needs) }} + +Dynamic Architecture +-------------------- + +.. comp_arc_dyn:: Dynamic View + :id: comp_arc_dyn__mod_temp_component_name__dv + :security: YES + :safety: ASIL_B + :status: valid + :belongs_to: comp__mod_temp_component_name_template + :fulfils: comp_req__mod_temp_component_name__some_title + + Put here a sequence diagram + +Interfaces +---------- + +.. code-block:: rst + + .. real_arc_int:: + :id: real_arc_int__<component>__<Title> + :security: <YES|NO> + :safety: <QM|ASIL_B> + :fulfils: <link to component requirement id> + :language: cpp + +Internal Components +------------------- + +.. comp_arc_sta:: Component Name Static View + :id: comp_arc_sta__mod_temp_component_name__2 + :status: valid + :safety: ASIL_B + :security: YES + :fulfils: comp_req__mod_temp_component_name__some_title + :belongs_to: comp__mod_temp_component_example_2 + + No architecture but detailed design + +.. note:: + Architecture can be split into multiple files. At component level the public interfaces to be used by the user and tester to be shown. + +.. attention:: + The above directives must be updated according to your component architecture. + + - Replace the example content by the real content (according to :need:`gd_guidl__arch_design`) + - Set the status to valid and start the review/merge process diff --git a/score/component_example/docs/architecture/component_architecture_template.rst b/score/component_example/docs/architecture/component_architecture_template.rst deleted file mode 100644 index 419b4406..00000000 --- a/score/component_example/docs/architecture/component_architecture_template.rst +++ /dev/null @@ -1,124 +0,0 @@ -.. - # ******************************************************************************* - # 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 - # ******************************************************************************* - -Component Architecture Template -=============================== - -This page contains the component architecture template snippets that belong to the -module template repository. - -Overview --------- - -Use these snippets as the starting point for documenting component architecture in -the module template. - -Static Architecture -------------------- - -.. code-block:: rst - - .. comp:: Component Name - :id: comp__mod_temp_component_name_template - :security: YES - :safety: ASIL_B - :status: invalid - :implements: logic_arc_int__feature_name__interface_name1 - :consists_of: comp__component_name_internal_1, comp__component_name_internal_2, comp__component_name_internal_3 - :belongs_to: feat__feature_name - - .. comp_arc_sta:: Component Name (Static View) - :id: comp_arc_sta__mod_temp_component_name__sv - :security: YES - :safety: ASIL_B - :status: invalid - :belongs_to: comp__mod_temp_component_name_template - :uses: logic_arc_int__feature_name__interface_name1 - :fulfils: comp_req__mod_temp_component_name__some_title - - .. needarch:: - :scale: 50 - :align: center - - {{ draw_component(need(), needs) }} - -Dynamic Architecture --------------------- - -.. code-block:: rst - - .. comp_arc_dyn:: Dynamic View - :id: comp_arc_dyn__mod_temp_component_name__dv - :security: YES - :safety: ASIL_B - :status: invalid - :belongs_to: comp__mod_temp_component_name_template - :fulfils: comp_req__mod_temp_component_name__some_title - - Put here a sequence diagram - -Component Interface -------------------- - -The rendered component-interface example is maintained here so the module template -repository owns the live ``real_arc_int`` example. - -.. real_arc_int:: Component Interface 1 - :id: real_arc_int__mod_temp_component_name__if_1 - :status: valid - :safety: ASIL_B - :security: NO - :language: cpp - - .. needarch:: - :scale: 50 - :align: center - - {{ draw_interface(need(), needs)}} - -Internal Components -------------------- - -.. code-block:: rst - - .. comp_arc_sta:: Component Name Static View - :id: comp_arc_sta__mod_temp_component_name__2 - :status: invalid - :safety: ASIL_B - :security: YES - :fulfils: comp_req__mod_temp_component_name__some_title - :belongs_to: comp__mod_temp_component_name_template - - No architecture but detailed design - - .. comp:: Internal Component 1 - :id: comp__component_name_internal_1 - :status: invalid - :safety: ASIL_B - :security: YES - :belongs_to: feat__feature_name - - .. comp:: Internal Component 2 - :id: comp__component_name_internal_2 - :status: invalid - :safety: ASIL_B - :security: YES - :belongs_to: feat__feature_name - - .. comp:: Internal Component 3 - :id: comp__component_name_internal_3 - :status: invalid - :safety: ASIL_B - :security: YES - :belongs_to: feat__feature_name diff --git a/score/component_example/docs/architecture/index.rst b/score/component_example/docs/architecture/index.rst index cd63b36d..3ea0100b 100644 --- a/score/component_example/docs/architecture/index.rst +++ b/score/component_example/docs/architecture/index.rst @@ -17,146 +17,7 @@ Component Architecture ====================== -.. document:: [Your Component Name] Architecture - :id: doc__mod_temp_component_name_architecture - :status: draft - :safety: ASIL_B - :security: NO - :realizes: wp__component_arch - :tags: template - -.. attention:: - The above directive must be updated according to your needs. - - - Modify ``Your Component Name`` to be your Component Name - - Modify ``id`` to be your Component Name in upper snake case preceded by ``doc__`` and followed by ``_architecture`` - - Adjust ``status`` to be ``valid`` - - Adjust ``safety`` and ``tags`` according to your needs - -Overview --------- -<Brief summary> - -Requirements Linked to Component Architecture ---------------------------------------------- - -.. code-block:: none - - .. needtable:: Overview of Component Requirements - :style: table - :columns: title;id - :filter: search("comp_arch_sta__archdes$", "fulfils_back") - :colwidths: 70,30 - -Description ------------ - -<General Description> - -<Design Decisions - For the documentation of the decision the :need:`gd_temp__change_decision_record` can be used.> - -<Design Constraints> - -Rationale Behind Architecture Decomposition -******************************************* - -Mandatory: A motivation for the decomposition or reason for not further splitting it into internal components. - -.. note:: Common decisions across components / cross cutting concepts is at the higher level. - -Static Architecture -------------------- - -The components are designed to cover the expectations from the feature architecture -(i.e. if already exists a definition it should be taken over and enriched). - -A component can optional also consist of lower level components to further structure the architecture. The component and its static views can also optionally use interfaces provided by other components. - -.. comp:: Component Name - :id: comp__mod_temp_component_name_template - :security: YES - :safety: ASIL_B - :status: valid - :consists_of: comp__mod_temp_archex_sub_component_1, comp__mod_temp_archex_sub_component_2, comp__mod_temp_archex_sub_component_3 - :belongs_to: feat__mtef - -.. comp_arc_sta:: Component Name (Static View) - :id: comp_arc_sta__mod_temp_component_name__sv - :security: YES - :safety: ASIL_B - :status: valid - :belongs_to: comp__mod_temp_component_name_template - :fulfils: comp_req__mod_temp_component_name__some_title - - .. needarch:: - :scale: 50 - :align: center - - {{ draw_component(need(), needs) }} - -Dynamic Architecture --------------------- - -.. comp_arc_dyn:: Dynamic View - :id: comp_arc_dyn__mod_temp_component_name__dv - :security: YES - :safety: ASIL_B - :status: valid - :belongs_to: comp__mod_temp_component_name_template - :fulfils: comp_req__mod_temp_component_name__some_title - - Put here a sequence diagram - - -Interfaces ----------- - -.. code-block:: rst - - .. real_arc_int:: <Title> - :id: real_arc_int__<component>__<Title> - :security: <YES|NO> - :safety: <QM|ASIL_B> - :fulfils: <link to component requirement id> - :language: cpp - -Internal Components -------------------- - -.. comp_arc_sta:: Component Name Static View - :id: comp_arc_sta__mod_temp_component_name__2 - :status: valid - :safety: ASIL_B - :security: YES - :fulfils: comp_req__mod_temp_component_name__some_title - :belongs_to: comp__mod_temp_component_example_2 - - No architecture but detailed design - -.. note:: - Architecture can be split into multiple files. At component level the public interfaces to be used by the user and tester to be shown. - -.. attention:: - The above directives must be updated according to your component architecture. - - - Replace the example content by the real content (according to :need:`gd_guidl__arch_design`) - - Set the status to valid and start the review/merge process - -Component Architecture Template -------------------------------- - - A component architecture template is available to be used as a starting point for the documentation of the component architecture. It includes the main sections and example content to be adapted according to the real component architecture. - -.. toctree:: - - component_architecture_template - - -Architecture Checklist ----------------------- - -See following architecture inspection checklist for verification of the architecture. - .. toctree:: + component_architecture chklst_arc_inspection diff --git a/score/component_example/docs/index.rst b/score/component_example/docs/index.rst index a4ad7250..2902f98b 100644 --- a/score/component_example/docs/index.rst +++ b/score/component_example/docs/index.rst @@ -27,8 +27,19 @@ :realizes: wp__cmpt_request :tags: template +.. code-block:: rst + + .. comp:: Component Name + :id: comp__mod_temp_component_name_template + :security: YES + :safety: ASIL_B + :status: invalid + :implements: logic_arc_int__feature_name__interface_name1 + :consists_of: comp__component_name_internal_1, comp__component_name_internal_2, comp__component_name_internal_3 + :belongs_to: feat__feature_name + .. attention:: - The above directive must be updated according to your Component. + The above directives must be updated according to your Component. - Modify ``document`` to be your Component Name - Modify ``id`` to be your Component Name in upper snake case preceded by ``doc__`` @@ -56,7 +67,6 @@ Specification [Describe the requirements, architecture of any component.] or - Backwards Compatibility ======================= @@ -149,3 +159,20 @@ Footnotes ========= [A collection of footnotes cited in the CR, and a place to list non-inline hyperlink targets.] + + +Further Documentation of the component can be found in the following sections: + +Component Detail Information +============================ + +.. toctree:: + :maxdepth: 1 + + architecture/index + detailed_design/index + requirements/index + safety_analysis/dfa + safety_analysis/fmea + safety_analysis/aou_requirements_template + component_classification diff --git a/score/component_example/docs/requirements/index.rst b/score/component_example/docs/requirements/index.rst index 17785ce4..9eea1fc7 100644 --- a/score/component_example/docs/requirements/index.rst +++ b/score/component_example/docs/requirements/index.rst @@ -15,97 +15,7 @@ Requirements ############ -.. document:: [Your Component Name] Requirements - :id: doc__mod_temp_component_name_requirements - :status: draft - :safety: ASIL_B - :security: YES - :realizes: wp__requirements_comp - :tags: template - -.. attention:: - The above directive must be updated according to your Component. - - - Modify ``Your Component Name`` to be your Component Name - - Modify ``id`` to be your Component Name in upper snake case preceded by ``doc__`` and followed by ``_requirements`` - - Adjust ``status`` to be ``valid`` - - Adjust ``safety``, ``security`` and ``tags`` according to your needs - -<Headlines (for the list of requirements if structuring is needed)> -=================================================================== - -Component Requirements ----------------------- - -.. comp_req:: Some Title - :id: comp_req__mod_temp_component_name__some_title - :reqtype: Process - :security: YES - :safety: ASIL_B - :derived_from: feat_req__example_feature__example_req - :status: valid - :satisfied_by: comp__mod_temp_component_name_template - - The Component shall do xyz to another component to bring it to this condition at this time - - Note: (optional, not to be verified) - -.. attention:: - The above directive must be updated according to your component requirements. - - - Replace the example content by the real content for your first requirement - - Set ``derived_from`` with links to Feature requirements - - Set ``satisfied_by`` with a link to the right Component id - - Set ``safety`` and ``security`` to the right value - - Set the status to valid and start the review/merge process - - Add other needed requirements for your component - -Assumption of Use Requirements ------------------------------- - -.. aou_req:: Next Title - :id: aou_req__mod_temp_component_name__next_title - :reqtype: Process - :security: YES - :safety: ASIL_B - :status: valid - - The Component User shall do xyz to use the component safely/securely - -Environmental Requirements --------------------------- - -.. aou_req:: Another Title - :id: aou_req__mod_temp_component_name__another - :reqtype: Process - :security: YES - :safety: ASIL_B - :status: invalid - :tags: environment - - The Component shall only be used in a xyz environment to ensure its proper functioning. - -Hints ------ - -.. attention:: - The above directives must be updated according to your feature requirements. - - - Replace the example content by the real content for your first requirement (according to :need:`gd_guidl__req_engineering`) - - Set ``safety`` and ``security`` to the right value (ASIL B/QM; YES/NO) - - Set ``reqtype`` with a link to the right value (<Functional|Interface|Process|Non-Functional>) - - Add other needed requirements for your feature - - Set ``status`` to ``valid`` and start the review/merge process - -.. needextend:: is_external == False and "component_name" in id - :+tags: component_name - -Requirements checklist ----------------------- - -See following requirements inspection checklist for verification of the requirements. - .. toctree:: - :hidden: + requirements chklst_req_inspection diff --git a/score/component_example/docs/requirements/requirements.rst b/score/component_example/docs/requirements/requirements.rst new file mode 100644 index 00000000..4da6914b --- /dev/null +++ b/score/component_example/docs/requirements/requirements.rst @@ -0,0 +1,101 @@ +.. + # ******************************************************************************* + # 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 + # ******************************************************************************* + +Component <Name> Requirements +############################# + +.. document:: [Your Component Name] Requirements + :id: doc__mod_temp_component_name_requirements + :status: draft + :safety: ASIL_B + :security: YES + :realizes: wp__requirements_comp + :tags: template + +.. attention:: + The above directive must be updated according to your Component. + + - Modify ``Your Component Name`` to be your Component Name + - Modify ``id`` to be your Component Name in upper snake case preceded by ``doc__`` and followed by ``_requirements`` + - Adjust ``status`` to be ``valid`` + - Adjust ``safety``, ``security`` and ``tags`` according to your needs + +<Headlines (for the list of requirements if structuring is needed)> +=================================================================== + +Functional Requirements +----------------------- + +.. comp_req:: Some Title + :id: comp_req__mod_temp_component_name__some_title + :reqtype: Process + :security: YES + :safety: ASIL_B + :derived_from: feat_req__example_feature__example_req + :status: valid + :satisfied_by: comp__mod_temp_component_name_template + + The Component shall do xyz to another component to bring it to this condition at this time + + Note: (optional, not to be verified) + +.. attention:: + The above directive must be updated according to your component requirements. + + - Replace the example content by the real content for your first requirement + - Set ``derived_from`` with links to Feature requirements + - Set ``satisfied_by`` with a link to the right Component id + - Set ``safety`` and ``security`` to the right value + - Set the status to valid and start the review/merge process + - Add other needed requirements for your component + +Assumption of Use Requirements +------------------------------ + +.. aou_req:: Next Title + :id: aou_req__mod_temp_component_name__next_title + :reqtype: Process + :security: YES + :safety: ASIL_B + :status: valid + + The Component User shall do xyz to use the component safely/securely + +Environmental Requirements +-------------------------- + +.. aou_req:: Another Title + :id: aou_req__mod_temp_component_name__another + :reqtype: Process + :security: YES + :safety: ASIL_B + :status: invalid + :tags: environment + + The Component shall only be used in a xyz environment to ensure its proper functioning. + +Hints +----- + +.. attention:: + The above directives must be updated according to your feature requirements. + + - Replace the example content by the real content for your first requirement (according to :need:`gd_guidl__req_engineering`) + - Set ``safety`` and ``security`` to the right value (ASIL B/QM; YES/NO) + - Set ``reqtype`` with a link to the right value (<Functional|Interface|Process|Non-Functional>) + - Add other needed requirements for your feature + - Set ``status`` to ``valid`` and start the review/merge process + +.. needextend:: is_external == False and "component_name" in id + :+tags: component_name From ae79b7b9019c33a4db287300af5ca1ebe40b86be Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Mon, 22 Jun 2026 10:07:37 +0200 Subject: [PATCH 02/15] fix file name --- docs/manuals/index.rst | 2 +- docs/manuals/{user_manuel.rst => user_manual.rst} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/manuals/{user_manuel.rst => user_manual.rst} (100%) diff --git a/docs/manuals/index.rst b/docs/manuals/index.rst index 87adad05..3c905d73 100644 --- a/docs/manuals/index.rst +++ b/docs/manuals/index.rst @@ -18,6 +18,6 @@ Manuals .. toctree:: :titlesonly: - user_manuel + user_manual safety_manual security_manual diff --git a/docs/manuals/user_manuel.rst b/docs/manuals/user_manual.rst similarity index 100% rename from docs/manuals/user_manuel.rst rename to docs/manuals/user_manual.rst From 4dc82488c8e63ebcdf43b14de615aeb41babca42 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Mon, 22 Jun 2026 10:10:28 +0200 Subject: [PATCH 03/15] fix overview --- docs/manuals/user_manuel.rst | 273 +++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 docs/manuals/user_manuel.rst diff --git a/docs/manuals/user_manuel.rst b/docs/manuals/user_manuel.rst new file mode 100644 index 00000000..6e4f51b1 --- /dev/null +++ b/docs/manuals/user_manuel.rst @@ -0,0 +1,273 @@ +.. + # ******************************************************************************* + # 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_manual: + +User Manual +########### + + +.. attention:: + Update the document according to your needs. + +Overview +======== + +This user manual provides comprehensive guidance for using the [Your Module Name] module. +It covers installation, configuration, basic usage, and best practices for integrating this module +into your project. + +.. note:: + This is a template user manual. Replace placeholder text with actual module-specific information. + +Feature List +============ + +Key features of this module: + +* Feature overview and navigation: :doc:`/docs/features/index` +* Feature template and scope example: :doc:`/docs/features/feature_example/index` +* Feature architecture and verification artifacts: :doc:`/docs/features/feature_example/architecture/index` +* Feature safety artifacts (FMEA, DFA, AoU): :doc:`/docs/features/feature_example/safety_analysis/fmea`, :doc:`/docs/features/feature_example/safety_analysis/dfa`, and :doc:`/docs/features/feature_example/safety_analysis/aou_requirements_template` +* Feature security artifacts: :doc:`/docs/features/feature_example/security_analysis/index` +* Feature planning artifacts (safety/security): :doc:`/docs/features/feature_example/safety_planning/index` and :doc:`/docs/features/feature_example/security_planning/index` + +Platform Requirements +===================== + +Supported Platforms +------------------- + +* **C++**: C++17 or later +* **Rust**: 1.70 or later (if Rust support is included) +* **Build System**: Bazel 6.0 or later +* **Operating Systems**: Linux, macOS, Windows (as applicable) + +Dependencies +------------ + +[List key external dependencies, licenses, and version requirements] + +**Example:** +* Standard library (STL/Core) +* [Other required libraries] + +Quick Start - Building and Testing +=================================== + +Building the Module +-------------------- + +To build the entire module: + +.. code-block:: bash + + bazel build //src/... + +Running Tests +-------------- + +To run all tests: + +.. code-block:: bash + + bazel test //... + +To run only unit tests: + +.. code-block:: bash + + bazel test //src/... + +To run component or feature integration tests: + +.. code-block:: bash + + bazel test //tests/... + +Module Configuration Details +============================= + +The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros. +This file controls build behavior and project-specific settings. + +Configuration Example +--------------------- + +.. code-block:: python + + PROJECT_CONFIG = { + "asil_level": "QM", + "source_code": ["cpp", "rust"] + } + +Configuration Effects +--------------------- + +The configuration enables conditional build behavior: + +* **Language-specific tools**: For C++ code, tools like ``clang-tidy`` are used; for Rust code, ``clippy`` is used +* **Safety level**: The ASIL level affects safety-related build settings and validation +* **Source code languages**: The build system optimizes for the configured languages + +Getting Started with Features and Components +============================================ + +Feature Documentation +--------------------- + +For documentation on features implemented in the module: + +.. toctree:: + :maxdepth: 1 + + /docs/features/index + +Component Documentation +----------------------- + +For documentation of individual components within this module: + +.. toctree:: + :maxdepth: 1 + + /score/component_example/docs/index + +Examples +-------- + +Useful examples and tutorials: + +.. toctree:: + :maxdepth: 1 + + /examples/docs/architecture_modeling_example + +Integration Guidelines +====================== + +Integrating with Your Project +------------------------------ + +1. Add the module to your Bazel workspace: + + .. code-block:: python + + # In your MODULE.bazel + bazel_dep(name = "module_template", version = "1.0") + +2. Reference in your build files: + + .. code-block:: python + + cc_library( + name = "my_target", + deps = ["@module_template//score/component_example:component"], + ) + +3. Include headers and compile your code + +Best Practices +-------------- + +* Always validate input parameters +* Handle error codes and exceptions appropriately +* Use the module in accordance with safety and security guidelines +* Review the safety manual (wp__module_safety_manual) for safety-critical applications +* Review the security manual (wp__module_security_manual) for security considerations + +API Reference +============= + +For complete API documentation and descriptions, refer to the API documentation in the ``api_description/`` directory. + +Performance Considerations +========================== + +This section covers performance characteristics, optimization strategies, and resource requirements. +Refer to the ``performance/`` directory for detailed performance guides and benchmarks. + +Troubleshooting +=============== + +Common Issues and Solutions +---------------------------- + +**Issue: Build fails with undefined reference** + + Check that all dependencies are properly declared in your BUILD file and that the module is correctly linked. + +**Issue: Runtime errors or crashes** + + Verify that: + * You are using the module API correctly (refer to API Reference) + * All required initialization steps have been completed + * Input data meets the documented requirements + +**Issue: Performance problems** + + Consult the Performance Considerations section or review the ``performance/`` documentation. + +Getting Help +============ + +For additional support and resources: + +* Review the API Reference documentation +* Check the configuration examples in the ``config/`` folder +* Refer to example implementations in ``examples/`` +* Consult the Safety Manual for safety-critical usage +* Consult the Security Manual for security-related concerns +* Contact the module maintainers or community forums + +Safety and Security +=================== + +**Safety-Critical Usage**: If you are using this module in a safety-critical context, +please refer to :doc:`safety_manual` for detailed safety requirements and guidelines. + +**Security Considerations**: For information about security aspects and requirements, +please refer to :doc:`security_manual`. + +Known Limitations +================= + +* [Limitation 1] +* [Limitation 2] +* [Known issues and workarounds] + +Version History and Compatibility +================================== + +[Document version changes, API stability, deprecation notices, and migration guides] + +**Current Version**: 1.0 (Draft) + +Compatibility Notes +------------------- + +* Backward compatibility with previous versions: [Yes/No/Partial] +* Migration guide for [previous version] users: [Link or reference] + +License +======= + +This module is licensed under the Apache License Version 2.0. +See the LICENSE file in the repository for full license text. + +Feedback and Contributions +========================== + +Your feedback and contributions are welcome! Please report issues or suggestions through the +project's issue tracker or contribute directly to the repository. From 822151ba5d6f1346b5b6c6274e25c90c54777269 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Mon, 22 Jun 2026 11:44:29 +0200 Subject: [PATCH 04/15] fix warning --- docs/manuals/user_manuel.rst | 273 ----------------------------------- 1 file changed, 273 deletions(-) delete mode 100644 docs/manuals/user_manuel.rst diff --git a/docs/manuals/user_manuel.rst b/docs/manuals/user_manuel.rst deleted file mode 100644 index 6e4f51b1..00000000 --- a/docs/manuals/user_manuel.rst +++ /dev/null @@ -1,273 +0,0 @@ -.. - # ******************************************************************************* - # 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_manual: - -User Manual -########### - - -.. attention:: - Update the document according to your needs. - -Overview -======== - -This user manual provides comprehensive guidance for using the [Your Module Name] module. -It covers installation, configuration, basic usage, and best practices for integrating this module -into your project. - -.. note:: - This is a template user manual. Replace placeholder text with actual module-specific information. - -Feature List -============ - -Key features of this module: - -* Feature overview and navigation: :doc:`/docs/features/index` -* Feature template and scope example: :doc:`/docs/features/feature_example/index` -* Feature architecture and verification artifacts: :doc:`/docs/features/feature_example/architecture/index` -* Feature safety artifacts (FMEA, DFA, AoU): :doc:`/docs/features/feature_example/safety_analysis/fmea`, :doc:`/docs/features/feature_example/safety_analysis/dfa`, and :doc:`/docs/features/feature_example/safety_analysis/aou_requirements_template` -* Feature security artifacts: :doc:`/docs/features/feature_example/security_analysis/index` -* Feature planning artifacts (safety/security): :doc:`/docs/features/feature_example/safety_planning/index` and :doc:`/docs/features/feature_example/security_planning/index` - -Platform Requirements -===================== - -Supported Platforms -------------------- - -* **C++**: C++17 or later -* **Rust**: 1.70 or later (if Rust support is included) -* **Build System**: Bazel 6.0 or later -* **Operating Systems**: Linux, macOS, Windows (as applicable) - -Dependencies ------------- - -[List key external dependencies, licenses, and version requirements] - -**Example:** -* Standard library (STL/Core) -* [Other required libraries] - -Quick Start - Building and Testing -=================================== - -Building the Module --------------------- - -To build the entire module: - -.. code-block:: bash - - bazel build //src/... - -Running Tests --------------- - -To run all tests: - -.. code-block:: bash - - bazel test //... - -To run only unit tests: - -.. code-block:: bash - - bazel test //src/... - -To run component or feature integration tests: - -.. code-block:: bash - - bazel test //tests/... - -Module Configuration Details -============================= - -The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros. -This file controls build behavior and project-specific settings. - -Configuration Example ---------------------- - -.. code-block:: python - - PROJECT_CONFIG = { - "asil_level": "QM", - "source_code": ["cpp", "rust"] - } - -Configuration Effects ---------------------- - -The configuration enables conditional build behavior: - -* **Language-specific tools**: For C++ code, tools like ``clang-tidy`` are used; for Rust code, ``clippy`` is used -* **Safety level**: The ASIL level affects safety-related build settings and validation -* **Source code languages**: The build system optimizes for the configured languages - -Getting Started with Features and Components -============================================ - -Feature Documentation ---------------------- - -For documentation on features implemented in the module: - -.. toctree:: - :maxdepth: 1 - - /docs/features/index - -Component Documentation ------------------------ - -For documentation of individual components within this module: - -.. toctree:: - :maxdepth: 1 - - /score/component_example/docs/index - -Examples --------- - -Useful examples and tutorials: - -.. toctree:: - :maxdepth: 1 - - /examples/docs/architecture_modeling_example - -Integration Guidelines -====================== - -Integrating with Your Project ------------------------------- - -1. Add the module to your Bazel workspace: - - .. code-block:: python - - # In your MODULE.bazel - bazel_dep(name = "module_template", version = "1.0") - -2. Reference in your build files: - - .. code-block:: python - - cc_library( - name = "my_target", - deps = ["@module_template//score/component_example:component"], - ) - -3. Include headers and compile your code - -Best Practices --------------- - -* Always validate input parameters -* Handle error codes and exceptions appropriately -* Use the module in accordance with safety and security guidelines -* Review the safety manual (wp__module_safety_manual) for safety-critical applications -* Review the security manual (wp__module_security_manual) for security considerations - -API Reference -============= - -For complete API documentation and descriptions, refer to the API documentation in the ``api_description/`` directory. - -Performance Considerations -========================== - -This section covers performance characteristics, optimization strategies, and resource requirements. -Refer to the ``performance/`` directory for detailed performance guides and benchmarks. - -Troubleshooting -=============== - -Common Issues and Solutions ----------------------------- - -**Issue: Build fails with undefined reference** - - Check that all dependencies are properly declared in your BUILD file and that the module is correctly linked. - -**Issue: Runtime errors or crashes** - - Verify that: - * You are using the module API correctly (refer to API Reference) - * All required initialization steps have been completed - * Input data meets the documented requirements - -**Issue: Performance problems** - - Consult the Performance Considerations section or review the ``performance/`` documentation. - -Getting Help -============ - -For additional support and resources: - -* Review the API Reference documentation -* Check the configuration examples in the ``config/`` folder -* Refer to example implementations in ``examples/`` -* Consult the Safety Manual for safety-critical usage -* Consult the Security Manual for security-related concerns -* Contact the module maintainers or community forums - -Safety and Security -=================== - -**Safety-Critical Usage**: If you are using this module in a safety-critical context, -please refer to :doc:`safety_manual` for detailed safety requirements and guidelines. - -**Security Considerations**: For information about security aspects and requirements, -please refer to :doc:`security_manual`. - -Known Limitations -================= - -* [Limitation 1] -* [Limitation 2] -* [Known issues and workarounds] - -Version History and Compatibility -================================== - -[Document version changes, API stability, deprecation notices, and migration guides] - -**Current Version**: 1.0 (Draft) - -Compatibility Notes -------------------- - -* Backward compatibility with previous versions: [Yes/No/Partial] -* Migration guide for [previous version] users: [Link or reference] - -License -======= - -This module is licensed under the Apache License Version 2.0. -See the LICENSE file in the repository for full license text. - -Feedback and Contributions -========================== - -Your feedback and contributions are welcome! Please report issues or suggestions through the -project's issue tracker or contribute directly to the repository. From f8343e87349820d99a7ed12f73319bbf11b0004d Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Mon, 22 Jun 2026 14:13:27 +0200 Subject: [PATCH 05/15] Add lost folder again --- docs/manuals/user_manual.rst | 14 ++------------ index.rst | 10 ++++++++++ .../docs/requirements/requirements.rst | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index cbb49c18..c53bedf0 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -179,14 +179,6 @@ Integrating with Your Project 3. Include headers and compile your code -Best Practices --------------- - -* Always validate input parameters -* Handle error codes and exceptions appropriately -* Use the module in accordance with safety and security guidelines -* Review the safety manual (wp__module_safety_manual) for safety-critical applications -* Review the security manual (wp__module_security_manual) for security considerations API Reference ============= @@ -244,14 +236,12 @@ please refer to :doc:`security_manual`. Known Limitations ================= -* [Limitation 1] -* [Limitation 2] -* [Known issues and workarounds] +* See the module release note: :doc:`/docs/release/release_note` Version History and Compatibility ================================== -[Document version changes, API stability, deprecation notices, and migration guides] +Refer to the module release note above for version-specific changes, compatibility notes, and known issues. **Current Version**: 1.0 (Draft) diff --git a/index.rst b/index.rst index 568fb92c..fd2b0188 100644 --- a/index.rst +++ b/index.rst @@ -199,3 +199,13 @@ templates and guidelines.> docs/safety_mgt/index docs/security_mgt/index docs/verification_report/module_verification_report + +Feature Documentation of Module +------------------------------- + +Link to the feature documentation of the module. + +.. toctree:: + :maxdepth: 1 + + docs/features/index diff --git a/score/component_example/docs/requirements/requirements.rst b/score/component_example/docs/requirements/requirements.rst index 4da6914b..521ba1c3 100644 --- a/score/component_example/docs/requirements/requirements.rst +++ b/score/component_example/docs/requirements/requirements.rst @@ -20,7 +20,7 @@ Component <Name> Requirements :status: draft :safety: ASIL_B :security: YES - :realizes: wp__requirements_comp + :realizes: wp__requirements_comp[version==1] :tags: template .. attention:: From 8abab36b4ef3c9c426c821663feeca468da963c1 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Mon, 22 Jun 2026 15:12:13 +0200 Subject: [PATCH 06/15] rework structure --- docs/manuals/user_manual.rst | 127 ++++++++--------------------------- index.rst | 22 ++++-- 2 files changed, 45 insertions(+), 104 deletions(-) diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index c53bedf0..79c7b89b 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -32,28 +32,16 @@ into your project. .. note:: This is a template user manual. Replace placeholder text with actual module-specific information. -Feature List -============ -Key features of this module: - -* Feature overview and navigation: :doc:`/docs/features/index` -* Feature template and scope example: :doc:`/docs/features/feature_example/index` -* Feature architecture and verification artifacts: :doc:`/docs/features/feature_example/architecture/index` -* Feature safety artifacts (FMEA, DFA, AoU): :doc:`/docs/features/feature_example/safety_analysis/fmea`, :doc:`/docs/features/feature_example/safety_analysis/dfa`, and :doc:`/docs/features/feature_example/safety_analysis/aou_requirements_template` -* Feature security artifacts: :doc:`/docs/features/feature_example/security_analysis/index` -* Feature planning artifacts (safety/security): :doc:`/docs/features/feature_example/safety_planning/index` and :doc:`/docs/features/feature_example/security_planning/index` - -Platform Requirements -===================== +Environment Needs +================= -Supported Platforms -------------------- +Basic needed software environment for the module development and usage: * **C++**: C++17 or later * **Rust**: 1.70 or later (if Rust support is included) * **Build System**: Bazel 6.0 or later -* **Operating Systems**: Linux, macOS, Windows (as applicable) +* **Operating Systems**: Linux, QNX Dependencies ------------ @@ -61,9 +49,12 @@ Dependencies [List key external dependencies, licenses, and version requirements] **Example:** + * Standard library (STL/Core) * [Other required libraries] +See also MODULE.bazel files for more details on dependencies. + Quick Start - Building and Testing =================================== @@ -100,6 +91,8 @@ To run component or feature integration tests: Module Configuration Details ============================= +<A detailed explanation of the module configuration, including the purpose and effects of the settings might be explained in the files in the config subdirectory.> + The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros. This file controls build behavior and project-specific settings. @@ -122,38 +115,22 @@ The configuration enables conditional build behavior: * **Safety level**: The ASIL level affects safety-related build settings and validation * **Source code languages**: The build system optimizes for the configured languages -Getting Started with Features and Components -============================================ - -Feature Documentation ---------------------- - -For documentation on features implemented in the module: - -.. toctree:: - :maxdepth: 1 - - /docs/features/index - -Component Documentation ------------------------ -For documentation of individual components within this module: - -.. toctree:: - :maxdepth: 1 +Examples +======== - /score/component_example/docs/index +<Useful examples and tutorials should be provided in the ``examples/`` directory. Link to specific examples here.> -Examples --------- +API Reference +============= -Useful examples and tutorials: +For complete and detailed API documentation and descriptions, refer to the API documentation in the ``api_description/`` directory. -.. toctree:: - :maxdepth: 1 +Performance Considerations +========================== - /examples/docs/architecture_modeling_example +This section covers performance characteristics, optimization strategies, and resource requirements. +Refer to the ``performance/`` directory for detailed performance guides and benchmarks. Integration Guidelines ====================== @@ -180,49 +157,17 @@ Integrating with Your Project 3. Include headers and compile your code -API Reference -============= -For complete API documentation and descriptions, refer to the API documentation in the ``api_description/`` directory. +Version History, Compatibility, and Troubleshooting +=================================================== -Performance Considerations -========================== - -This section covers performance characteristics, optimization strategies, and resource requirements. -Refer to the ``performance/`` directory for detailed performance guides and benchmarks. - -Troubleshooting -=============== - -Common Issues and Solutions ----------------------------- - -**Issue: Build fails with undefined reference** - - Check that all dependencies are properly declared in your BUILD file and that the module is correctly linked. - -**Issue: Runtime errors or crashes** - - Verify that: - * You are using the module API correctly (refer to API Reference) - * All required initialization steps have been completed - * Input data meets the documented requirements - -**Issue: Performance problems** +For comprehensive information on the following topics, refer to :doc:`/docs/release/release_note`: - Consult the Performance Considerations section or review the ``performance/`` documentation. - -Getting Help -============ - -For additional support and resources: - -* Review the API Reference documentation -* Check the configuration examples in the ``config/`` folder -* Refer to example implementations in ``examples/`` -* Consult the Safety Manual for safety-critical usage -* Consult the Security Manual for security-related concerns -* Contact the module maintainers or community forums +* Version history and changes +* Compatibility notes and upgrade instructions +* Known issues and limitations +* Troubleshooting tips and solutions +* Security vulnerabilities (CVEs) Safety and Security =================== @@ -233,24 +178,6 @@ please refer to :doc:`safety_manual` for detailed safety requirements and guidel **Security Considerations**: For information about security aspects and requirements, please refer to :doc:`security_manual`. -Known Limitations -================= - -* See the module release note: :doc:`/docs/release/release_note` - -Version History and Compatibility -================================== - -Refer to the module release note above for version-specific changes, compatibility notes, and known issues. - -**Current Version**: 1.0 (Draft) - -Compatibility Notes -------------------- - -* Backward compatibility with previous versions: [Yes/No/Partial] -* Migration guide for [previous version] users: [Link or reference] - License ======= diff --git a/index.rst b/index.rst index fd2b0188..55fda3b4 100644 --- a/index.rst +++ b/index.rst @@ -196,16 +196,30 @@ templates and guidelines.> docs/manuals/index docs/release/release_note + docs/features/index docs/safety_mgt/index docs/security_mgt/index docs/verification_report/module_verification_report -Feature Documentation of Module -------------------------------- -Link to the feature documentation of the module. +Component Documentation +----------------------- + +For documentation of individual components within this module: .. toctree:: :maxdepth: 1 - docs/features/index + score/component_example/docs/index + +Architecture Modeling Example +----------------------------- + +An example of modeling architecture in Sphinx Needs can be found in + +.. toctree:: + :maxdepth: 1 + + examples/docs/architecture_modeling_example + +Please note, that is not a template for architecture documentation, but an example of how to use Sphinx Needs for architecture modeling. The architecture documentation of the components and features of the module should follow the provided templates and guidelines. From 682cac7df969b3210bcf4400e0df0dd4b9189f05 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Mon, 22 Jun 2026 15:43:25 +0200 Subject: [PATCH 07/15] add line --- index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/index.rst b/index.rst index 55fda3b4..aa05d80f 100644 --- a/index.rst +++ b/index.rst @@ -26,6 +26,7 @@ Overview This repository provides a standardized setup for projects using **C++** or **Rust** and **Bazel** as a build system. It integrates best practices for build, test, CI/CD and documentation. +It also provides an example for the documentation of an module with all necessary artifacts for safety and security management, verification and release management. It also provides an example of modeling architecture in Sphinx Needs in :doc:`/examples/docs/architecture_modeling_example`. It also provides the component architecture template snippets in :doc:`/score/component_example/docs/architecture/component_architecture`. It also provides an example of documenting detailed design in :doc:`/score/component_example/docs/detailed_design/detailed_design_example`. From 713a4f3a35395e8fe83f507a9986d2fc298018ec Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Mon, 22 Jun 2026 16:42:15 +0200 Subject: [PATCH 08/15] add link to S-CORE main --- docs/manuals/user_manual.rst | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index 79c7b89b..bbe7a2ce 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -94,17 +94,7 @@ Module Configuration Details <A detailed explanation of the module configuration, including the purpose and effects of the settings might be explained in the files in the config subdirectory.> The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros. -This file controls build behavior and project-specific settings. - -Configuration Example ---------------------- - -.. code-block:: python - - PROJECT_CONFIG = { - "asil_level": "QM", - "source_code": ["cpp", "rust"] - } +This file controls build behavior and project-specific settings. It should follow the S-CORE definition. See `S-CORE user guide for project_config.bzl <https://eclipse-score.github.io/score/main/users_guide/building_simple_application/first_score_module.html#project-config-bzl>`_ for details. Configuration Effects --------------------- From c5b7d523803acadce8e222439e3d502d108db433 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Tue, 23 Jun 2026 09:28:18 +0200 Subject: [PATCH 09/15] move back quickstart --- docs/manuals/user_manual.rst | 32 -------------------------------- index.rst | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 32 deletions(-) diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index bbe7a2ce..c2572238 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -55,38 +55,6 @@ Dependencies See also MODULE.bazel files for more details on dependencies. -Quick Start - Building and Testing -=================================== - -Building the Module --------------------- - -To build the entire module: - -.. code-block:: bash - - bazel build //src/... - -Running Tests --------------- - -To run all tests: - -.. code-block:: bash - - bazel test //... - -To run only unit tests: - -.. code-block:: bash - - bazel test //src/... - -To run component or feature integration tests: - -.. code-block:: bash - - bazel test //tests/... Module Configuration Details ============================= diff --git a/index.rst b/index.rst index aa05d80f..c7dad033 100644 --- a/index.rst +++ b/index.rst @@ -224,3 +224,37 @@ An example of modeling architecture in Sphinx Needs can be found in examples/docs/architecture_modeling_example Please note, that is not a template for architecture documentation, but an example of how to use Sphinx Needs for architecture modeling. The architecture documentation of the components and features of the module should follow the provided templates and guidelines. + + +Quick Start - Building and Testing +=================================== + +Building the Module +-------------------- + +To build the entire module: + +.. code-block:: bash + + bazel build //src/... + +Running Tests +-------------- + +To run all tests: + +.. code-block:: bash + + bazel test //... + +To run only unit tests: + +.. code-block:: bash + + bazel test //src/... + +To run component or feature integration tests: + +.. code-block:: bash + + bazel test //tests/... From c72109b66df3888571603692c2416466927682d7 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Tue, 23 Jun 2026 09:34:54 +0200 Subject: [PATCH 10/15] move back also internal configuration --- docs/manuals/user_manual.rst | 5 +---- index.rst | 16 ++++++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index c2572238..81d118ec 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -59,10 +59,7 @@ See also MODULE.bazel files for more details on dependencies. Module Configuration Details ============================= -<A detailed explanation of the module configuration, including the purpose and effects of the settings might be explained in the files in the config subdirectory.> - -The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros. -This file controls build behavior and project-specific settings. It should follow the S-CORE definition. See `S-CORE user guide for project_config.bzl <https://eclipse-score.github.io/score/main/users_guide/building_simple_application/first_score_module.html#project-config-bzl>`_ for details. +<A detailed explanation of the module configuration for end users, including the purpose and effects of the settings might be explained in the files in the config subdirectory.> Configuration Effects --------------------- diff --git a/index.rst b/index.rst index c7dad033..05d3d64c 100644 --- a/index.rst +++ b/index.rst @@ -229,18 +229,12 @@ Please note, that is not a template for architecture documentation, but an examp Quick Start - Building and Testing =================================== -Building the Module --------------------- - To build the entire module: .. code-block:: bash bazel build //src/... -Running Tests --------------- - To run all tests: .. code-block:: bash @@ -258,3 +252,13 @@ To run component or feature integration tests: .. code-block:: bash bazel test //tests/... + + +Module Build Configuration +-------------------------- + +The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros. +This file controls build behavior and project-specific settings. It should follow the S-CORE definition. +See `S-CORE user guide for project_config.bzl <https://eclipse-score.github.io/score/main/users_guide/building_simple_application/first_score_module.html#project-config-bzl>`_ for details. + +This enables conditional behavior (e.g., choosing `clang-tidy` for C++ or `clippy` for Rust). From 3fbc9dde2cf360ef35185a0a565ec9ff4b6c85ee Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Tue, 23 Jun 2026 10:16:43 +0200 Subject: [PATCH 11/15] add document type --- docs/manuals/user_manual.rst | 19 +++++++++++-------- index.rst | 6 +++++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index 81d118ec..4b776b6b 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -17,6 +17,14 @@ User Manual ########### +.. document:: User Manual + :id: doc__user_manual + :status: draft + :version: 1 + :safety: QM + :security: NO + :realizes: wp__training_path[version==1] + .. attention:: Update the document metadata according to your needs, particularly linking to the corresponding @@ -25,7 +33,7 @@ User Manual Overview ======== -This user manual provides comprehensive guidance for using the [Your Module Name] module. +This user manual provides comprehensive guidance for using the [Your Module Name] module from an end customer perspective. It covers installation, configuration, basic usage, and best practices for integrating this module into your project. @@ -55,20 +63,15 @@ Dependencies See also MODULE.bazel files for more details on dependencies. - Module Configuration Details ============================= -<A detailed explanation of the module configuration for end users, including the purpose and effects of the settings might be explained in the files in the config subdirectory.> +<A detailed explanation of the module configuration which can be done by end users, including the purpose and effects of the settings might be explained in the files in the config subdirectory.> Configuration Effects --------------------- -The configuration enables conditional build behavior: - -* **Language-specific tools**: For C++ code, tools like ``clang-tidy`` are used; for Rust code, ``clippy`` is used -* **Safety level**: The ASIL level affects safety-related build settings and validation -* **Source code languages**: The build system optimizes for the configured languages +<Explain how the configuration settings affect the module's behavior, performance, and integration with other components. Include examples of typical configurations and their outcomes.> Examples diff --git a/index.rst b/index.rst index 05d3d64c..a55b61f0 100644 --- a/index.rst +++ b/index.rst @@ -261,4 +261,8 @@ The ``project_config.bzl`` file at the root of the module defines metadata used This file controls build behavior and project-specific settings. It should follow the S-CORE definition. See `S-CORE user guide for project_config.bzl <https://eclipse-score.github.io/score/main/users_guide/building_simple_application/first_score_module.html#project-config-bzl>`_ for details. -This enables conditional behavior (e.g., choosing `clang-tidy` for C++ or `clippy` for Rust). +The configuration enables conditional build behavior: + +* **Language-specific tools**: For C++ code, tools like ``clang-tidy`` are used; for Rust code, ``clippy`` is used +* **Safety level**: The ASIL level affects safety-related build settings and validation +* **Source code languages**: The build system optimizes for the configured languages From 426abadb1f6fd60e916db83a4c2c133e3a84c0b4 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Tue, 23 Jun 2026 10:25:19 +0200 Subject: [PATCH 12/15] fix review finding --- docs/manuals/user_manual.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index 4b776b6b..eb6e6927 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -17,7 +17,7 @@ User Manual ########### -.. document:: User Manual +.. document:: User Manual <module name> :id: doc__user_manual :status: draft :version: 1 @@ -27,8 +27,7 @@ User Manual .. attention:: - Update the document metadata according to your needs, particularly linking to the corresponding - work package with the ``realizes`` field once work packages are defined. + Update the document metadata according to your needs. Overview ======== @@ -115,7 +114,6 @@ Integrating with Your Project 3. Include headers and compile your code - Version History, Compatibility, and Troubleshooting =================================================== From 3f6a21d8aa0b3262066dddc8f01942f574d30931 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Tue, 23 Jun 2026 10:35:39 +0200 Subject: [PATCH 13/15] add link to quickstart --- MODULE.bazel | 2 +- MODULE.bazel.lock | 70 ------------------------------------ docs/manuals/user_manual.rst | 1 + index.rst | 4 ++- 4 files changed, 5 insertions(+), 72 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 4fcf2a54..3a1562d9 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -76,7 +76,7 @@ bazel_dep(name = "buildifier_prebuilt", version = "8.5.1.2", dev_dependency = Tr #docs-as-code bazel_dep(name = "score_docs_as_code", version = "4.5.0", dev_dependency = True) -bazel_dep(name = "score_process", version = "1.5.4", dev_dependency = True) +bazel_dep(name = "score_process", version = "1.6.0", dev_dependency = True) # grpc-java 1.66.0 imports a grpc extension repo removed in newer grpc versions. # Force a compatible grpc-java version until upstream dependencies converge. diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index f8d008b9..995cb5dd 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -38,7 +38,6 @@ "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.7/MODULE.bazel": "491f8681205e31bb57892d67442ce448cda4f472a8e6b3dc062865e29a64f89c", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.3/MODULE.bazel": "66baf724dbae7aff4787bf2245cc188d50cb08e07789769730151c0943587c14", - "https://bcr.bazel.build/modules/aspect_bazel_lib/2.9.4/MODULE.bazel": "ccc41028429f894b02fde7ef67d416cba3ba5084ed9ddb9bb6107aa82d118776", "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/MODULE.bazel": "77dc393c43ad79398b05865444c5200c6f1aae6765615544f2c7730b5858d533", "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.21.0/source.json": "062b1d3dba8adcfeb28fe60c185647f5a53ec0487ffe93cf0ae91566596e4b49", "https://bcr.bazel.build/modules/aspect_rules_js/1.33.1/MODULE.bazel": "db3e7f16e471cf6827059d03af7c21859e7a0d2bc65429a3a11f005d46fc501b", @@ -47,14 +46,9 @@ "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/MODULE.bazel": "74bf20a7a6bd5f2be09607fdb4196cfd6f203422ea271752ec2b1afe95426101", "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/source.json": "411ec9d79d6f5fe8a083359588c21d01a5b48d88a2cbd334a4c90365015b7836", "https://bcr.bazel.build/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "e767c5dbfeb254ec03275a7701b5cfde2c4d2873676804bc7cb27ddff3728fed", - "https://bcr.bazel.build/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "ed0fe929647ba21d2041e14ea3d757133ca306b72d4998e8a3d0d2f515196765", "https://bcr.bazel.build/modules/aspect_rules_lint/1.10.2/MODULE.bazel": "a4e49c029f1e2b3d7c412c45f10e03ab5cc80f9a579737868554044b03c90365", "https://bcr.bazel.build/modules/aspect_rules_lint/1.10.2/source.json": "82465c804422f39e7a7dddeaf05857dafbe308e54312c2ebd8508c22b22f5e6f", - "https://bcr.bazel.build/modules/aspect_rules_lint/1.3.1/MODULE.bazel": "06ce330900a7d6403bc8d88e5dfad6aeeb8ae40179f66bb89e69c8bf6f6b1a0b", - "https://bcr.bazel.build/modules/aspect_rules_lint/1.4.2/MODULE.bazel": "78d025facf6fa675fd6f0b62fd6a9a2bec7ef5ae1e288e5b53f4383b98017105", - "https://bcr.bazel.build/modules/aspect_rules_lint/1.4.4/MODULE.bazel": "24459eeeeb084bc3e7628c338e494746718bc17b3a3cbd94415c8df5c7c6dc37", "https://bcr.bazel.build/modules/aspect_rules_lint/1.5.3/MODULE.bazel": "7fee71b11be63f1cf0458cd8c731712a0e672d0bb6df8879ed70249bf8dfdfdc", - "https://bcr.bazel.build/modules/aspect_rules_py/1.0.0/MODULE.bazel": "8eb29876512d3242af50a424300bec5c5f8957b455963df5f618cb7fd4e8ae19", "https://bcr.bazel.build/modules/aspect_rules_py/1.4.0/MODULE.bazel": "6fd29b93207a31445d5d3ab9d9882fd5511e43c95e8e82e7492872663720fd44", "https://bcr.bazel.build/modules/aspect_rules_py/1.4.0/source.json": "fb1ba946478fb6dbb26d49307d756b0fd2ff88be339af23c39c0397d59143d2c", "https://bcr.bazel.build/modules/aspect_rules_ts/3.6.0/MODULE.bazel": "d0045b5eabb012be550a609589b3e5e47eba682344b19cfd9365d4d896ed07df", @@ -73,7 +67,6 @@ "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", - "https://bcr.bazel.build/modules/bazel_features/1.2.0/MODULE.bazel": "122b2b606622afbaa498913d54f52d9bcd2d19a5edd1bd6d6c5aa17441c4d5f9", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.27.0/MODULE.bazel": "621eeee06c4458a9121d1f104efb80f39d34deff4984e778359c60eaf1a8cb65", "https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d", @@ -305,14 +298,11 @@ "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel": "a592852f8a3dd539e82ee6542013bf2cadfc4c6946be8941e189d224500a8934", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.11.0/MODULE.bazel": "c3d280bc5ff1038dcb3bacb95d3f6b83da8dd27bba57820ec89ea4085da767ad", - "https://bcr.bazel.build/modules/rules_java/8.13.0/MODULE.bazel": "0444ebf737d144cf2bb2ccb368e7f1cce735264285f2a3711785827c1686625e", "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615", "https://bcr.bazel.build/modules/rules_java/8.15.1/MODULE.bazel": "5071eebf0fd602ab0617f846e0e0d8f388d66c961513c736e0ac4a1dcde3ff2c", "https://bcr.bazel.build/modules/rules_java/8.15.1/source.json": "e48286d5819767bc5b3d457539ae7f94e28a9b3e55d092d5c47176cb6a2a289b", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", - "https://bcr.bazel.build/modules/rules_java/8.6.3/MODULE.bazel": "e90505b7a931d194245ffcfb6ff4ca8ef9d46b4e830d12e64817752e0198e2ed", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -334,7 +324,6 @@ "https://bcr.bazel.build/modules/rules_multitool/0.4.0/MODULE.bazel": "15517987d5c00c9e7faab41fbe22ee67a350b6eabcc1e08baded5c6d9025897f", "https://bcr.bazel.build/modules/rules_multitool/1.11.1/MODULE.bazel": "f826d2d394e8d964e44ebb4a75ebcfe4e9cd4eb150e2ddcd60398ffeb939696a", "https://bcr.bazel.build/modules/rules_multitool/1.11.1/source.json": "201f43de1d35bd17f25a4fed3ba5a2ec500ef5e08b7d4b341bb9fd39cef0cbc6", - "https://bcr.bazel.build/modules/rules_multitool/1.2.0/MODULE.bazel": "8d818d6104f4030930291bbbbc5684702c237dbcdee7229097543e6a6035adaa", "https://bcr.bazel.build/modules/rules_multitool/1.9.0/MODULE.bazel": "8a042b0dbf35e4aaa94c28ad69efa75c9e673e9ea4bd5c0fb70bab75ef9c636b", "https://bcr.bazel.build/modules/rules_nodejs/5.8.2/MODULE.bazel": "6bc03c8f37f69401b888023bf511cb6ee4781433b0cb56236b2e55a21e3a026a", "https://bcr.bazel.build/modules/rules_nodejs/6.2.0/MODULE.bazel": "ec27907f55eb34705adb4e8257952162a2d4c3ed0f0b3b4c3c1aad1fac7be35e", @@ -348,7 +337,6 @@ "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", - "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "e17f94f8a347e2c808517b65d74988839d2d62daceb50073e44060193b785eb1", "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", @@ -378,7 +366,6 @@ "https://bcr.bazel.build/modules/rules_rust/0.70.0/source.json": "24ae6d23425359db1c3148aa22c389970fce9a06102b2b3a329a2800f9569de2", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", - "https://bcr.bazel.build/modules/rules_shell/0.4.0/MODULE.bazel": "0f8f11bb3cd11755f0b48c1de0bbcf62b4b34421023aa41a2fc74ef68d9584f0", "https://bcr.bazel.build/modules/rules_shell/0.4.1/MODULE.bazel": "00e501db01bbf4e3e1dd1595959092c2fadf2087b2852d3f553b5370f5633592", "https://bcr.bazel.build/modules/rules_shell/0.5.0/MODULE.bazel": "8c8447370594d45539f66858b602b0bb2cb2d3401a4ebb9ad25830c59c0f366d", "https://bcr.bazel.build/modules/rules_shell/0.6.1/MODULE.bazel": "72e76b0eea4e81611ef5452aa82b3da34caca0c8b7b5c0c9584338aa93bae26b", @@ -406,7 +393,6 @@ "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/source.json": "88769ec576dddacafd8cca4631812cf8eead89f10a29d9405d9f7a553de6bf87", "https://bcr.bazel.build/modules/toolchains_llvm/1.7.0/MODULE.bazel": "55aca6a8c5b372651f663c5e22faf3664d81165e40074c98fb8a30ee5af83272", "https://bcr.bazel.build/modules/toolchains_llvm/1.7.0/source.json": "cda5fa1abeab5561e811860222952f6cb9373f34b88c5b3f4417459dca057a6d", - "https://bcr.bazel.build/modules/toolchains_protoc/0.2.1/MODULE.bazel": "2f08433ff5e659069b3a1abfee2377d68f510f2de1da50678ed992c455b4ff91", "https://bcr.bazel.build/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "6cced416be2dc5b9c05efd5b997049ba795e5e4e6fafbe1624f4587767638928", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "c0df5e35ad55e264160417fd0875932ee3c9dda63d9fccace35ac62f45e1b6f9", @@ -457,20 +443,14 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.7.7/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.9.3/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.9.4/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_esbuild/0.21.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/1.33.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/1.40.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.3.8/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.10.2/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.3.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.4.2/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.4.4/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.5.3/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_py/1.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_py/1.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_ts/3.6.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_tools_telemetry/0.2.5/MODULE.bazel": "not found", @@ -486,7 +466,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.17.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.18.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.19.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.2.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.21.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.27.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.28.0/MODULE.bazel": "not found", @@ -669,13 +648,10 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.3.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/7.6.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.11.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.13.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.14.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.15.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.3.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.5.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.6.3/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_jvm_external/4.4.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_jvm_external/5.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_jvm_external/5.2/MODULE.bazel": "not found", @@ -692,7 +668,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.11.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/0.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.11.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.2.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_multitool/1.9.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/5.8.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.2.0/MODULE.bazel": "not found", @@ -704,7 +679,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/4.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0-rc2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/6.0.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_proto/7.0.2/MODULE.bazel": "not found", @@ -731,63 +705,20 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_rust/0.70.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.2.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.3.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.4.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.6.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.16.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.18.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.1.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.2.2/MODULE.bazel": "dc36d9c35543db918c3fb5b93a8e684431f56c7c784cf2a1b90f35802a373c98", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.3.1/MODULE.bazel": "f49e037d7fbc0b2a8b2734fc6b47334e8cc8589ca7a5aa0f3ccca85cc5f79fac", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_dash_license_checker/0.1.1/MODULE.bazel": "76681dbd2d45b5c540869a2337174086c56c54953aab1d02cd878b59d31d13a5", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.7.0/MODULE.bazel": "f9a5971fbd05f0ed14e7a373dbf58af72a5c58d081537a75c314daaf61c92ae9", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_devcontainer/1.7.0/source.json": "a3f55522fd9f63fae7a92f3cb5f91c25ae7474a39e9f9c633f0cf797fc0ca8e5", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/0.2.4/MODULE.bazel": "ea4801e96c87e2b8650a0fa9e5fed9b8bdbef05c1bc3e30003ba527d5af60a43", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/0.2.6/MODULE.bazel": "1af2963e91c6472555e222f0aba3dc2f5492d04598298209a361978ee3e321e3", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/0.3.3/MODULE.bazel": "95d2b7d44d461c1cf9bd016605f740716fd4ea1303f5f2ed93de3566b90feb1b", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/1.0.0-RC1/MODULE.bazel": "e118b5cbdc453cde83b5ce481107d8e4a713d3458550b9d10445046d4bba2ff3", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/1.0.0/MODULE.bazel": "a3ad204b7412c02a899034d78de62b5549bafba5530a256d1007cb3f4ed20a11", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/1.0.2-CW1/MODULE.bazel": "08d30eba6a1c502096abd65ebb759afb35f988b31e4b72ab5866177703cfec77", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/1.0.2/MODULE.bazel": "259894df09b4aa6bb5152717b03c3c06a3fd4ad583a7119c52f3a2f0d277b857", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/1.2.0/MODULE.bazel": "a2b10950d585e14b09a6266025c0624b42101f72d3c4efe9591716b8713ede47", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/2.0.0/MODULE.bazel": "0c850a488fd50067b28726bfd7330a6970e36b63e67ea06efd5fbbc813e7be5c", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/2.0.3/MODULE.bazel": "9b945514727190d4c381d8965b972884ba04ce105260ffd2b3c9df51f206ebfe", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/2.3.1/MODULE.bazel": "1b1f694232bd2037704d2f7412ef229e3df2e8e2eb796678999c9e3e2d0f5ddb", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/3.0.0/MODULE.bazel": "61625b107e374d3c3fbfa4431a497f55567ee49892290cbf64278e92878e231d", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/3.0.1/MODULE.bazel": "296328e60d5481ff529e0c937ba80c5d3d4838445d119caf517fd82f97cd053a", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/4.0.0/MODULE.bazel": "522dc070354e6be2f984468a4243fe4ab8bec690922df5f31f7f0916ee264e20", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/4.0.1/MODULE.bazel": "5955f4cf37228a9cdda7f6009b81db0446f005c618f4bc43665bfa45f2673ebc", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/4.5.0/MODULE.bazel": "4cfe52fe8b8dbeaf7e87500036391da278f72f1c2b41b689ffdd4337196dd8fe", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/4.5.0/source.json": "e01b29a3e9640a0d41d880d7da525e451115649d90f097ed66d09808c9135486", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_format_checker/0.1.1/MODULE.bazel": "1acc254faa90e9f97b79ac69af25b6c21c561f8d6079914f6352b9b20d26bd37", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.1.0/MODULE.bazel": "cc9eae86e76f2a930510ed6e50ec991bb5661687e24881685b39c322087adf6f", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.1.1/MODULE.bazel": "eb086ba99f9319371fbbd0a9252dfd27b0817039b88bd4d691602974b1ada005", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.0.4/MODULE.bazel": "f74302cb90a7c4878db302276afae82966878099861dcfca3ef43256131dab52", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.0.5/MODULE.bazel": "ed17c232ebd65e9d50fd5c1832f90f95ffe95b2a1113d63a176295a2af64d111", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.1.0/MODULE.bazel": "97dd927309f87ecb73629725683028a5dbb37a49b1159c771292e6993569055b", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.1.1-Beta/MODULE.bazel": "7ab8931f4b2754b728101ed5a2afda458b82b885f5cfdb9d8c4c62b5c1a2da7e", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.1.1/MODULE.bazel": "35c84c7cec7d15678f63145054bb74367afb65929724c2115095d5e1b96fca94", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.2.0/MODULE.bazel": "ec092bf01731a1866352d7b8aaa0e30cae319667abc8cf7a86aec0bdb8555a0e", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.3.1/MODULE.bazel": "29666e38fbc76eddd6676e594f225e474d130dce9c3a9d224e59ae7a499c4575", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.3.2/MODULE.bazel": "a32390ef217cef9a811408b0a1c5aeed1398c377aa846f5d5416d7b95b4e4366", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.4.2/MODULE.bazel": "7593d62baf500c4e40bf0758f2515b5df016e177b889d11ca964818821ebe505", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.4.3/MODULE.bazel": "eb8243299a6ae3663618db5b4718e2c0d3c93f91a44994641e70106c400b23fb", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.5.2/MODULE.bazel": "be52d29278d6671221f28921e8f1acfce29c3bfc3e6b4f503f0625ab2c61586f", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.5.3/MODULE.bazel": "65024b7f23ce5f72bd6ffd455a67c042ecf56d267f0bf63a90330a3241781b7a", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.5.4/MODULE.bazel": "efd56704f1a93e670032e7c0e4fad97669aa3b348fb1a4cd40f67e4dd4c7037c", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.6.0/MODULE.bazel": "2496bc24311f69f49449ee85d8bb38e3b970cbfcf10d0a7f19b2d5262ce80e8d", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.6.0/source.json": "093424aa8bfed8705a3d142b21fe1d053258f2dd5eb1944941f6439b2c7157e9", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_python_basics/0.3.0/MODULE.bazel": "785ddd5295213e36c31ab86bdc34f29c0f7d1b72e9abd931bb08f42c0e48e2e9", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_python_basics/0.3.1/MODULE.bazel": "99c491109937542e61df090222666a8613ef946fa7bb2b2d5ba648b2baba03ad", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_python_basics/0.3.2/MODULE.bazel": "f25490f64035a0e3a0d53ad9cb6164e8325ce6cf2a7ee68c6ae153840cb2497e", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_python_basics/0.3.4/MODULE.bazel": "53bd16dfbb1fb8ecf6822fb26f9f4e8333bac7b14d12bb02bf84078063820a31", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rust_policies/0.0.2/MODULE.bazel": "ade2bad4a331b02d9b7e7d9842e8de8c6fded6186486e02c4f7db5cd4b71d34d", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_rust_policies/0.0.2/source.json": "fbcbc738e652b0c68d5d28dd1db09f2e643dc111f5739b2f6af7ec56c2e88043", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_starpls_lsp/0.1.0/MODULE.bazel": "b2f8c4c8d8e851706255ff9002b448bff6e040b8f0c6adedbde2a09375aa16cc", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.0.2/MODULE.bazel": "e70f396375b9d612b4f41ebceff7f18f68ab423b14625c138a354cc01bc62a10", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.1.0/MODULE.bazel": "5a04a5ce3512eb742a036600fba58b465f427e2e193db8e88857132e4a4eb513", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.1.2-RC/MODULE.bazel": "ac89da18ac88f7169d2fe675bfd173464f8de58ea934c12079aed0488c3b4dcd", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.2.0/MODULE.bazel": "982db97a4f8440356ea935f103204f644fb2b84d8188df63533c7312c82afc37", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.2.0/source.json": "c742d8932e4e6b667f3c81f40127768a8541f01ca7b1e6751773926231cbd852", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/stardoc/0.5.0/MODULE.bazel": "not found", @@ -804,7 +735,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.6.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchain_utils/1.0.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_llvm/1.7.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_protoc/0.2.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20230516-61a97ef/MODULE.bazel": "not found", diff --git a/docs/manuals/user_manual.rst b/docs/manuals/user_manual.rst index eb6e6927..720b7bbb 100644 --- a/docs/manuals/user_manual.rst +++ b/docs/manuals/user_manual.rst @@ -39,6 +39,7 @@ into your project. .. note:: This is a template user manual. Replace placeholder text with actual module-specific information. +For build and test of the module itself, please refer to the :ref:`quick-start-building-testing`. Environment Needs ================= diff --git a/index.rst b/index.rst index a55b61f0..723e0fdd 100644 --- a/index.rst +++ b/index.rst @@ -226,8 +226,10 @@ An example of modeling architecture in Sphinx Needs can be found in Please note, that is not a template for architecture documentation, but an example of how to use Sphinx Needs for architecture modeling. The architecture documentation of the components and features of the module should follow the provided templates and guidelines. +.. _quick-start-building-testing: + Quick Start - Building and Testing -=================================== +================================== To build the entire module: From 9597b03caca9db035696beb6dbc37ebacbaac448 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Tue, 23 Jun 2026 10:42:56 +0200 Subject: [PATCH 14/15] fix review comment --- index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.rst b/index.rst index 723e0fdd..ba12bc86 100644 --- a/index.rst +++ b/index.rst @@ -249,7 +249,7 @@ To run only unit tests: bazel test //src/... -To run component or feature integration tests: +To run only component or feature integration tests: .. code-block:: bash From 4e607332d3cab4213d45bec8abe7ba8957cc2463 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" <roland.jentsch@etas.com> Date: Tue, 23 Jun 2026 12:14:54 +0200 Subject: [PATCH 15/15] remove double checklist in implementation --- .../feature_example/architecture/index.rst | 35 +++------ .../detailed_design_example.rst | 54 +++++++++++++- .../docs/detailed_design/index.rst | 74 ++----------------- 3 files changed, 70 insertions(+), 93 deletions(-) diff --git a/docs/features/feature_example/architecture/index.rst b/docs/features/feature_example/architecture/index.rst index 9789b649..bff99e46 100644 --- a/docs/features/feature_example/architecture/index.rst +++ b/docs/features/feature_example/architecture/index.rst @@ -61,8 +61,12 @@ Mandatory: A motivation for the decomposition Static Architecture ------------------- -The live feature architecture template snippets are maintained in the -`module template documentation <https://eclipse-score.github.io/module_template/main/>`__. +<The static architecture of the feature can be described here. It includes the feature architecture diagrams and some descriptions.> + +.. note:: + The Architecture can be split into multiple files, it is an high level architecture design + which can be shown without actual c++/rust interfaces and data types + and there will be link to internal architecture till code to get actual api descriptions. .. code-block:: rst @@ -84,6 +88,8 @@ The live feature architecture template snippets are maintained in the Dynamic Architecture -------------------- +<The dynamic architecture of the feature can be described here. That can include sequence diagrams, state machines, and other dynamic views of the feature.> + .. code-block:: rst .. feat_arc_dyn:: Dynamic View @@ -101,28 +107,11 @@ Logical Interfaces The logical interfaces of the feature are defined in the `logical interfaces` section of the feature documentation in the project repository. +See `SCORE Features <https://eclipse-score.github.io/score/main/features/index.html>`_ for more information. + Used Components --------------- -The following components are needed to be defined to be able to draw the static feature view. -They will be replaced by linking the proper SW component definitions in the used module's repositories as soon as those exist. - -.. code-block:: rst - - .. comp:: Component Name - :id: comp__component_name_template - :safety: ASIL_B - :security: YES - :status: invalid - :implements: logic_arc_int__feature_name__interface_name1 - -.. note:: - Architecture can be split into multiple files, it is an high level architecture design - which can be shown without actual c++/rust interfaces and data types - and there will be link to internal architecture till code to get actual api descriptions. - -.. attention:: - The above directives must be updated according to your feature architecture. +The components used by the feature are defined in the `components` section of the module documentation. - - Replace the example content by the real content (according to :need:`gd_guidl__arch_design`) - - Set the status to valid and start the review/merge process +See :ref:`component_template` for an example component. diff --git a/score/component_example/docs/detailed_design/detailed_design_example.rst b/score/component_example/docs/detailed_design/detailed_design_example.rst index 57c31468..b0020704 100644 --- a/score/component_example/docs/detailed_design/detailed_design_example.rst +++ b/score/component_example/docs/detailed_design/detailed_design_example.rst @@ -15,28 +15,78 @@ Example: Detailed Design ======================== +.. document:: [Your Component Name] Detailed Design + :id: doc__mod_temp_component_name_detailed_design + :status: draft + :safety: ASIL_B + :security: NO + :realizes: wp__sw_implementation + :tags: template + +.. attention:: + The above directive must be updated according to your Component. + + - Modify ``Your Component Name`` to be your Component Name + - Modify ``id`` to be your Component Name in upper snake case preceded by ``doc__`` and followed by ``_detailed_design`` + - Adjust ``status`` to be ``valid`` + - Adjust ``safety`` and ``tags`` according to your needs + +Detailed Design for Component: <Component Name> +=============================================== + Description ----------- +| Design Decisions - For the documentation of the decision the :need:`gd_temp__change_decision_record` can be used. +| Design Constraints + +Example: + - component is split into two units unit1 and unit2 based on single responsibility principle. - unit2 is injected to unit1 one via dependency injection for testability. +Rationale Behind Decomposition into Units +****************************************** +| mandatory: a motivation for the decomposition into one or more units. + +.. note:: Reason for split into multiple units could be- + - Based on design principles like SOLID,DRY etc + - Based on design pattern's etc. Static Diagrams for Unit Interactions ------------------------------------- +A static view provides an overview of the units and their relationships using +UML 2.0 notations (e.g. class diagrams, component diagrams). Use ``.. uml::`` +or ``.. image::`` directives to include the diagram. + .. uml:: dd_example_ex_sta.puml Dynamic Diagrams for Unit Interactions (optional) -------------------------------------------------- +A dynamic view illustrates how the units within a component interact over their +interfaces to fulfill a specific use case or functionality. It is optional when the +component's behaviour is straightforward and can be understood from the static view +and interface documentation alone. + +Use standard UML behavioural diagrams (sequence diagrams, state machine diagrams) +with ``.. uml::`` or ``.. image::`` directives. + .. uml:: dd_example_ex_dyn.puml Units within the Component -------------------------- -The units are defined in the source code. The relationship between a unit and the -component is established implicitly through the file path. +The relationship between a unit and its parent component is established implicitly +through the file path. Each component has its own directory, and units residing +within that directory belong to it. The unit's attributes and behaviour are documented +in the source code itself. A separate static diagram per unit is not required. + +Interface documentation of a software unit is part of the source code (e.g. public +API headers, trait definitions, or documented function signatures). + +Example: - unit1: implements the main logic (see source code for details) - unit2: injected into unit1 via dependency injection for testability diff --git a/score/component_example/docs/detailed_design/index.rst b/score/component_example/docs/detailed_design/index.rst index d980b371..ec980f73 100644 --- a/score/component_example/docs/detailed_design/index.rst +++ b/score/component_example/docs/detailed_design/index.rst @@ -20,69 +20,17 @@ Detailed Design .. attention:: The detailed design document is optional and should be created if the design of the component is complex and cannot be easily understood from the architecture documentation and interface documentation alone. + But the inspection checklist for the implementation is mandatory. -.. document:: [Your Component Name] Detailed Design - :id: doc__mod_temp_component_name_detailed_design - :status: draft - :safety: ASIL_B - :security: NO - :realizes: wp__sw_implementation - :tags: template - -.. attention:: - The above directive must be updated according to your Component. - - - Modify ``Your Component Name`` to be your Component Name - - Modify ``id`` to be your Component Name in upper snake case preceded by ``doc__`` and followed by ``_detailed_design`` - - Adjust ``status`` to be ``valid`` - - Adjust ``safety`` and ``tags`` according to your needs - -Detailed Design for Component: <Component Name> -=============================================== - -Description ------------ - -| Design Decisions - For the documentation of the decision the :need:`gd_temp__change_decision_record` can be used. -| Design Constraints - -Rationale Behind Decomposition into Units -****************************************** -| mandatory: a motivation for the decomposition into one or more units. - -.. note:: Reason for split into multiple units could be- - - Based on design principles like SOLID,DRY etc - - Based on design pattern's etc. - -Static Diagrams for Unit Interactions -------------------------------------- - -A static view provides an overview of the units and their relationships using -UML 2.0 notations (e.g. class diagrams, component diagrams). Use ``.. uml::`` -or ``.. image::`` directives to include the diagram. - -Dynamic Diagrams for Unit Interactions (optional) --------------------------------------------------- - -A dynamic view illustrates how the units within a component interact over their -interfaces to fulfill a specific use case or functionality. It is optional when the -component's behaviour is straightforward and can be understood from the static view -and interface documentation alone. - -Use standard UML behavioural diagrams (sequence diagrams, state machine diagrams) -with ``.. uml::`` or ``.. image::`` directives. +Detail design example +--------------------- -Units within the Component --------------------------- +An example of documenting detailed design can be found in: -The relationship between a unit and its parent component is established implicitly -through the file path. Each component has its own directory, and units residing -within that directory belong to it. The unit's attributes and behaviour are documented -in the source code itself. A separate static diagram per unit is not required. + .. toctree:: -Interface documentation of a software unit is part of the source code (e.g. public -API headers, trait definitions, or documented function signatures). + detailed_design_example Inspection Checklist -------------------- @@ -92,13 +40,3 @@ The checklist for verification of the detailed design inspection can be found he .. toctree:: chklst_impl_inspection - - -Detail design example ---------------------- - -An example of documenting detailed design can be found in: - - .. toctree:: - - detailed_design_example