Skip to content

Add tailored STPA risk analysis#25

Merged
masc2023 merged 2 commits intomainfrom
aschemmel-tech-risk-analysis
Mar 17, 2026
Merged

Add tailored STPA risk analysis#25
masc2023 merged 2 commits intomainfrom
aschemmel-tech-risk-analysis

Conversation

@aschemmel-tech
Copy link
Copy Markdown

STPA risk analysis as proposed by TSF
Reduced complexity by tailoring.
Base was #23.

@github-project-automation github-project-automation bot moved this to In Progress in BAS - Baselibs FT Mar 17, 2026
@github-actions github-actions bot added documentation Improvements or additions to documentation L labels Mar 17, 2026
@aschemmel-tech aschemmel-tech force-pushed the aschemmel-tech-risk-analysis branch from 9b803b0 to e9426c3 Compare March 17, 2026 10:53
@aschemmel-tech aschemmel-tech requested a review from hoe-jo March 17, 2026 10:54
hoe-jo
hoe-jo previously approved these changes Mar 17, 2026
@aschemmel-tech
Copy link
Copy Markdown
Author

aschemmel-tech commented Mar 17, 2026

@hoe-jo asked for informal OSS review before PR creation - confirmed

Copy link
Copy Markdown

@masc2023 masc2023 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Readability very much increased, left some improvement comments, What about the TBD, ?, shall they followed-up in another PRs, links to tickets?

The software under analysis (SUA) is the **header-only C++ JSON library `nlohmann/json` (v3.12.0)**, with:

- **Implementation**
- primary include `include/nlohmann/json.hpp` (and internal headers under `include/nlohmann/detail/**`)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

impr proposal: add direct link to the folder including 2 hpps files

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, fix


Assumptions of Use are captured in the TSF elements:

- `TA-CONSTRAINTS` → `AOU-01..AOU-31`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

impr proposal: add link to folder

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, fix

Two use cases should be considered:

- Configuration of the system during startup phase
- Use of JSON encoded data during normal operation of the system
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there anything to consider for shutdown, unforeseen crashes? Even if there is nothing to consider, adding this information to complete the documentation, that it has been considered

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added reasoning why not taken into account.


This step records the **Controller (Functional) Constraints (CFC)** derived from the UCA results. This adds to the above constraint table

.. list-table:: CFCs
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Controller (Functional) Constraints (CFCs)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, fix


The UCA identified in the above analysis are:

.. list-table:: UCAs
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unsafe Control Actions (UCAs)

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, fix

- Non availability of return data is treated by the caller (e.g. by default data, or safe state).
- -
- UCA-I1-ML; UCA-I3-ML
- ?
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this is not covered yet by TSF, correct?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added link to bug ticket

^^^^^^^^^^^^^^^^^

In TSF terms, misbehaviours are **anything that can cause a deviation from Expected Behaviour** (`TA-MISBEHAVIOURS_CONTEXT.md`).
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).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

improv. proposal: readability improved by direkt links to the JLS-24 and AOU-04, etc. mentioned here

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

9.2 Expectations
^^^^^^^^^^^^^^^^

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`).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may add here covers C1

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, done



2. Purpose of the analysis
1. Purpose of the analysis
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should still be 2. as the next topic is 2.1?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

somehow my editor tricks me here, hopefully fixed

@aschemmel-tech aschemmel-tech force-pushed the aschemmel-tech-risk-analysis branch 2 times, most recently from 7c70800 to 7adc905 Compare March 17, 2026 14:46
masc2023
masc2023 previously approved these changes Mar 17, 2026
@github-project-automation github-project-automation bot moved this from In Progress to On Hold in BAS - Baselibs FT Mar 17, 2026
@masc2023 masc2023 merged commit db4e1b3 into main Mar 17, 2026
90 checks passed
@masc2023 masc2023 deleted the aschemmel-tech-risk-analysis branch March 17, 2026 16:20
@github-project-automation github-project-automation bot moved this from On Hold to Done in BAS - Baselibs FT Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation L

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants