Skip to content

Commit 96c8441

Browse files
authored
Merge pull request #188 from etas-contrib/migrate-module-docs
Migrate module docs
2 parents 6dbde7b + 775fac9 commit 96c8441

24 files changed

+1835
-91
lines changed

MODULE.bazel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,12 @@ bazel_dep(name = "score_baselibs", version = "0.1.2")
8989
bazel_dep(name = "score_bazel_platforms", version = "0.0.2")
9090
bazel_dep(name = "score_docs_as_code", version = "2.2.0")
9191
bazel_dep(name = "score_platform", version = "0.5.0")
92+
git_override(
93+
module_name = "score_platform",
94+
commit = "9d30b718db22ad335cccbcfd72f96e5b37fa58f1", # obsolete by 0.5.1+
95+
remote = "https://github.com/eclipse-score/score.git",
96+
)
97+
9298
bazel_dep(name = "score_process", version = "1.3.2")
9399
bazel_dep(name = "score_python_basics", version = "0.3.4")
94100
bazel_dep(name = "score_tooling", version = "1.0.3")

docs/index.rst

Lines changed: 5 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@
1212
# SPDX-License-Identifier: Apache-2.0
1313
# *******************************************************************************
1414
15+
.. toctree::
16+
:maxdepth: 2
17+
18+
persistency/index
19+
1520
Key-Value-Storage (rust_kvs) Documentation
1621
==========================================
1722

1823
This documentation describes the `rust_kvs` crate, which provides a key-value storage implementation with JSON-like persistence using Rust.
1924

20-
.. contents:: Table of Contents
21-
:depth: 2
22-
:local:
23-
2425
Summary
2526
-------
2627

@@ -106,54 +107,6 @@ Example
106107
Ok(())
107108
}
108109
109-
Related Requirements
110-
====================
111-
112-
This crate addresses or is influenced by the following specification requirements from the system architecture.
113-
114-
General Capabilities
115-
--------------------
116-
117-
- :need:`feat_req__persistency__cpp_rust_interop`
118-
- :need:`feat_req__persistency__multiple_kvs`
119110
- :need:`feat_req__persistency__tooling`
120111
- :need:`feat_req__persistency__variant_management`
121-
- :need:`feat_req__persistency__eng_mode`
122-
- :need:`feat_req__persistency__async_api`
123-
- :need:`feat_req__persistency__access_control`
124-
- :need:`feat_req__persistency__events`
125112
- :need:`feat_req__persistency__fast_access`
126-
- :need:`feat_req__persistency__intra_process_comm`
127-
128-
Data Storage and Persistency
129-
----------------------------
130-
131-
- :need:`feat_req__persistency__default_values`
132-
- :need:`feat_req__persistency__default_value_get`
133-
- :need:`feat_req__persistency__default_value_reset`
134-
- :need:`feat_req__persistency__persistency`
135-
- :need:`feat_req__persistency__integrity_check`
136-
- :need:`feat_req__persistency__versioning`
137-
- :need:`feat_req__persistency__update_mechanism`
138-
- :need:`feat_req__persistency__snapshots`
139-
- :need:`feat_req__persistency__persist_data`
140-
141-
Datatypes and Interfaces
142-
------------------------
143-
144-
- :need:`feat_req__persistency__support_datatype_keys`
145-
- :need:`feat_req__persistency__support_datatype_value`
146-
147-
Configuration Support
148-
---------------------
149-
150-
- :need:`feat_req__persistency__default_value_file`
151-
- :need:`feat_req__persistency__config_file`
152-
153-
Limitations and Future Work
154-
---------------------------
155-
156-
- :need:`feat_req__persistency__maximum_size` *(currently unsupported)*
157-
158-
159-

docs/persistency/docs/index.rst

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
.. _module_documentation:
16+
17+
Module Documents Persistency
18+
############################
19+
20+
.. toctree::
21+
:maxdepth: 1
22+
:glob:
23+
24+
manual/index.rst
25+
safety_mgt/index.rst
26+
verification/module_verification_report.rst
27+
release/release_note.rst
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2024 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Manuals
16+
#######
17+
18+
.. toctree::
19+
:titlesonly:
20+
21+
safety_manual
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Safety Manual
16+
=============
17+
18+
.. document:: Persistency Safety Manual
19+
:id: doc__persistency_safety_manual_v2
20+
:status: valid
21+
:safety: ASIL_B
22+
:security: NO
23+
:tags: persistency
24+
:realizes: wp__module_safety_manual
25+
26+
Introduction/Scope
27+
------------------
28+
| This manual will cover the Feature Persistency. It's based on the components KVS and Tiny JSON.
29+
30+
Assumed Platform Safety Requirements
31+
------------------------------------
32+
| For the module persistency the following safety related stakeholder requirements are assumed to define the top level functionality (purpose) of the module persistency. I.e. from these all the feature and component requirements implemented are derived.
33+
| List of stakeholder requirements, with ASIL B, the module's components requirements are derived from.
34+
35+
.. needtable::
36+
:style: table
37+
:columns: title;id;status
38+
:colwidths: 25,25,15
39+
:sort: title
40+
41+
results = []
42+
43+
for need in needs.filter_types(["stkh_req"]):
44+
if need and "persistency" in need["tags"]:
45+
if need["safety"] == "ASIL_B":
46+
results.append(need)
47+
48+
49+
Assumptions of Use
50+
------------------
51+
52+
Assumptions on the Environment
53+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54+
| Generally the assumption of the S-CORE platform SEooC is that it is integrated in a safe system, i.e. the POSIX OS it runs on is qualified and also the HW related failures are taken into account by the system integrator, if not otherwise stated in the module's safety concept.
55+
56+
List of AoUs expected from the environment the module runs on:
57+
58+
.. needtable::
59+
:style: table
60+
:columns: title;id;status
61+
:colwidths: 25,25,25
62+
:sort: title
63+
64+
results = []
65+
66+
for need in needs.filter_types(["aou_req"]):
67+
if need and "persistency" in need["tags"]:
68+
if need and "environment" in need["tags"]:
69+
results.append(need)
70+
71+
Assumptions on the User
72+
^^^^^^^^^^^^^^^^^^^^^^^
73+
| As there is no assumption on which specific OS and HW is used, the integration testing of the stakeholder and feature requirements is expected to be performed by the user of the platform SEooC. Tests covering all stakeholder and feature requirements performed on a reference platform (tbd link to reference platform specification), reviewed and passed are included in the platform SEooC safety case.
74+
| Additionally the components of the platform may have additional specific assumptions how they are used. These are part of every module documentation: :ref:`module_documentation`. Assumptions from components to their users can be fulfilled in two ways:
75+
| 1. There are assumption which need to be fulfilled by all SW components, e.g. "every user of an IPC mechanism needs to make sure that he provides correct data (including appropriate ASIL level)" - in this case the AoU is marked as "platform".
76+
| 2. There are assumption which can be fulfilled by a safety mechanism realized by some other S-CORE platform component and are therefore not relevant for an user who uses the whole platform. But those are relevant if you chose to use the module SEooC stand-alone - in this case the AoU is marked as "module". An example would be the "JSON read" which requires "The user shall provide a string as input which is not corrupted due to HW or QM SW errors." - which is covered when using together with safe S-CORE platform persistency feature.
77+
78+
List of AoUs on the user of the platform features or the module of this safety manual:
79+
80+
.. needtable::
81+
:style: table
82+
:columns: title;id;status
83+
:colwidths: 25,25,25
84+
:sort: title
85+
86+
results = []
87+
88+
for need in needs.filter_types(["aou_req"]):
89+
if need and "environment" not in need["tags"]:
90+
if need and "persistency" in need["tags"]:
91+
results.append(need)
92+
93+
Safety concept of the SEooC
94+
---------------------------
95+
| <Describe here the safety concept incl. which faults are taken care of, reactions of the implemented functions under anomalous operating conditions ... if this is not already documented sufficiently in the feature documentation "safety impact" section of all the features the module is used in.>
96+
97+
Safety Anomalies
98+
----------------
99+
| Anomalies (bugs in ASIL SW, detected by testing or by users, which could not be fixed) known before release are documented in the platform/module release notes <add link to release note>.
100+
101+
References
102+
----------
103+
| <link to the user manual>
104+
| <other links>
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Release Note
16+
============
17+
18+
.. document:: Persistency Release Note
19+
:id: doc__persistency_release_note_v2
20+
:status: valid
21+
:safety: ASIL_B
22+
:security: NO
23+
:realizes: wp__module_sw_release_note
24+
:tags: persistency
25+
26+
| Module Name: Persistency
27+
| Release Tag: vX.Y.Z
28+
| Release Commit Hash: a1b2c3d4e5f6g7h8i9j0
29+
| Release Date: YYYY-MM-DD
30+
|
31+
| Overview
32+
| --------
33+
|
34+
| This document provides an overview of the changes, improvements, and bug fixes included in the software module release version vX.Y.Z.
35+
|
36+
| New Features
37+
| ------------
38+
|
39+
| - **Feature 1**: Brief description of the new feature.
40+
| - **Feature 2**: Brief description of the new feature.
41+
| - **Feature 3**: Brief description of the new feature.
42+
|
43+
| Improvements
44+
| ------------
45+
|
46+
| - **Improvement 1**: Brief description of the improvement.
47+
| - **Improvement 2**: Brief description of the improvement.
48+
| - **Improvement 3**: Brief description of the improvement.
49+
|
50+
| Bug Fixes
51+
| ---------
52+
|
53+
| - **Bug 1**: Brief description of the bug fix.
54+
| - **Bug 2**: Brief description of the bug fix.
55+
| - **Bug 3**: Brief description of the bug fix.
56+
|
57+
| Compatibility
58+
| -------------
59+
|
60+
| - **Dependencies**: List any dependencies and their versions.
61+
|
62+
| Known Issues
63+
| ------------
64+
|
65+
| - **Issue 1**: Brief description of the known issue. Justification regarding safety impact.
66+
| - **Issue 2**: Brief description of the known issue. Justification regarding safety impact.
67+
| - **Issue 3**: Brief description of the known issue. Justification regarding safety impact.
68+
|
69+
| Upgrade Instructions
70+
| --------------------
71+
|
72+
| 1. **Step 1**: Description of the first step.
73+
| 2. **Step 2**: Description of the second step.
74+
| 3. **Step 3**: Description of the third step.
75+
|
76+
| Contact Information
77+
| -------------------
78+
|
79+
| For any questions or support, please contact the *Project lead* or raise an issue/discussion.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2024 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
Safety Management
16+
#################
17+
18+
.. toctree::
19+
:titlesonly:
20+
21+
module_safety_plan
22+
module_safety_plan_fdr
23+
module_safety_package_fdr

0 commit comments

Comments
 (0)