Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,10 @@ exports_files([
# - `:docs` for building documentation at build-time
docs(
data = [
# "@score_platform//:needs_json",
# "@score_process//:needs_json",
"@score_platform//:needs_json",
"@score_baselibs//:needs_json",
"@score_baselibs_rust//:needs_json",
"@score_process//:needs_json",
],
source_dir = "docs",
)
34 changes: 25 additions & 9 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,21 @@ bazel_dep(name = "platforms", version = "1.0.0")
# S-CORE process rules
bazel_dep(name = "score_bazel_platforms", version = "0.0.3")
bazel_dep(name = "score_docs_as_code", version = "2.2.0")
git_override(
module_name = "score_docs_as_code",
commit = "1e0c4f5a52fbb327ec2929da00d51b080fcf6f10",
remote = "https://github.com/etas-contrib/score_docs-as-code.git",
)
bazel_dep(name = "score_tooling", version = "1.0.4")
bazel_dep(name = "score_rust_policies", version = "0.0.3")

bazel_dep(name = "score_process", version = "1.4.0", dev_dependency = True)
bazel_dep(name = "score_platform", version = "0.5.1", dev_dependency = True)
git_override(
module_name = "score_platform",
commit = "6829d691dfd4521ce376e22400bb104197967b7c",
remote = "https://github.com/etas-contrib/score_score.git",
)

# Toolchains and extensions
bazel_dep(name = "score_toolchains_gcc", version = "0.5", dev_dependency = True)
Expand All @@ -43,9 +53,10 @@ bazel_dep(name = "score_toolchains_rust", version = "0.4.0", dev_dependency = Tr
bazel_dep(name = "score_crates", version = "0.0.6")

# Overrides
# update to same version as baselib
git_override(
module_name = "score_tooling",
commit = "612d6f180a9bb6338de5f0e6667fcf83068d9c37", #until 1.0.5 is released
commit = "8894fe5440436a8c6d9e214c97b18d619c7f7eac",
remote = "https://github.com/eclipse-score/tooling.git",
)

Expand Down Expand Up @@ -92,20 +103,25 @@ use_repo(toolchains_qnx, "toolchains_qnx_ifs")

bazel_dep(name = "googletest", version = "1.17.0.bcr.1")
bazel_dep(name = "rapidjson", version = "1.1.0")
bazel_dep(name = "score_communication", version = "0.1.2")
git_override(
module_name = "score_communication",
commit = "5a70133dd8bd632f5c07f200a5ee4bc9f507c23b",
remote = "https://github.com/eclipse-score/communication.git",
)
# bazel_dep(name = "score_communication", version = "0.1.2")
# git_override(
# module_name = "score_communication",
# commit = "5a70133dd8bd632f5c07f200a5ee4bc9f507c23b",
# remote = "https://github.com/eclipse-score/communication.git",
# )

bazel_dep(name = "score_baselibs", version = "0.2.0")
git_override(
module_name = "score_baselibs",
commit = "3c65b223e9f516f95935bb4cd2e83d6088ca016f",
remote = "https://github.com/eclipse-score/baselibs.git",
commit = "458dbd6ef269326405006222c68dc9146be119b6",
remote = "https://github.com/etas-contrib/score_baselibs.git",
)

# Rust dependencies

bazel_dep(name = "score_baselibs_rust", version = "0.0.3")
git_override(
module_name = "score_baselibs_rust",
commit = "70ff0888f8c5f5286c9134752f4dae9dc50b888c",
remote = "https://github.com/etas-contrib/score_baselibs_rust.git",
)
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"sphinx_design",
"sphinx_needs",
"sphinxcontrib.plantuml",
# "score_plantuml",
"score_plantuml",
"score_metamodel",
"score_draw_uml_funcs",
"score_source_code_linker",
Expand Down
146 changes: 146 additions & 0 deletions docs/data_router_recorder/docs/architecture/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
..
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. _component_architecture_data_router_recorder:

data_router_recorder Component Architecture
===========================================

.. document:: data_router_recorder Architecture
:id: doc__data_router_recorder_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).

.. comp:: data_router_recorder
:id: comp__data_router_recorder
:security: YES
:safety: ASIL_B
:status: invalid
:implements: logic_arc_int__log_cpp__recorder, logic_arc_int__logging__buffer

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

{{ draw_component(need(), needs) }}
..
TEMPLATE: Uncomment and fill out the following comp_arc_sta directive:

.. comp_arc_sta:: Component Name (Static View)
:id: comp_arc_sta__component_name__static_view
:security: YES
:safety: ASIL_B
:status: invalid
:implements: logic_arc_int__feature_name__interface_name1
:fulfils: comp_req__component_name__some_title
:includes: comp_arc_sta__component_name__2

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

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

Dynamic Architecture
--------------------

..
TEMPLATE: Uncomment and customize the comp_arc_dyn directive:

.. comp_arc_dyn:: Dynamic View
:id: comp_arc_dyn__component_name__dynamic_view
:security: YES
:safety: ASIL_B
:status: invalid
:fulfils: comp_req__component_name__some_title

Put here a sequence diagram


Interfaces
----------


Internal Components
-------------------

..
TEMPLATE: Uncomment and customize the comp_arc_sta directive:

.. comp_arc_sta:: Component Name Static View
:id: comp_arc_sta__component_name__2
:status: invalid
:safety: ASIL_B
:security: YES
:fulfils: comp_req__component_name__some_title
:implements: logic_arc_int__feature_name__interface_name1

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
Loading
Loading