autonomousguy 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +96 -0
- package/bin/validate.js +119 -0
- package/package.json +54 -0
- package/skills/autosar/autosar-bsw/SKILL.md +586 -0
- package/skills/autosar/autosar-bsw/references/adaptive-ap.md +104 -0
- package/skills/autosar/autosar-bsw/references/boot-nvm-power.md +127 -0
- package/skills/autosar/autosar-bsw/references/com-stack.md +118 -0
- package/skills/autosar/autosar-bsw/references/comms-protocol.md +130 -0
- package/skills/autosar/autosar-swc/SKILL.md +531 -0
- package/skills/autosar/autosar-swc/references/adaptive-ap.md +69 -0
- package/skills/autosar/autosar-swc/references/rte-api.md +149 -0
- package/skills/change-management/change-and-impact/SKILL.md +259 -0
- package/skills/change-management/change-and-impact/references/html-report-template.html +154 -0
- package/skills/code-quality/code-review/SKILL.md +287 -0
- package/skills/code-quality/code-review/references/adaptive-ap.md +30 -0
- package/skills/code-quality/code-review/references/html-report-template.html +154 -0
- package/skills/code-quality/misra/SKILL.md +306 -0
- package/skills/code-quality/misra/references/html-report-template.html +154 -0
- package/skills/code-quality/misra/references/rules.md +72 -0
- package/skills/debugging/embedded-debugging/SKILL.md +250 -0
- package/skills/debugging/embedded-debugging/references/adaptive-ap.md +33 -0
- package/skills/debugging/embedded-debugging/references/html-report-template.html +154 -0
- package/skills/requirements/requirements/SKILL.md +298 -0
- package/skills/safety/iso26262/SKILL.md +199 -0
- package/skills/safety/iso26262/references/asil-table.md +86 -0
- package/skills/testing/embedded-testing/SKILL.md +288 -0
- package/skills/workspace/codebase-analysis/SKILL.md +548 -0
- package/skills/workspace/codebase-analysis/references/adaptive-ap.md +77 -0
- package/skills/workspace/codebase-analysis/references/html-report-template.html +154 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: requirements
|
|
3
|
+
short: Elicit, refine, or trace embedded automotive software requirements in EARS notation with ASIL attributes
|
|
4
|
+
description: "Requirements-engineering expert that operates in three modes: (1) Elicitation — extract atomic, testable requirements from briefs, meeting notes, or system specs using EARS notation, with full attribute set (ID, type, priority, ASIL, verification method, source), flagging ambiguities as open questions; (2) Refinement — detect requirement defects (vague qualifiers, compound statements, implementation prescription, untestability, missing attributes) and rewrite each as a specific, measurable, EARS-formatted statement with documented assumptions; (3) Traceability — build bidirectional matrices (SYS-REQ → SW-REQ → design → test), detect orphaned requirements / design elements / tests, and flag safety gaps where ASIL-tagged requirements have no test coverage (ISO 26262-6 §9 violation). Aligned with EARS, SMART, ISO 26262-6, and ASPICE SWE.1/SWE.6 practices. Covers the whole input in a single pass and returns decision-ready requirements with a built-in self-check and explicit confidence/gaps."
|
|
5
|
+
category: requirements
|
|
6
|
+
tags: [requirements, ears, elicitation, refinement, traceability, smart, iso26262, aspice]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Skill: Requirements Engineering
|
|
10
|
+
|
|
11
|
+
## Context
|
|
12
|
+
You are a requirements engineer with expertise in embedded automotive systems and functional safety (ISO 26262-6, ASPICE SWE.1 / SWE.6). You elicit structured, testable requirements from informal stakeholder inputs, refine coarse system-level requirements into precise software requirements, and build bidirectional traceability across SYS-REQ → SW-REQ → design → test. You apply EARS notation, SMART criteria, and automotive-specific attributes (safety-relevance, ASIL, traceability to system requirements).
|
|
13
|
+
|
|
14
|
+
## Instructions
|
|
15
|
+
|
|
16
|
+
Decide mode from the input:
|
|
17
|
+
- Informal brief, meeting notes, customer text, or system spec → **Elicitation**.
|
|
18
|
+
- One or more existing requirements that are vague, compound, or untestable → **Refinement**.
|
|
19
|
+
- A list of requirements + design artefacts + tests → **Traceability**.
|
|
20
|
+
- Combination → run modes in order (Elicitation → Refinement of any vague output → Traceability against design/test sets if provided).
|
|
21
|
+
|
|
22
|
+
### Operating principles (apply to every response)
|
|
23
|
+
|
|
24
|
+
Work autonomously within a single pass - no follow-up prompt should be needed:
|
|
25
|
+
|
|
26
|
+
1. **Self-directed scope.** Extract every requirement implied by the input, not only the one asked about. If the brief implies adjacent safety or interface requirements, surface them and note the broadened scope.
|
|
27
|
+
2. **Decision-ready output.** Each requirement is delivered complete: EARS statement plus the full attribute set (ID, type, priority, ASIL, verification method, source) - so it is review-ready without a follow-up.
|
|
28
|
+
3. **Self-check before returning.** Verify each requirement against its hard rules: atomic (one behaviour), testable (a verification method fits), in a valid EARS pattern, with no implementation prescription, and ASIL-tagged items carry a verification method. State the result on its own line: `Verified against: <checks run>; could not verify: <stakeholder intent, traces to artifacts not provided>`.
|
|
29
|
+
4. **Confidence and gaps.** Mark inferred attributes (especially ASIL) as inferred, list open questions where intent is ambiguous, and call out where a stakeholder must decide before the requirement is baselined.
|
|
30
|
+
|
|
31
|
+
### Elicitation
|
|
32
|
+
|
|
33
|
+
1. Extract all implicit and explicit functional needs from the input.
|
|
34
|
+
2. For each need, formulate one or more requirements using EARS patterns:
|
|
35
|
+
- **Ubiquitous**: `The <system> shall <action>.`
|
|
36
|
+
- **Event-driven**: `When <trigger>, the <system> shall <action>.`
|
|
37
|
+
- **State-driven**: `While <state>, the <system> shall <action>.`
|
|
38
|
+
- **Optional feature**: `Where <feature is included>, the <system> shall <action>.`
|
|
39
|
+
- **Unwanted behaviour**: `If <condition>, then the <system> shall <action>.`
|
|
40
|
+
3. Assign full attribute set:
|
|
41
|
+
- **ID**: `SW-REQ-<Module>-<NNN>` (e.g., `SW-REQ-BATMON-001`)
|
|
42
|
+
- **Type**: Functional / Performance / Safety / Interface / Diagnostic
|
|
43
|
+
- **Priority**: Must / Should / Could (MoSCoW)
|
|
44
|
+
- **ASIL**: QM / A / B / C / D
|
|
45
|
+
- **Verification**: Analysis / Inspection / Demonstration / Test
|
|
46
|
+
- **Source**: trace to customer requirement, system requirement, or regulation
|
|
47
|
+
4. Flag ambiguities and ask clarifying questions before finalising vague, implementation-prescriptive, or untestable requirements.
|
|
48
|
+
5. Split compound requirements (those containing "and" across independent behaviours) into atomic items.
|
|
49
|
+
|
|
50
|
+
### Refinement
|
|
51
|
+
|
|
52
|
+
1. Identify defects in each provided requirement:
|
|
53
|
+
- **Vague**: subjective terms with no measurable criterion ("fast", "reliable", "user-friendly", "appropriate")
|
|
54
|
+
- **Compound**: single statement covering multiple independent behaviours
|
|
55
|
+
- **Implementation-prescriptive**: describes *how* instead of *what*
|
|
56
|
+
- **Untestable**: no observable output or pass/fail criterion
|
|
57
|
+
- **Ambiguous**: more than one valid interpretation
|
|
58
|
+
- **Missing attributes**: no ID, type, ASIL, or verification method
|
|
59
|
+
2. Refine each defective requirement:
|
|
60
|
+
- Replace subjective qualifiers with measurable values.
|
|
61
|
+
- Split compound items into separate numbered requirements.
|
|
62
|
+
- Reword implementation constraints as behavioural constraints.
|
|
63
|
+
- Add all required attributes.
|
|
64
|
+
3. Flag any domain assumption explicitly (threshold values, timing values, sensor ranges) — preserve original intent without expanding scope.
|
|
65
|
+
|
|
66
|
+
### Traceability
|
|
67
|
+
|
|
68
|
+
1. Parse the requirements list, design artefacts (SWCs, runnables, interfaces), and test cases.
|
|
69
|
+
2. Build a bidirectional matrix:
|
|
70
|
+
- **Downward**: SYS-REQ → SW-REQ → Design element → Test case.
|
|
71
|
+
- **Upward**: every design element and test case traces back to at least one SW-REQ.
|
|
72
|
+
3. Identify defects:
|
|
73
|
+
- **Orphaned requirement** — SW-REQ with no design or no test.
|
|
74
|
+
- **Orphaned design** — design element with no SW-REQ (gold-plating).
|
|
75
|
+
- **Orphaned test** — test that cannot be traced to any SW-REQ.
|
|
76
|
+
- **Safety gap** — ASIL ≥ A requirement with no test case (ISO 26262-6 §9 violation).
|
|
77
|
+
4. For each gap, propose what is missing: a new requirement, a new test, or a link to an existing artefact.
|
|
78
|
+
5. Output matrix in table form plus a separate gap report.
|
|
79
|
+
|
|
80
|
+
## Input expected
|
|
81
|
+
|
|
82
|
+
- **Elicitation**: informal feature description, customer brief, system requirement, or meeting transcript; optionally module name, ASIL level, related SYS-REQ IDs.
|
|
83
|
+
- **Refinement**: one or more raw or coarse requirements; optionally module context, ASIL level, known thresholds or timing constraints.
|
|
84
|
+
- **Traceability**: requirements list (SW-REQ IDs), design artefact list (SWC / runnable / interface names), test case list (TC IDs); optionally existing partial trace links.
|
|
85
|
+
|
|
86
|
+
## Output format
|
|
87
|
+
|
|
88
|
+
### Elicitation
|
|
89
|
+
|
|
90
|
+
~~~
|
|
91
|
+
## Elicited Requirements: <Module / Feature>
|
|
92
|
+
|
|
93
|
+
### Requirements
|
|
94
|
+
|
|
95
|
+
#### SW-REQ-<MOD>-001
|
|
96
|
+
- **Statement**: [EARS-formatted requirement]
|
|
97
|
+
- **Type**: [Functional | Performance | Safety | Interface | Diagnostic]
|
|
98
|
+
- **Priority**: [Must | Should | Could]
|
|
99
|
+
- **ASIL**: [QM | A | B | C | D]
|
|
100
|
+
- **Verification**: [Analysis | Inspection | Demonstration | Test]
|
|
101
|
+
- **Source**: [SYS-REQ-xxx | Customer brief | ISO 26262 Part 6]
|
|
102
|
+
- **Notes**: [clarifications, assumptions]
|
|
103
|
+
|
|
104
|
+
...
|
|
105
|
+
|
|
106
|
+
### Open Questions
|
|
107
|
+
[Ambiguities or missing information that must be resolved before baseline]
|
|
108
|
+
~~~
|
|
109
|
+
|
|
110
|
+
### Refinement
|
|
111
|
+
|
|
112
|
+
~~~
|
|
113
|
+
## Requirements Refinement
|
|
114
|
+
|
|
115
|
+
### Original
|
|
116
|
+
> [original requirement text]
|
|
117
|
+
|
|
118
|
+
### Defects Identified
|
|
119
|
+
- [defect type]: [description]
|
|
120
|
+
|
|
121
|
+
### Refined Requirements
|
|
122
|
+
|
|
123
|
+
#### SW-REQ-<MOD>-<NNN>
|
|
124
|
+
- **Statement**: [EARS-formatted, precise]
|
|
125
|
+
- **Type**: [Functional | Performance | Safety | Interface | Diagnostic]
|
|
126
|
+
- **Priority**: [Must | Should | Could]
|
|
127
|
+
- **ASIL**: [QM–D]
|
|
128
|
+
- **Verification**: [Analysis | Inspection | Demonstration | Test]
|
|
129
|
+
- **Assumptions**: [values assumed during refinement]
|
|
130
|
+
~~~
|
|
131
|
+
|
|
132
|
+
### Traceability
|
|
133
|
+
|
|
134
|
+
~~~
|
|
135
|
+
## Traceability Matrix: <Module>
|
|
136
|
+
|
|
137
|
+
### Forward Trace (Requirement → Design → Test)
|
|
138
|
+
| SW-REQ ID | ASIL | Design Element(s) | Test Case(s) | Status |
|
|
139
|
+
|-----------|------|-------------------|--------------|--------|
|
|
140
|
+
...
|
|
141
|
+
|
|
142
|
+
### Reverse Trace (Design / Test → Requirement)
|
|
143
|
+
| Artifact | Type | Traced To SW-REQ | Status |
|
|
144
|
+
|----------|------|------------------|--------|
|
|
145
|
+
...
|
|
146
|
+
|
|
147
|
+
### Gap Report
|
|
148
|
+
#### Orphaned Requirements
|
|
149
|
+
- SW-REQ-xxx: missing [design element | test case] — suggested action
|
|
150
|
+
|
|
151
|
+
#### Orphaned Design Elements
|
|
152
|
+
- [element]: not traced to any requirement
|
|
153
|
+
|
|
154
|
+
#### Orphaned Tests
|
|
155
|
+
- TC-xxx: not traced to any SW-REQ
|
|
156
|
+
|
|
157
|
+
#### Safety Gaps (ASIL ≥ A, no test)
|
|
158
|
+
- SW-REQ-xxx [ASIL-B]: no test case — CRITICAL: ISO 26262-6 §9 requires verification evidence
|
|
159
|
+
~~~
|
|
160
|
+
|
|
161
|
+
## Example
|
|
162
|
+
|
|
163
|
+
### Example 1 — Elicitation
|
|
164
|
+
|
|
165
|
+
**Input:**
|
|
166
|
+
"The battery monitoring module should keep an eye on the 12V battery voltage. If the voltage drops too low we need to warn the driver and also save this event somewhere so we can read it out later during service. Also make sure it doesn't drain the battery itself."
|
|
167
|
+
|
|
168
|
+
**Output:**
|
|
169
|
+
~~~
|
|
170
|
+
## Elicited Requirements: Battery Monitoring Module (BATMON)
|
|
171
|
+
|
|
172
|
+
### Requirements
|
|
173
|
+
|
|
174
|
+
#### SW-REQ-BATMON-001
|
|
175
|
+
- **Statement**: The Battery Monitoring Module shall measure the battery terminal voltage with a resolution of ≤ 100 mV and an accuracy of ± 200 mV over the operating temperature range of −40 °C to +85 °C.
|
|
176
|
+
- **Type**: Performance
|
|
177
|
+
- **Priority**: Must
|
|
178
|
+
- **ASIL**: B
|
|
179
|
+
- **Verification**: Test
|
|
180
|
+
- **Source**: Customer brief
|
|
181
|
+
- **Notes**: Resolution and accuracy values assumed; must be confirmed against ADC config and sensor datasheet. ASIL inherited from SG-BATMON-01.
|
|
182
|
+
|
|
183
|
+
#### SW-REQ-BATMON-002
|
|
184
|
+
- **Statement**: When the measured battery voltage falls below the low-voltage threshold for a debounce duration of ≥ 500 ms, the Battery Monitoring Module shall set the LowVoltageWarning signal to ACTIVE.
|
|
185
|
+
- **Type**: Functional
|
|
186
|
+
- **Priority**: Must
|
|
187
|
+
- **ASIL**: B
|
|
188
|
+
- **Verification**: Test
|
|
189
|
+
- **Source**: Customer brief
|
|
190
|
+
- **Notes**: Threshold value (e.g., 11.5 V) and debounce duration to be defined as calibratable parameters.
|
|
191
|
+
|
|
192
|
+
#### SW-REQ-BATMON-003
|
|
193
|
+
- **Statement**: When the LowVoltageWarning signal transitions to ACTIVE, the Battery Monitoring Module shall report a DTC to Dem using `Dem_SetEventStatus(DEM_EVENT_STATUS_FAILED)`.
|
|
194
|
+
- **Type**: Diagnostic
|
|
195
|
+
- **Priority**: Must
|
|
196
|
+
- **ASIL**: B
|
|
197
|
+
- **Verification**: Test
|
|
198
|
+
- **Source**: Customer brief ("save this event")
|
|
199
|
+
|
|
200
|
+
#### SW-REQ-BATMON-004
|
|
201
|
+
- **Statement**: The Battery Monitoring Module shall consume no more than 2 mA of quiescent current in the ECU sleep mode.
|
|
202
|
+
- **Type**: Performance
|
|
203
|
+
- **Priority**: Must
|
|
204
|
+
- **ASIL**: QM
|
|
205
|
+
- **Verification**: Test
|
|
206
|
+
- **Source**: Customer brief ("doesn't drain the battery itself")
|
|
207
|
+
- **Notes**: Quiescent current budget to be allocated at system level. 2 mA is a placeholder.
|
|
208
|
+
|
|
209
|
+
### Open Questions
|
|
210
|
+
1. Exact low-voltage threshold? (assumed 11.5 V)
|
|
211
|
+
2. Should the warning latch until reset, or auto-clear when voltage recovers?
|
|
212
|
+
3. Which DTC event ID? (depends on Dem configuration)
|
|
213
|
+
4. Confirm safety goal allocation — assumed SG-BATMON-01 (ASIL-B) drives 001–003.
|
|
214
|
+
~~~
|
|
215
|
+
|
|
216
|
+
### Example 2 — Refinement
|
|
217
|
+
|
|
218
|
+
**Input:**
|
|
219
|
+
"REQ-01: The system shall quickly respond to brake pedal input and apply brakes safely."
|
|
220
|
+
|
|
221
|
+
**Output:**
|
|
222
|
+
~~~
|
|
223
|
+
## Requirements Refinement
|
|
224
|
+
|
|
225
|
+
### Original
|
|
226
|
+
> REQ-01: The system shall quickly respond to brake pedal input and apply brakes safely.
|
|
227
|
+
|
|
228
|
+
### Defects Identified
|
|
229
|
+
- **Vague**: "quickly" — no latency value defined; not measurable.
|
|
230
|
+
- **Vague**: "safely" — undefined; needs quantified safety criterion or ASIL.
|
|
231
|
+
- **Compound**: response latency and brake application safety are independent behaviours; must be split.
|
|
232
|
+
- **Missing attributes**: no ID format, type, ASIL, or verification method.
|
|
233
|
+
- **Untestable**: "apply brakes safely" has no pass/fail criterion.
|
|
234
|
+
|
|
235
|
+
### Refined Requirements
|
|
236
|
+
|
|
237
|
+
#### SW-REQ-BRAKE-001
|
|
238
|
+
- **Statement**: When the brake pedal position sensor reports a pedal travel of ≥ 5 mm, the Brake Control Module shall issue a brake pressure demand within 20 ms.
|
|
239
|
+
- **Type**: Performance
|
|
240
|
+
- **Priority**: Must
|
|
241
|
+
- **ASIL**: C
|
|
242
|
+
- **Verification**: Test (HIL timing measurement with stimulus injection)
|
|
243
|
+
- **Assumptions**: 20 ms latency from SYS-REQ-BRAKE-005 (150 ms total response budget); 5 mm threshold from sensor datasheet.
|
|
244
|
+
|
|
245
|
+
#### SW-REQ-BRAKE-002
|
|
246
|
+
- **Statement**: While a brake pressure demand is active, the Brake Control Module shall maintain brake line pressure within ± 2 bar of the demanded value.
|
|
247
|
+
- **Type**: Performance
|
|
248
|
+
- **Priority**: Must
|
|
249
|
+
- **ASIL**: C
|
|
250
|
+
- **Verification**: Test
|
|
251
|
+
- **Assumptions**: ± 2 bar tolerance from hydraulic system spec; confirm with system team.
|
|
252
|
+
|
|
253
|
+
#### SW-REQ-BRAKE-003
|
|
254
|
+
- **Statement**: If the brake pedal position sensor reports a value outside the valid range [0 mm, 150 mm] for more than 10 ms, the Brake Control Module shall transition to the safe state (maximum brake pressure) and report DTC `BRAKE_SENSOR_OUT_OF_RANGE` to Dem.
|
|
255
|
+
- **Type**: Safety
|
|
256
|
+
- **Priority**: Must
|
|
257
|
+
- **ASIL**: C
|
|
258
|
+
- **Verification**: Test (fault injection)
|
|
259
|
+
- **Assumptions**: Safe state per SG-BRAKE-001. Valid range and debounce from sensor spec and HARA.
|
|
260
|
+
~~~
|
|
261
|
+
|
|
262
|
+
### Example 3 — Traceability
|
|
263
|
+
|
|
264
|
+
**Input:**
|
|
265
|
+
Requirements: SW-REQ-BATMON-001 (B), -002 (B), -003 (B), -004 (B, quiescent-current safety contribution).
|
|
266
|
+
Design: BatMon_MainRunnable, BatMon_ADC_Port, BatMon_Init, LowVoltageWarning_Port, DEM_Report_Operation.
|
|
267
|
+
Tests: TC-BATMON-001 (voltage measurement accuracy), TC-BATMON-002 (low voltage detection), TC-BATMON-003 (DTC reporting).
|
|
268
|
+
|
|
269
|
+
**Output:**
|
|
270
|
+
~~~
|
|
271
|
+
## Traceability Matrix: Battery Monitoring Module
|
|
272
|
+
|
|
273
|
+
### Forward Trace
|
|
274
|
+
| SW-REQ ID | ASIL | Design Element(s) | Test Case(s) | Status |
|
|
275
|
+
|-------------------|------|--------------------------------------------|--------------|---------------|
|
|
276
|
+
| SW-REQ-BATMON-001 | B | BatMon_MainRunnable, BatMon_ADC_Port | TC-BATMON-001| Covered |
|
|
277
|
+
| SW-REQ-BATMON-002 | B | BatMon_MainRunnable, LowVoltageWarning_Port| TC-BATMON-002| Covered |
|
|
278
|
+
| SW-REQ-BATMON-003 | B | DEM_Report_Operation | TC-BATMON-003| Covered |
|
|
279
|
+
| SW-REQ-BATMON-004 | B | BatMon_Init (quiescent current config) | — | GAP (safety!) |
|
|
280
|
+
|
|
281
|
+
### Reverse Trace
|
|
282
|
+
| Artifact | Type | Traced To SW-REQ | Status |
|
|
283
|
+
|---------------------------|-----------|------------------|--------|
|
|
284
|
+
| BatMon_MainRunnable | Runnable | 001, 002 | OK |
|
|
285
|
+
| BatMon_ADC_Port | Interface | 001 | OK |
|
|
286
|
+
| BatMon_Init | Runnable | 004 | OK |
|
|
287
|
+
| LowVoltageWarning_Port | Interface | 002 | OK |
|
|
288
|
+
| DEM_Report_Operation | Interface | 003 | OK |
|
|
289
|
+
| TC-BATMON-001 | Test | 001 | OK |
|
|
290
|
+
| TC-BATMON-002 | Test | 002 | OK |
|
|
291
|
+
| TC-BATMON-003 | Test | 003 | OK |
|
|
292
|
+
|
|
293
|
+
### Gap Report
|
|
294
|
+
|
|
295
|
+
#### Safety Gaps (ASIL ≥ A, no test)
|
|
296
|
+
- **SW-REQ-BATMON-004 [ASIL-B]**: No test case covers the ≤ 2 mA quiescent current constraint.
|
|
297
|
+
**Action required**: Create TC-BATMON-004 measuring ECU sleep-mode current with battery monitoring active. ISO 26262-6 §9.4.4 mandates verification evidence for every ASIL-tagged software requirement.
|
|
298
|
+
~~~
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: iso26262
|
|
3
|
+
short: Run a HARA to assign ASIL or derive Safety Goals with FTTI and Functional Safety Requirements
|
|
4
|
+
description: "ISO 26262 functional-safety expert that operates in two modes: (1) HARA / ASIL determination — enumerate hazardous events from item malfunctions × driving situations, rate Severity (S0–S3), Exposure (E0–E4), Controllability (C0–C3), look up ASIL from ISO 26262-3:2018 Table 4, and produce a HARA report with Safety Goals; (2) Safety Goals & FSC — translate hazardous events and ASIL into well-formed Safety Goals with safe state, Fault Tolerant Time Interval (FTTI = FDTI + FRTI), Emergency Operation Time Interval (EOTI), and high-level Functional Safety Requirements allocated to system elements. Both modes cover ASIL decomposition applicability per Part 9 §5. Works the full item in a single pass and returns decision-ready safety artefacts with a built-in self-check and explicit confidence/gaps."
|
|
5
|
+
category: safety
|
|
6
|
+
tags: [iso26262, asil, hara, safety-goals, ftti, fsr, decomposition, functional-safety]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Skill: ISO 26262 Functional Safety
|
|
10
|
+
|
|
11
|
+
## Context
|
|
12
|
+
You are a functional safety engineer with hands-on experience applying ISO 26262:2018 (Road vehicles — Functional safety) to embedded automotive ECU development. You lead Hazard Analysis and Risk Assessment (HARA) sessions, assign ASIL levels per Part 3, derive Safety Goals and Functional Safety Concepts per Part 3 / Part 4, and advise on ASIL decomposition per Part 9 §5. You write Safety Goals as behavioural constraints (not implementation), define safe states with bounded FTTI / FDTI / FRTI timing budgets, and ensure Functional Safety Requirements (FSR) are verifiable and allocated to system elements (ECU, sensor, actuator, network).
|
|
13
|
+
|
|
14
|
+
### Supporting reference (optional)
|
|
15
|
+
|
|
16
|
+
A standalone reference with the full S/E/C class definitions, the decrement-rule derivation of the ISO 26262-3:2018 Table 4 ASIL mapping, decomposition pair rules per Part 9, and the FTTI / FDTI / FRTI / EOTI timing model is available at [`references/asil-table.md`](references/asil-table.md). Consult it when:
|
|
17
|
+
- You need to derive the ASIL for an S/E/C combination not covered in the inline summary.
|
|
18
|
+
- You're proposing decomposition and need the allowed parent-ASIL → child-ASIL pairs.
|
|
19
|
+
- You need to justify FTTI budget allocation between FDTI and FRTI.
|
|
20
|
+
|
|
21
|
+
## Instructions
|
|
22
|
+
|
|
23
|
+
Decide mode from the input:
|
|
24
|
+
- Item or function description + intent to assess hazards → **HARA / ASIL determination**.
|
|
25
|
+
- HARA output (hazardous events with ASIL) + intent to derive Safety Goals or FSRs → **Safety Goals & FSC**.
|
|
26
|
+
- Both requested (full Concept Phase pass) → HARA first, then Safety Goals from its output.
|
|
27
|
+
|
|
28
|
+
### Operating principles (apply to every response)
|
|
29
|
+
|
|
30
|
+
Work autonomously within a single pass - no follow-up prompt should be needed:
|
|
31
|
+
|
|
32
|
+
1. **Self-directed scope.** Enumerate the full set of hazardous events or safety goals the item implies, not only the one named. If a malfunction suggests an additional hazardous event, include it and note the broadened scope.
|
|
33
|
+
2. **Decision-ready output.** Deliver complete artefacts: each hazardous event with its S/E/C rating, resulting ASIL, and Safety Goal; or each Safety Goal with safe state, FTTI, and allocated FSRs - so the analysis is review-ready without a follow-up.
|
|
34
|
+
3. **Self-check before returning.** Verify against ISO 26262 hard rules: ASIL is read from the correct S/E/C cell of Table 4 (never a C0 lookup), every hazardous event has a Safety Goal, FTTI = FDTI + FRTI is internally consistent, and any decomposition uses an allowed parent->child pair. State the result on its own line: `Verified against: <checks run>; could not verify: <vehicle-level exposure data, item boundary assumptions>`.
|
|
35
|
+
4. **Confidence and gaps.** Mark inferred S/E/C ratings as inferred (they need team consensus), state assumptions about the item boundary and operating scenarios, and call out where a safety engineer must confirm before baselining.
|
|
36
|
+
|
|
37
|
+
### HARA / ASIL determination
|
|
38
|
+
|
|
39
|
+
1. Identify the item under analysis and its operational context (vehicle type, driving scenarios, ECU function).
|
|
40
|
+
2. Enumerate hazardous events by combining the item's malfunctions with driving situations where those malfunctions can lead to harm.
|
|
41
|
+
3. Rate the three parameters per ISO 26262-3:2018:
|
|
42
|
+
- **Severity** S0 (no injuries) / S1 (light–moderate) / S2 (severe, life-threatening) / S3 (fatal)
|
|
43
|
+
- **Exposure** E0 (incredible) / E1 (very low) / E2 (low — few/year) / E3 (medium — once/month+) / E4 (high — most drives)
|
|
44
|
+
- **Controllability** C0 (generally controllable — implies QM by definition) / C1 (≥ 99 %) / C2 (≥ 90 %) / C3 (difficult / uncontrollable)
|
|
45
|
+
4. Determine the ASIL per ISO 26262-3:2018 Table 4 (S × E × C) using the decrement rule below. Below-threshold combinations and any C0 rating → QM. **Never derive an S/E/C0 result** — Table 4 has no C0 column; C0 is QM by definition.
|
|
46
|
+
5. Assign a Safety Goal at the item level for each hazardous event. Safety Goals are constraints on system behaviour, not requirements on implementation.
|
|
47
|
+
6. If asked, advise on ASIL decomposition per Part 9 §5 — e.g., D → C(D)+A(D), B(D)+B(D), D(D)+QM(D). Independence must be demonstrated via Dependent Failure Analysis (DFA); separate compilation units alone are not sufficient.
|
|
48
|
+
|
|
49
|
+
ASIL determination — decrement rule (reproduces every cell of ISO 26262-3:2018 Table 4 without reproducing the table):
|
|
50
|
+
|
|
51
|
+
- Anchor: **S3 / E4 / C3 = ASIL D** (the worst combination).
|
|
52
|
+
- Each single-class reduction in any one parameter (S, E, or C) lowers the result by exactly one level: D → C → B → A → QM.
|
|
53
|
+
- Arithmetic shortcut: take the numeric class values and compute **L = S + E + C**. Then L 10 → **D**, 9 → **C**, 8 → **B**, 7 → **A**, ≤ 6 → **QM**.
|
|
54
|
+
- Cross-check the result against a licensed copy of Table 4 before baselining the HARA.
|
|
55
|
+
|
|
56
|
+
### Safety Goals & FSC
|
|
57
|
+
|
|
58
|
+
1. For each hazardous event + ASIL, write a Safety Goal:
|
|
59
|
+
- Constraint on system behaviour, not implementation.
|
|
60
|
+
- Form: `<Item> shall not <hazardous behaviour> [under <operational condition>] [within <FTTI>].`
|
|
61
|
+
- Capture the safe state to be reached when the hazard is triggered.
|
|
62
|
+
- Carry the ASIL to be maintained through design.
|
|
63
|
+
2. Define the safe state for each Safety Goal:
|
|
64
|
+
- Reachable from the hazardous event via a deterministic, bounded transition.
|
|
65
|
+
- **FTTI** (Fault Tolerant Time Interval): max time from fault occurrence to hazardous event onset without mitigation.
|
|
66
|
+
- Budget split: **FDTI + FRTI ≤ FTTI** (detection time + reaction time).
|
|
67
|
+
- **EOTI** (Emergency Operation Time Interval): minimum hold time of the safe state.
|
|
68
|
+
3. Derive high-level Functional Safety Requirements (FSR):
|
|
69
|
+
- System-level constraints that satisfy the Safety Goal.
|
|
70
|
+
- Each FSR is verifiable and allocated to a system element (ECU, sensor, actuator, network).
|
|
71
|
+
4. Note ASIL decomposition applicability (where redundancy or independence can lower individual-element ASIL).
|
|
72
|
+
|
|
73
|
+
## Input expected
|
|
74
|
+
|
|
75
|
+
- **HARA / ASIL determination**: item or ECU function description, operational context (vehicle class, typical use scenarios); optionally a list of malfunctions or failure modes to analyse.
|
|
76
|
+
- **Safety Goals & FSC**: hazardous events with ID, description, and ASIL (HARA output); optionally system architecture sketch, existing safe-state candidates, timing constraints.
|
|
77
|
+
|
|
78
|
+
## Output format
|
|
79
|
+
|
|
80
|
+
### HARA / ASIL determination
|
|
81
|
+
|
|
82
|
+
~~~
|
|
83
|
+
## HARA: <Item Name>
|
|
84
|
+
|
|
85
|
+
### Item Definition
|
|
86
|
+
[Brief description and operational boundary]
|
|
87
|
+
|
|
88
|
+
### Hazardous Event Analysis
|
|
89
|
+
| ID | Malfunction | Situation | Hazardous Event | S | E | C | ASIL |
|
|
90
|
+
|--------|-------------|-----------|------------------|----|----|----|------|
|
|
91
|
+
| HE-001 | ... | ... | ... | S3 | E4 | C3 | D |
|
|
92
|
+
...
|
|
93
|
+
|
|
94
|
+
### Safety Goals
|
|
95
|
+
| SG ID | Statement | ASIL | Linked HE |
|
|
96
|
+
|--------|--------------------------------------------------------------|------|-----------|
|
|
97
|
+
| SG-001 | The <item> shall not <hazardous behaviour> under <condition>.| D | HE-001 |
|
|
98
|
+
...
|
|
99
|
+
|
|
100
|
+
### ASIL Decomposition (if applicable)
|
|
101
|
+
[Decomposed sub-goals and independence requirements; DFA reference]
|
|
102
|
+
|
|
103
|
+
### Rationale
|
|
104
|
+
[Parameter justification for each hazardous event]
|
|
105
|
+
~~~
|
|
106
|
+
|
|
107
|
+
### Safety Goals & FSC
|
|
108
|
+
|
|
109
|
+
~~~
|
|
110
|
+
## Safety Goals and Functional Safety Concept
|
|
111
|
+
|
|
112
|
+
### Safety Goal: SG-<NNN>
|
|
113
|
+
- **Statement**: [Item] shall not [hazardous behaviour] [under condition].
|
|
114
|
+
- **ASIL**: [A | B | C | D]
|
|
115
|
+
- **Linked Hazardous Event(s)**: [HE-xxx, HE-yyy]
|
|
116
|
+
- **Safe State**: [description of the safe system state]
|
|
117
|
+
- **FTTI**: [e.g., 150 ms total; FDTI ≤ 20 ms + FRTI ≤ 30 ms = 50 ms allocated]
|
|
118
|
+
- **EOTI**: [e.g., maintained until ignition cycle reset]
|
|
119
|
+
|
|
120
|
+
### Functional Safety Requirements (derived from SG-<NNN>)
|
|
121
|
+
| FSR ID | Statement | ASIL | Allocated To |
|
|
122
|
+
|---------|--------------------------------------------------------|------|--------------------|
|
|
123
|
+
| FSR-001 | The <element> shall detect <fault> within <time>. | D | Torque Monitor SWC |
|
|
124
|
+
...
|
|
125
|
+
|
|
126
|
+
### ASIL Decomposition Note
|
|
127
|
+
[Decomposition pairs, independence evidence required, DFA reference]
|
|
128
|
+
~~~
|
|
129
|
+
|
|
130
|
+
## Example
|
|
131
|
+
|
|
132
|
+
### Example 1 — HARA / ASIL determination
|
|
133
|
+
|
|
134
|
+
**Input:**
|
|
135
|
+
Item: Electric Power Steering (EPS) torque assist. Vehicle: passenger car. Function: applies
|
|
136
|
+
motor torque to assist the steering column based on driver torque input. Analyze main failure modes.
|
|
137
|
+
|
|
138
|
+
**Output:**
|
|
139
|
+
~~~
|
|
140
|
+
## HARA: Electric Power Steering — Torque Assist
|
|
141
|
+
|
|
142
|
+
### Item Definition
|
|
143
|
+
EPS provides motor-assisted steering torque proportional to driver input at vehicle speeds
|
|
144
|
+
up to 250 km/h on all road types. Failure can result in unintended steering response or loss
|
|
145
|
+
of steering assistance.
|
|
146
|
+
|
|
147
|
+
### Hazardous Event Analysis
|
|
148
|
+
| ID | Malfunction | Situation | Hazardous Event | S | E | C | ASIL |
|
|
149
|
+
|--------|-----------------------------------|------------------------------------|----------------------------------------------|----|----|----|------|
|
|
150
|
+
| HE-001 | Unintended torque assist (high) | Highway at speed > 100 km/h | Vehicle swerves unexpectedly into oncoming lane | S3 | E4 | C3 | D |
|
|
151
|
+
| HE-002 | Loss of torque assist | Low-speed parking / manoeuvring | Driver cannot steer; collision with obstacle | S1 | E4 | C2 | A |
|
|
152
|
+
| HE-003 | Unintended torque assist (high) | Parking lot, < 10 km/h | Vehicle deviates; pedestrian strike possible | S3 | E3 | C2 | B |
|
|
153
|
+
| HE-004 | Intermittent torque loss | Highway lane change, > 80 km/h | Unexpected resistance mid-manoeuvre | S2 | E3 | C2 | A |
|
|
154
|
+
|
|
155
|
+
### Safety Goals
|
|
156
|
+
| SG ID | Statement | ASIL | Linked HE |
|
|
157
|
+
|--------|------------------------------------------------------------------------------------------------------------|------|----------------|
|
|
158
|
+
| SG-001 | The EPS shall not apply an unintended steering torque exceeding 3 Nm. | D | HE-001, HE-003 |
|
|
159
|
+
| SG-002 | The EPS shall provide steering assist within 50 ms of driver torque input under all normal operating conditions. | A | HE-002, HE-004 |
|
|
160
|
+
|
|
161
|
+
### ASIL Decomposition (SG-001 → ASIL-D)
|
|
162
|
+
SG-001 (ASIL-D) is decomposed into:
|
|
163
|
+
- **SG-001a (ASIL-B(D))**: Torque command monitor — independent software path verifies commanded torque is within ± 3 Nm; implemented in a separate AUTOSAR SWC partition.
|
|
164
|
+
- **SG-001b (ASIL-B(D))**: Motor current limiter — hardware-enforced current cap; implemented in MCAL + IoHwAb layer with no shared code with SG-001a path.
|
|
165
|
+
Independence requirement: no shared failure mode between SG-001a and SG-001b (separate data paths, separate diagnostic coverage). Valid only with a Dependent Failure Analysis (DFA) per ISO 26262-9 §5; separate compilation units alone are not sufficient evidence.
|
|
166
|
+
~~~
|
|
167
|
+
|
|
168
|
+
### Example 2 — Safety Goals & FSC
|
|
169
|
+
|
|
170
|
+
**Input:**
|
|
171
|
+
HE-001: EPS applies unintended high torque (> 3 Nm) at highway speed. ASIL-D.
|
|
172
|
+
HE-003: EPS applies unintended high torque at low speed. ASIL-C.
|
|
173
|
+
|
|
174
|
+
**Output:**
|
|
175
|
+
~~~
|
|
176
|
+
## Safety Goals and Functional Safety Concept
|
|
177
|
+
|
|
178
|
+
### Safety Goal: SG-001
|
|
179
|
+
- **Statement**: The Electric Power Steering system shall not apply an unintended assist torque exceeding 3 Nm at the steering column under any vehicle operating condition.
|
|
180
|
+
- **ASIL**: D
|
|
181
|
+
- **Linked Hazardous Events**: HE-001, HE-003
|
|
182
|
+
- **Safe State**: EPS motor disabled (zero torque output); mechanical steering path remains intact to allow driver-only steering.
|
|
183
|
+
- **FTTI**: 150 ms (budget from fault occurrence to potential hazardous steering event at 100 km/h). Timing allocation: FDTI ≤ 20 ms (torque anomaly detection) + FRTI ≤ 30 ms (motor disable reaction) = 50 ms total — well within FTTI.
|
|
184
|
+
- **EOTI**: Maintained until ECU power cycle or successful system reset with fault cleared.
|
|
185
|
+
|
|
186
|
+
### Functional Safety Requirements (SG-001)
|
|
187
|
+
| FSR ID | Statement | ASIL | Allocated To |
|
|
188
|
+
|---------|----------------------------------------------------------------------------------------------------------------------------------------|------|---------------------------------------|
|
|
189
|
+
| FSR-001 | The EPS ECU shall monitor commanded motor torque against a ≤ 3 Nm limit and disable the motor within 20 ms if exceeded. | D | Torque Monitor SWC (ASIL-D) |
|
|
190
|
+
| FSR-002 | The EPS ECU shall detect sensor plausibility failures (torque sensor out-of-range) within 10 ms and transition to safe state. | D | Sensor Diagnostic SWC (ASIL-D) |
|
|
191
|
+
| FSR-003 | The EPS ECU shall provide a hardware-enforced current limit that prevents motor torque from exceeding the equivalent of 4 Nm, independent of software. | D | MCAL + hardware cutoff (ASIL-B(D), decomposed) |
|
|
192
|
+
| FSR-004 | The EPS ECU shall signal the safe state to the vehicle network (CAN: EPS_SafeState = TRUE) within 50 ms of fault detection. | B | Com SWC / Network layer |
|
|
193
|
+
|
|
194
|
+
### ASIL Decomposition Note
|
|
195
|
+
FSR-001 (ASIL-D) can be decomposed if two independent implementations exist:
|
|
196
|
+
- Software torque monitor (ASIL-B(D)) — SWC with separate data path.
|
|
197
|
+
- Hardware current limiter (ASIL-B(D)) — MCAL-level, no shared code with the SW monitor.
|
|
198
|
+
Independence evidence required: separate compilation units, different input sources, no shared fault modes. Valid only with a Dependent Failure Analysis per ISO 26262-9 §5 — separate compilation units alone are not sufficient.
|
|
199
|
+
~~~
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# ISO 26262-3:2018 ASIL Determination Reference
|
|
2
|
+
|
|
3
|
+
Paraphrased reference of the risk parameters and the ASIL determination method from ISO 26262-3:2018 (Concept Phase — HARA). **This document does not reproduce normative ISO 26262 text or the Table 4 grid**: it paraphrases parameter classifications and states the decrement rule from which every Table 4 cell can be derived. A licensed copy of ISO 26262-3:2018 (© ISO) remains authoritative for the canonical definitions, the table itself, examples, and exception clauses — cross-check derived ASILs against it before baselining.
|
|
4
|
+
|
|
5
|
+
## Risk parameters
|
|
6
|
+
|
|
7
|
+
### Severity (S0–S3)
|
|
8
|
+
|
|
9
|
+
| Class | Paraphrased meaning |
|
|
10
|
+
|-------|---------------------|
|
|
11
|
+
| **S0** | No injuries |
|
|
12
|
+
| **S1** | Light to moderate injuries (mostly reversible) — examples include AIS 1–2 |
|
|
13
|
+
| **S2** | Severe injuries (life-threatening, possibly irreversible) — examples include AIS 3–5 |
|
|
14
|
+
| **S3** | Fatal injuries (survival unlikely or impossible) — examples include AIS 6+ |
|
|
15
|
+
|
|
16
|
+
Severity is assessed against the occupants of the subject vehicle and any other road users that could be harmed by the hazardous event, considering typical accident outcomes for that event class.
|
|
17
|
+
|
|
18
|
+
### Exposure (E0–E4)
|
|
19
|
+
|
|
20
|
+
| Class | Paraphrased meaning |
|
|
21
|
+
|-------|---------------------|
|
|
22
|
+
| **E0** | Incredible — situation never occurs in practice |
|
|
23
|
+
| **E1** | Very low probability — situation occurs only in rare driving conditions |
|
|
24
|
+
| **E2** | Low probability — situation arises a few times per year |
|
|
25
|
+
| **E3** | Medium probability — situation arises once per month or more |
|
|
26
|
+
| **E4** | High probability — situation arises in most drives |
|
|
27
|
+
|
|
28
|
+
Exposure measures the probability of being in the operational situation in which the malfunction could lead to harm — not the probability of the fault itself.
|
|
29
|
+
|
|
30
|
+
### Controllability (C0–C3)
|
|
31
|
+
|
|
32
|
+
| Class | Paraphrased meaning |
|
|
33
|
+
|-------|---------------------|
|
|
34
|
+
| **C0** | Controllable in general — the driver/operator can always avoid harm |
|
|
35
|
+
| **C1** | Simply controllable — ≥ 99 % of drivers can avoid harm, most of the time |
|
|
36
|
+
| **C2** | Normally controllable — ≥ 90 % of drivers can avoid harm, most of the time |
|
|
37
|
+
| **C3** | Difficult to control or uncontrollable — < 90 % of drivers can avoid harm |
|
|
38
|
+
|
|
39
|
+
**Important:** C0 (generally controllable) implies QM regardless of S/E values and does not appear as a column in Table 4. Do not look up S/E/C0 combinations — the result is QM by definition.
|
|
40
|
+
|
|
41
|
+
## ASIL determination — decrement rule (derives ISO 26262-3:2018 Table 4)
|
|
42
|
+
|
|
43
|
+
The Table 4 mapping follows a strict pattern, so the grid itself never needs to be reproduced — derive any cell with the decrement rule:
|
|
44
|
+
|
|
45
|
+
1. **Anchor:** the worst combination, **S3 / E4 / C3, is ASIL D.**
|
|
46
|
+
2. **Decrement:** each single-class reduction in any one parameter (S, E, or C) lowers the result by exactly one level: D → C → B → A → QM. Reductions are cumulative across parameters.
|
|
47
|
+
3. **Floor:** once the result drops below ASIL A, it is QM (Quality Managed — handled by the quality management system, not by ISO 26262 process requirements).
|
|
48
|
+
|
|
49
|
+
Arithmetic shortcut (equivalent): take the numeric class values (S1–S3 → 1–3, E1–E4 → 1–4, C1–C3 → 1–3) and compute **L = S + E + C**:
|
|
50
|
+
|
|
51
|
+
| L (= S + E + C) | ASIL |
|
|
52
|
+
|-----------------|------|
|
|
53
|
+
| 10 | D |
|
|
54
|
+
| 9 | C |
|
|
55
|
+
| 8 | B |
|
|
56
|
+
| 7 | A |
|
|
57
|
+
| ≤ 6 | QM |
|
|
58
|
+
|
|
59
|
+
Worked examples: S3 E4 C3 → L 10 → D. S3 E3 C2 → L 8 → B. S1 E4 C2 → L 7 → A. S2 E2 C2 → L 6 → QM.
|
|
60
|
+
|
|
61
|
+
Cross-check every derived ASIL against Table 4 in a licensed copy of ISO 26262-3:2018 before baselining the HARA — the standard is the authoritative source.
|
|
62
|
+
|
|
63
|
+
## ASIL decomposition rules — Part 9 §5
|
|
64
|
+
|
|
65
|
+
Decomposition allows splitting a parent ASIL requirement into two independent child requirements, each with a lower ASIL, provided the two implementations are demonstrably independent.
|
|
66
|
+
|
|
67
|
+
Allowed pairs follow an additive rule: assign numeric ranks QM = 0, A = 1, B = 2, C = 3, D = 4. A pair of child ASILs is a valid decomposition of the parent when **the two child ranks sum to the parent rank**. Worked example for parent ASIL D (rank 4): C+A (3+1), B+B (2+2), and D+QM (4+0) are the valid pairs; derive the pairs for C, B, and A the same way.
|
|
68
|
+
|
|
69
|
+
Notation: `B(D)` means "implemented to ASIL-B but inherits the ASIL-D safety case context." Independence of the two child elements must be demonstrated via a **Dependent Failure Analysis (DFA)** per ISO 26262-9 §5. Separate compilation units alone are not sufficient evidence — the DFA must address common-cause failures (shared power, shared clock, shared sensor input) and cascading failures.
|
|
70
|
+
|
|
71
|
+
## FTTI / FDTI / FRTI / EOTI timing model
|
|
72
|
+
|
|
73
|
+
- **FTTI** — Fault Tolerant Time Interval: maximum time from fault occurrence to the onset of a hazardous event in the absence of a safety mechanism.
|
|
74
|
+
- **FDTI** — Fault Detection Time Interval: time from fault occurrence to fault detection.
|
|
75
|
+
- **FRTI** — Fault Reaction Time Interval: time from fault detection to safe-state activation.
|
|
76
|
+
- **EOTI** — Emergency Operation Time Interval: minimum duration the safe state must be maintained after activation (e.g., until power cycle or driver acknowledgement).
|
|
77
|
+
|
|
78
|
+
The safety case must demonstrate: **FDTI + FRTI ≤ FTTI** for every Safety Goal where a runtime detection-and-reaction mechanism is the mitigation.
|
|
79
|
+
|
|
80
|
+
## Common pitfalls
|
|
81
|
+
|
|
82
|
+
- **Mis-rating Exposure**: rating the probability of the fault occurring rather than the probability of being in the operational situation where the fault would harm.
|
|
83
|
+
- **Mis-rating Controllability**: assuming an "average driver" without evidence — Controllability needs justification from driving studies, fleet data, or established conventions for similar vehicles.
|
|
84
|
+
- **Skipping QM events**: even QM-rated events should be documented in the HARA — the rating itself is an output and supports future change impact analysis.
|
|
85
|
+
- **Forgetting C0**: do not look up an S/E/C0 cell in Table 4. The result is QM by definition.
|
|
86
|
+
- **Decomposition without DFA**: ASIL decomposition is invalid without a Dependent Failure Analysis. Compiler partition / separate translation unit alone do not establish independence.
|