From 6943ce83c156d5f3fc6e8a0305c1700348443ad8 Mon Sep 17 00:00:00 2001 From: Valery Lavrov Date: Tue, 3 Feb 2026 15:02:54 +0100 Subject: [PATCH] bmw score::time arch concept --- docs/conf.py | 2 +- docs/index.rst | 39 +- docs/time/_assets/app/app_class.puml | 44 + docs/time/_assets/app/app_init_seq.puml | 71 ++ docs/time/_assets/app/app_workflow_seq.puml | 69 ++ .../time/_assets/ctrlflow/ctrlflow_class.puml | 58 ++ .../_assets/ctrlflow/ctrlflow_init_seq.puml | 63 ++ .../ctrlflow/ctrlflow_workflow_seq.puml | 86 ++ docs/time/_assets/dd_class.puml | 135 +++ docs/time/_assets/dd_data_control_flow.puml | 98 ++ docs/time/_assets/dd_deployment.puml | 25 + .../abs_time/abs_time_data_control_flow.puml | 58 ++ .../abs_time/abs_time_deployment.puml | 57 + .../examples/qvt/qvt_data_control_flow.puml | 144 +++ .../_assets/examples/qvt/qvt_deployment.puml | 38 + docs/time/_assets/ipc/ipc_class.puml | 63 ++ docs/time/_assets/ipc/ipc_init_seq.puml | 49 + docs/time/_assets/ipc/ipc_publish_seq.puml | 41 + docs/time/_assets/ipc/ipc_receive_seq.puml | 29 + .../_assets/msg_broker/msg_broker_class.puml | 54 + .../msg_broker/msg_broker_init_seq.puml | 66 ++ .../msg_broker/msg_broker_workflow_seq.puml | 38 + docs/time/_assets/mw/mw_class.puml | 37 + docs/time/_assets/mw/mw_time_receive_seq.puml | 41 + .../mw/mw_time_receive_simple_seq.puml | 33 + .../ptp_machine/ptp_machine_class.puml | 64 ++ .../ptp_machine_get_new_data_seq.puml | 55 + .../ptp_machine/ptp_machine_init_seq.puml | 79 ++ docs/time/_assets/sad_deployment.puml | 39 + docs/time/_assets/ver_machine/ver_class.puml | 73 ++ .../_assets/ver_machine/ver_init_seq.puml | 66 ++ .../ver_machine/ver_verification_seq.puml | 57 + docs/time/index.rst | 983 ++++++++++++++++++ 33 files changed, 2839 insertions(+), 15 deletions(-) create mode 100644 docs/time/_assets/app/app_class.puml create mode 100644 docs/time/_assets/app/app_init_seq.puml create mode 100644 docs/time/_assets/app/app_workflow_seq.puml create mode 100644 docs/time/_assets/ctrlflow/ctrlflow_class.puml create mode 100644 docs/time/_assets/ctrlflow/ctrlflow_init_seq.puml create mode 100644 docs/time/_assets/ctrlflow/ctrlflow_workflow_seq.puml create mode 100644 docs/time/_assets/dd_class.puml create mode 100644 docs/time/_assets/dd_data_control_flow.puml create mode 100644 docs/time/_assets/dd_deployment.puml create mode 100644 docs/time/_assets/examples/abs_time/abs_time_data_control_flow.puml create mode 100644 docs/time/_assets/examples/abs_time/abs_time_deployment.puml create mode 100644 docs/time/_assets/examples/qvt/qvt_data_control_flow.puml create mode 100644 docs/time/_assets/examples/qvt/qvt_deployment.puml create mode 100644 docs/time/_assets/ipc/ipc_class.puml create mode 100644 docs/time/_assets/ipc/ipc_init_seq.puml create mode 100644 docs/time/_assets/ipc/ipc_publish_seq.puml create mode 100644 docs/time/_assets/ipc/ipc_receive_seq.puml create mode 100644 docs/time/_assets/msg_broker/msg_broker_class.puml create mode 100644 docs/time/_assets/msg_broker/msg_broker_init_seq.puml create mode 100644 docs/time/_assets/msg_broker/msg_broker_workflow_seq.puml create mode 100644 docs/time/_assets/mw/mw_class.puml create mode 100644 docs/time/_assets/mw/mw_time_receive_seq.puml create mode 100644 docs/time/_assets/mw/mw_time_receive_simple_seq.puml create mode 100644 docs/time/_assets/ptp_machine/ptp_machine_class.puml create mode 100644 docs/time/_assets/ptp_machine/ptp_machine_get_new_data_seq.puml create mode 100644 docs/time/_assets/ptp_machine/ptp_machine_init_seq.puml create mode 100644 docs/time/_assets/sad_deployment.puml create mode 100644 docs/time/_assets/ver_machine/ver_class.puml create mode 100644 docs/time/_assets/ver_machine/ver_init_seq.puml create mode 100644 docs/time/_assets/ver_machine/ver_verification_seq.puml create mode 100644 docs/time/index.rst diff --git a/docs/conf.py b/docs/conf.py index cf13475..2a47361 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -20,7 +20,7 @@ # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information -project = "Module Template Project" +project = "S-CORE Time" project_url = "https://eclipse-score.github.io/module_template/" project_prefix = "MODULE_TEMPLATE_" author = "S-CORE" diff --git a/docs/index.rst b/docs/index.rst index f8e53da..14bf088 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -12,10 +12,10 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -Module Template Documentation -============================= +TimeDaemon Documentation +======================== -This documentation describes the structure, usage and configuration of the Bazel-based C++/Rust module template. +This documentation describes the **TimeDaemon** and the **score::time** module. .. contents:: Table of Contents :depth: 2 @@ -24,20 +24,25 @@ This documentation describes the structure, usage and configuration of the Bazel 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. +**TimeDaemon** is a non-AUTOSAR adaptive process designed to provide synchronized vehicle time to client applications. +It supports multiple time bases including **in-vehicle synchronized time** (PTP - Precision Time Protocol) and +**external synchronized time** (absolute time base). The daemon retrieves time information from the respective time sources, +verifies and validates the timepoints, and distributes this time information across multiple clients through efficient IPC mechanisms. -Requirements ------------- +The main responsibilities of TimeDaemon include: -.. stkh_req:: Example Functional Requirement - :id: stkh_req__docgen_enabled__example - :status: valid - :safety: QM - :security: YES - :reqtype: Functional - :rationale: Ensure documentation builds are possible for all modules +- **Providing current Vehicle time** to different applications +- **Setting synchronization qualifiers** (e.g., Synchronized, Timeout, etc.) +- **Providing diagnostic information** for system monitoring +- **Supporting additional verification mechanisms** such as QualifiedVehicleTime (QVT) for safety-critical applications +For a detailed concept and architectural design, please refer to the :doc:`TimeDaemon Concept Documentation