Skip to content

Commit 8fa7394

Browse files
Add step 5 Controller Constraints.
1 parent 398a02c commit 8fa7394

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

TSF/docs/risk_analysis.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,29 @@ The RAFIA STPA procedure requires a CA-Analysis table keyed by control actions (
302302

303303
## 5. Controller (Functional) Constraints
304304

305+
This step records the **Controller (Functional) Constraints (CFC)** derived from the UCA results.
306+
307+
In this analysis, the term “controller constraint” is interpreted at the same abstraction level as the control structure in Section 3:
308+
309+
- For the **functional parsing loop (CL1)**, the constraints that prevent UCAs are largely expressed as **functional constraints on the `nlohmann/json` service behaviour** (C1–C3), because the UCAs in Section 4 are framed as “unsafe outcome of the `accept`/`parse` control action”.
310+
- For **boundary handling** (error and feedback handling) and **governance**, the constraints are captured as **CSC** items (C6, C11) anchored by existing AOU/JLS statements; they still prevent the associated UCAs, but they are treated as scenario/integration constraints rather than library-functional properties.
311+
312+
### 5.1 CFC constraints derived from UCAs
313+
314+
| Linked UCA(s) | CFC constraint(s) | Why this prevents/avoids the UCA (short) | Links to TSF |
315+
|---|---|---|---|
316+
| UCA1; UCA2 | C1 | Prevents incorrect acceptance/rejection outcomes for `accept` within the defined scope. | JLEX-01 |
317+
| UCA3; UCA4 | C2 | Prevents incorrect parsing outcome or unclear failure signalling for `parse` within the defined scope. | JLEX-02 |
318+
| UCA3 | C3 | Prevents “silent success” on ill-formed input by requiring clear failure signalling. | JLS-24 |
319+
320+
### 5.2 UCA-to-constraint coverage note (non-CFC constraints)
321+
322+
The following UCAs are prevented/mitigated by constraints that are recorded as **CSC** in Section 2.3 because they are primarily **integration/process constraints**:
323+
324+
| UCA | Constraint(s) | Rationale (short) | TSF anchor |
325+
|---|---|---|---|
326+
| UCA5 | C6 | Prevents misinterpretation of feedback/error signalling at the boundary by requiring correct handling of results/exceptions. | AOU-04; AOU-07 |
327+
| UCA6; UCA7; UCA8; UCA9 | C11 (and C5 as parent SLC) | Prevents governance control-loop failures by requiring triage/review/update workflow and safe dependency state management. | AOU-27; AOU-28; AOU-29; JLS-11 |
305328

306329

307330
## 6. Control Loops and Sequences

0 commit comments

Comments
 (0)