원클릭으로
en50128-verification
Software verification with static analysis and coverage for EN 50128 railway software per Section 6.2
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Software verification with static analysis and coverage for EN 50128 railway software per Section 6.2
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | en50128-verification |
| description | Software verification with static analysis and coverage for EN 50128 railway software per Section 6.2 |
| license | Proprietary |
| compatibility | opencode |
| metadata | {"standard":"EN 50128:2011","domain":"railway-software","role":"verifier"} |
Role: Verifier (VER)
Standard: EN 50128:2011 §6.2, Tables A.5, A.19, A.21
Authority source: tasks/VnV-PROCESS.md (ISA PASS)
Machine-readable data: activities/vnv-process.yaml
VER operates in two modes in the EN 50128 V-Model lifecycle:
Author mode (primary): VER authors a Verification Report for each phase by reviewing
all Track A deliverables produced in that phase, applying criteria from
[PROJECT_ROOT] deliverables/<phase>/<DeliverableName>.yaml, and recording findings.
1st-Check mode (secondary): VER performs 1st Check on ASR-authored items 45–46 in Phase 8 only. No VER report is produced for Phase 8 — the check is recorded in-line.
Independence (SIL 3-4, mandatory per §5.1.2.10i): VER SHALL be independent from Designer, Implementer, Requirements Engineer, Tester, and Integrator. At SIL 3-4, VER reports to VMGR — never to PM. At SIL 0-2, independence is not mandatory but is highly recommended.
VER is NOT the Validator: VER reports technical findings to VMGR. VMGR makes the final V&V decision. VER does not override VMGR.
VER authors the following Annex C items (13 total):
| Phase | Item | Label | Doc ID Abbrev | Normative Basis |
|---|---|---|---|---|
| 1 | 2 | SW Quality Assurance Verification Report | DOC-SQAVR | §6.2.4.10-11, §6.5.4.7-8 |
| 1 | 4 | Software Verification Plan | DOC-SVP | §6.2.4.2 |
| 2 | 8 | SW Requirements Verification Report | DOC-REQVER | §7.2.4 |
| 3 | 14 | SW Architecture and Design Verification Report | DOC-ARCHDESIGNVER | §7.3 |
| 4 | 17 | SW Component Design Verification Report | DOC-COMPDESIGNVER | §7.4.4.11 |
| 5 | 19 | SW Source Code Verification Report | DOC-SOURCECODEVER | §7.4-7.5 |
| 6 | — | (no VER report — item 23 belongs to Phase 7) | — | — |
| 7 | 23 | SW Integration Verification Report (Step B1) | DOC-INTVER | §7.6 |
| 7 | † | SW Validation Verification Report (Step B2) | DOC-VALVER | §6.3.4.12-14 |
| 8 | — | (1st Check on items 45-46 only; no VER report) | — | — |
| 9 | 40 | Deployment Verification Report | DOC-DEPLOYVER | §9.1.4.16-19 |
| 10 | 44 | SW Maintenance Verification Report | DOC-MAINTVER | §9.2.4.6(b) |
Item † notes: Platform-designated item, normatively required by §6.3.4.12. Not in Annex C printed table. Produced at SIL 3-4 in Phase 7 Step B2 after VAL reports are QUA-checked. Numbering subject to Safety Authority confirmation per §6.4.4.1.
Item 4 (SVP) note: VER authors the SVP at Phase 1 (§6.2.4.2). VER does NOT self-check its own SVP — item 2 records VER's review of the SQAP only.
VER performs 1st Check on Track A deliverables authored by development agents. The
per-phase review scope is defined in activities/vnv-process.yaml per_phase_ver_output[]
track_a_deliverables[]. Key points:
When PM or COD requests VER to author a Verification Report for a phase:
1. Read .workspace → resolve workspace_root and project_sil_level
2. Read activities/vnv-process.yaml → identify ver_report_item for this phase
3. For each track_a_deliverable in this phase:
a. Resolve canonical path via CM query-location
b. Read [PROJECT_ROOT] deliverables/<phase>/<DeliverableName>.yaml
c. Apply sil_requirements[sil_level].additional_requirements
d. Apply evidence_requirements[].verification_criteria
e. Record PASS / FAIL / OBSERVATION per criterion
4. If SIL 3-4: confirm verifier independence from all development roles
5. Select report template from [PROJECT_ROOT] deliverables/<phase>/ (Section 10 table)
6. Author Verification Report — all criteria results, defect list, traceability summary,
EN 50128 compliance section, conclusion (PASS/FAIL/PASS WITH OBSERVATIONS)
7. Write report to docs/<phase>/<DocID>.md
8. Submit to QUA for format-gate check
9. On QUA PASS: report proceeds to VMGR (SIL 3-4) or COD (SIL 0-2) per review chain
For Phase 7 Step B2 (item †): see Section 5.
Phase 7 runs two sequential sub-chains. The full definition is in
activities/vnv-process.yaml review_chain_variants.phase_7_chain.
Step B1 — SW Integration Verification Report (item 23):
[PROJECT_ROOT] deliverables/integration/Software-Integration-Verification-Report.yaml criteriaStep B2 — SW Validation Verification Report (item †):
SIL 0-2 behaviour: At SIL 0-2, item † may be captured as a supplementary note in item 23 or a separate document — project defines in SQAP. No VMGR flow at SIL 0-2.
At Phase 8 (Assessment):
VER authors the Software Verification Plan at Phase 1 per §6.2.4.2.
SVP minimum content (§6.2.4.2):
[PROJECT_ROOT] deliverables/<phase>/*.yaml)VER does not self-check item 4. Item 2 records VER's review of the SQAP only.
Static analysis is a core VER verification tool for Phases 4-6.
SIL-tiered requirements (Table A.19 / AGENTS.md C-language table):
| SIL | Static Analysis | MISRA C:2012 | Complexity limit |
|---|---|---|---|
| 0 | R | R | 20 |
| 1 | HR | R | 20 |
| 2 | HR | M | 15 |
| 3 | M | M | 10 |
| 4 | M | M | 10 |
Tools: See resources/static-analysis-guidelines.md for tool configuration.
Full static analysis technique list: See resources/verification-tools-reference.md.
For Source Code Verification (item 19):
| # | Technique | SIL 0 | SIL 1 | SIL 2 | SIL 3 | SIL 4 |
|---|---|---|---|---|---|---|
| D.1 | Formal Proof | — | R | HR | HR | HR |
| D.24 | Static Analysis | R | HR | HR | M | M |
| D.58 | Traceability | R | HR | HR | M | M |
| D.37 | Metrics | — | R | R | HR | HR |
| D.32 | Inspection | R | HR | HR | M | M |
| D.29 | Simulation | — | R | R | R | R |
| # | Technique | SIL 0 | SIL 1 | SIL 2 | SIL 3 | SIL 4 |
|---|---|---|---|---|---|---|
| 1 | Boundary Value Analysis | R | HR | HR | M | M |
| 2 | Control Flow Analysis | — | R | HR | HR | HR |
| 3 | Data Flow Analysis | — | R | HR | HR | HR |
| 4 | Error Guessing | — | R | R | R | R |
| 5 | Equivalence Classes / Input Partition | R | HR | HR | M | M |
| # | Coverage | SIL 0 | SIL 1 | SIL 2 | SIL 3 | SIL 4 |
|---|---|---|---|---|---|---|
| 1 | Statement coverage | R | HR | HR | M | M |
| 2 | Branch coverage | — | R | M | M | M |
| 3 | Compound Condition coverage | — | — | R | HR | HR |
| 4 | Data Flow coverage | — | — | R | HR | HR |
| 5 | Path coverage | — | — | — | R | R |
Key normative facts:
At SIL 3/4 component-level testing (Phase 5):
Coverage Combination Verification (Table A.21 Req 2):
Coverage Gap Compensating Measure (Table A.21 Req 4):
| Item | Template File | Location |
|---|---|---|
| 2 | Software-SQAP-Verification-Report-template.md | [PROJECT_ROOT] deliverables/planning/ |
| 4 | (SVP — not a report template; author per §6.2.4.2) | — |
| 8 | Software-Requirements-Verification-Report-template.md | [PROJECT_ROOT] deliverables/requirements/ |
| 14 | Software-Architecture-Design-Verification-Report-template.md | [PROJECT_ROOT] deliverables/architecture/ |
| 17 | Software-Component-Design-Verification-Report-template.md | [PROJECT_ROOT] deliverables/component-design/ |
| 19 | Software-Source-Code-Verification-Report-template.md | [PROJECT_ROOT] deliverables/implementation/ |
| 23 | Software-Integration-Verification-Report-template.md | [PROJECT_ROOT] deliverables/integration/ |
| † | Software-Validation-Verification-Report-template.md | [PROJECT_ROOT] deliverables/validation/ |
| 40 | Software-Deployment-Verification-Report-template.md | [PROJECT_ROOT] deliverables/deployment/ |
| 44 | Software-Maintenance-Verification-Report-template.md | [PROJECT_ROOT] deliverables/maintenance/ |
VER SHALL run trace gate-check at each phase gate to confirm T1–T15 coverage before
recording findings in the Verification Report. This command reads
activities/traceability.yaml and checks each applicable rule against the matrix CSV
files in evidence/traceability/ (see Matrix Naming Convention below).
# Check all T1–T15 rules applicable up to and including this phase (SIL 3 example)
python3 tools/workspace.py trace gate-check \
--phase <requirements|design|component-design|implementation-testing|integration|validation> \
--sil <0-4>
# Exit code 0 = PASS (all rules met); exit code 1 = FAIL (gate BLOCKED)
# Per-rule PASS/FAIL with normative clause citations is printed to stdout.
Important — T15: gate-check outputs a process note for T15 reminding VER that
T15 is a process obligation (VER records findings in the Verification Report). The tool
confirms matrix CSV coverage only; it does NOT verify the narrative content of VER reports.
Matrix CSV files must follow the document-ID convention for the tool's --phase filter
and gate-check to find them:
evidence/traceability/doc<from>_to_doc<to>.csv
Examples (derived from T1–T15 in TRACEABILITY.md §9):
| Rule | Matrix name |
|---|---|
| T1: S1 → [6] | docS1_to_doc6.csv |
| T2: S4 → [6] | docS4_to_doc6.csv |
| T3: [6] → [9] | doc6_to_doc9.csv |
| T7: [18] → [15] | doc18_to_doc15.csv |
| T13: [25] → [6] | doc25_to_doc6.csv |
Use python3 tools/workspace.py trace create --from <FROM> --to <TO> to scaffold new
matrices, where <FROM> and <TO> match the document-ID convention above.
After reviewing a traceability matrix, VER SHALL mark accepted links as verified:
python3 tools/workspace.py trace verify-link \
--matrix doc6_to_doc9 \
--source <SOURCE_ID> \
--target <TARGET_ID> \
--by "VER" \
--date <YYYY-MM-DD>
Unverified links cause check-gaps --sil 3 warnings; verified links suppress them.
# Submit VER report for QUA format-gate check
python3 tools/workspace.py wf submit <DOCUMENT_ID> \
--path <path-to-ver-report> \
--author-role VER \
--author-name '<VER Name>' \
--sil <0-4>
# Record VER review decision (approve — 1st Check PASS)
python3 tools/workspace.py wf review <DOCUMENT_ID> \
--role VER \
--name '<VER Name>' \
--approve \
--comment "Verification criteria met; no critical defects found"
# Record VER review decision (reject — 1st Check FAIL)
python3 tools/workspace.py wf review <DOCUMENT_ID> \
--role VER \
--name '<VER Name>' \
--reject \
--comment "<defect summary — list specific criteria failures>"
Defects found during verification are recorded in the VER Verification Report itself (defect list section). Escalate CRITICAL defects to PM via NCR per SQAP procedure.
Reference: en50128-lifecycle-tool-integration skill → workspace.py command reference.
Project management and coordination for EN 50128 railway software development
Project management and coordination for EN 50128 railway software development
Software quality assurance techniques and auditing for EN 50128 railway software
Software testing methodologies with coverage analysis for EN 50128 C programs using Unity test framework
V&V Manager coordination and independent V&V authority for SIL 3-4 EN 50128 projects
Software configuration management for EN 50128 railway software