You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- `primary include <https://github.com/nlohmann/json/blob/develop/include/nlohmann/json.hpp>`_ (and internal headers under `include/nlohmann/detail<https://github.com/nlohmann/json/tree/develop/include/nlohmann/detail>`_)
- provide JSON parsing and validation per **RFC 8259**
43
43
- **Evidence**
44
-
- captured extensively in `WFJ-*`, `TIJ-*`, `NJF-*`, `NPF-*`, and `PJD-*` statements, which are connected in the trustable graph to the expectation `JLEX-02`.
44
+
- captured extensively in `WFJ-*`, `TIJ-*`, `NJF-*`, `NPF-*`, and `PJD-*` statements, which are connected in the trustable graph to the expectation `JLEX-02`. See `Trustable Graph (JLEX-02) <https://eclipse-score.github.io/nlohmann_json/main/_images/custom_JLEX-02_graph.svg>`_.
45
+
Finding: the trustable graph contains JLEX-01, which is not a S-CORE requirement any more (to be fixed with `Bug #2686 <https://github.com/eclipse-score/score/issues/2686>`_).
45
46
46
47
1.2 System
47
48
^^^^^^^^^^
@@ -54,7 +55,7 @@ It is typically an ECU containing driving functions and the necessary supporting
54
55
55
56
Assumptions of Use are captured in the TSF elements:
56
57
57
-
- `TA-CONSTRAINTS` → `AOU-01..AOU-31`
58
+
- `TA-CONSTRAINTS` → `AOU-01..AOU-31` (see `Trustable Graph (TA-CONSTRAINTS) <https://eclipse-score.github.io/nlohmann_json/main/_images/custom_TA-CONSTRAINTS_graph.svg>`_.
58
59
59
60
60
61
@@ -72,7 +73,8 @@ Two use cases should be considered:
72
73
73
74
Rationale for the chosen losses:
74
75
75
-
As the expected system the SUA is used in is a vehicle only the maximum possible loss is considered.
76
+
As the expected system the SUA is used in is a vehicle control unit, the assumption is there are safety relevant functions in it.
77
+
The loss(es) are constrained to the scope of S-CORE.
76
78
77
79
.. list-table:: Losses
78
80
:header-rows: 1
@@ -81,7 +83,7 @@ As the expected system the SUA is used in is a vehicle only the maximum possible
81
83
- Loss description
82
84
83
85
* - L1
84
-
- Loss of life of people inside or outside of the vehicle.
86
+
- Loss of safety related applications, realizing functions or parts of them e.g. for driving function..
85
87
86
88
87
89
2.2 Hazards (System-Level Conditions that can lead to these Losses)
@@ -112,9 +114,9 @@ Using the Losses, we define **Hazards (H\*)** :
112
114
2.3 System-level Constraints (system conditions or behaviours that need to be satisfied to prevent hazards)
In RAFIA/STPA, constraints are “statements that must be true” to avoid a hazard, UCA, or causal scenario `RAFIA: Risk Analysis <https://pages.eclipse.dev/eclipse/tsf/tsf/extensions/rafia/risk-analysis.html>`_. In TSF terms, these constraints are captured as (or mapped onto existing) **Items**, and are supported by **Evidence**.
117
+
In RAFIA/STPA, constraints are “statements that must be true” to avoid a hazard, Unsafe Control Actions (UCA), or causal scenario `RAFIA: Risk Analysis <https://pages.eclipse.dev/eclipse/tsf/tsf/extensions/rafia/risk-analysis.html>`_. In TSF terms, these constraints are captured as (or mapped onto existing) **Items**, and are supported by **Evidence**.
116
118
117
-
.. list-table:: SLCs
119
+
.. list-table:: System Level Constraints (SLCs)
118
120
:header-rows: 1
119
121
120
122
* - Constraint Id
@@ -143,12 +145,12 @@ In RAFIA/STPA, constraints are “statements that must be true” to avoid a haz
143
145
- In case of safety relevant timing constraints are violated, the system is detecting this and will go to safe state.
@@ -195,7 +197,7 @@ This diagram is used both to define the **scope of analysis** (system boundary a
195
197
196
198
* - Interaction Id
197
199
- Interaction description
198
-
- Type
200
+
- IType
199
201
- Provider Id
200
202
- Receiver Id
201
203
@@ -223,8 +225,9 @@ This diagram is used both to define the **scope of analysis** (system boundary a
223
225
- E2
224
226
- E1
225
227
228
+
Note: In this and other tables definitions from `STPA results schema <https://pages.eclipse.dev/eclipse/tsf/tsf/extensions/stpa/schema.html>`_ are used, e.g. IType.
226
229
227
-
1. Unsafe Control Actions (UCAs)
230
+
4. Unsafe Control Actions (UCAs)
228
231
--------------------------------
229
232
230
233
Using the control structure, we identify **Unsafe Control Actions (UCA\*)**:
@@ -260,7 +263,7 @@ for the SUA provided feedback.
260
263
261
264
* - CA Analysis ID
262
265
- CA Id
263
-
- UCA Type
266
+
- UCAType
264
267
- UCA Context
265
268
- Analysis Result
266
269
- Hazard(s)
@@ -410,13 +413,14 @@ for the SUA provided feedback.
410
413
- -
411
414
- Sequence/order is not applicable to a single `parse` call in isolation, nlohman_json is a library so no influence from other callers.
412
415
416
+
Note: In this and other tables definitions from `STPA results schema <https://pages.eclipse.dev/eclipse/tsf/tsf/extensions/stpa/schema.html>`_ are used, e.g. UCAType.
413
417
414
418
4.3 UCAs
415
419
^^^^^^^^
416
420
417
421
The UCA identified in the above analysis are:
418
422
419
-
.. list-table:: UCAs
423
+
.. list-table:: Unsafe Control Actions (UCAs)
420
424
:header-rows: 1
421
425
422
426
* - UCA Id
@@ -477,12 +481,12 @@ The UCA identified in the above analysis are:
477
481
478
482
479
483
480
-
1. Controller (Functional) Constraints
484
+
5. Controller (Functional) Constraints
481
485
--------------------------------------
482
486
483
487
This step records the **Controller (Functional) Constraints (CFC)** derived from the UCA results. This adds to the above constraint table
This step is tailored out due to low complexity of the SUA (simple caller/callee interacttion).
@@ -523,26 +527,30 @@ This step is tailored out due to low complexity of the SUA (simple caller/callee
523
527
^^^^^^^^^^^^^^^^^
524
528
525
529
In TSF terms, misbehaviours are **anything that can cause a deviation from Expected Behaviour** (`TA-MISBEHAVIOURS_CONTEXT.md`).
526
-
JLS-24 partly but not fully covers C2. As this misbehaviour leads to an exception, this needs to be covered by the user (see AOU-04).
527
-
But AOU-04 is formulated in a wrong way ("exceptions are ... turned off") and has to be corrected.
530
+
531
+
`JLS-24 <https://eclipse-score.github.io/nlohmann_json/main/generated/JLS.html#jls-24>`_ partly but not fully covers C2. As this misbehaviour leads to an exception, this needs to be covered by the user (see `AOU-04 <https://eclipse-score.github.io/nlohmann_json/main/generated/AOU.html#aou-04>`_).
532
+
533
+
But AOU-04 is formulated in a wrong way ("exceptions are ... turned off") and has to be corrected (to be fixed with `Bug #2686 <https://github.com/eclipse-score/score/issues/2686>`_)
528
534
529
535
530
536
9.2 Expectations
531
537
^^^^^^^^^^^^^^^^
532
538
533
-
Here, expectations are recorded as explicit, change-controlled statements about the SUA where it is responsible for preventing or mitigating a risk (Hazard, UCA, Causal Scenario) or Misbehaviour. The key SUA expectations already exist as TSF Expectation (`JLEX-02`).
539
+
Here, expectations are recorded as explicit, change-controlled statements about the SUA where it is responsible for preventing or mitigating a risk (Hazard, UCA, Causal Scenario) or Misbehaviour.
540
+
The key SUA expectations already exist as TSF Expectation (`JLEX-02 <https://eclipse-score.github.io/nlohmann_json/main/generated/JLEX.html#jlex-02>`_) covering C1.
534
541
535
542
536
543
9.3 Assumptions
537
544
^^^^^^^^^^^^^^^
538
545
539
-
Assumptions record conditions for integrators and other system elements (outside the SUA) that are responsible for preventing or mitigating a risk or misbehaviour. Again, assumptions are already covered under TSF as Assumptions of Use (AOU-23, AOU-24).
546
+
Assumptions record conditions for integrators and other system elements (outside the SUA) that are responsible for preventing or mitigating a risk or misbehaviour.
547
+
Again, assumptions are already covered under TSF as Assumptions of Use (`AOU-23 <https://eclipse-score.github.io/nlohmann_json/main/generated/AOU.html#aou-23>`_, `AOU-24 <https://eclipse-score.github.io/nlohmann_json/main/generated/AOU.html#aou-24>`_).
540
548
541
-
To make sure C3 is covered by the system a new AOU has to be formulated.
549
+
To make sure C3 is covered by the system a new AOU has to be formulated (to be fixed with `Bug #2686 <https://github.com/eclipse-score/score/issues/2686>`_).
542
550
It is not possible to be covered by the SUA, because it has no control over the size of the JSON data provided.
543
551
544
552
If the uses `accept` before using `parse` on a JSON to be deserialized he can avoid an exception due to mal-formed JSON, but he still needs to care for the missing
545
-
deserialized data in a safe way. AOU for this is missing (which will cover C4).
553
+
deserialized data in a safe way. AOU for this is missing which will cover C4 (to be fixed with `Bug #2686 <https://github.com/eclipse-score/score/issues/2686>`_).
0 commit comments