ASPICE v4.0 Stakeholder Requirements for reqmd

18 requirements (18 parents, 0 children)

draft6approved12

This document defines stakeholder requirements for reqmd derived from Automotive SPICE v4.0 base practices. Each requirement identifies which ASPICE BPs it fulfills and assesses implementation status within reqmd. These requirements serve as the bridge between the ASPICE v4.0 standard (00-aspice/) and reqmd's system features (02-system/).

ASP-SR-001: Structured requirement organization

#
Process
SYS
Aspice Bp
SYS2-BP2 SWE1-BP2 HWE1-BP2 MLE1-BP2
Coverage
Full
Disposition
implemented
Status
approved

The tool shall support structured organization of requirements using configurable heading levels, ID prefixes, and document-level grouping.

Already fulfilled by: Dynamic reqLevel discovery, x-reqmd.id-prefix in schema, document directory grouping.

Rationale:

ASPICE BP2 of each requirements analysis process requires structuring requirements. reqmd supports this via directory-based document grouping, configurable ID prefixes in x-reqmd.id-prefix, and dynamic requirement level discovery from the first heading with an attr block. Requirements can be organized hierarchically into documents (directories) and sub-requirements via heading level nesting.

ASP-SR-002: Schema-based requirement validation

#
Process
SYS
Aspice Bp
SYS2-BP1 SWE1-BP1 HWE1-BP1 MLE1-BP1
Coverage
Full
Disposition
implemented
Status
approved

The tool shall validate requirements against a project-defined schema, enforcing required attributes, value ranges, and type constraints for functional and non-functional requirements.

Already fulfilled by: Schema compilation and validation per document directory (internal/schema/).

Rationale:

ASPICE BP1 of each requirements analysis process requires specifying requirements according to defined characteristics. reqmd's JSON Schema 2020-12 validation enforces required fields, allowed values (enums), types, and additional property constraints per document directory.

ASP-SR-003: Heading-level hierarchy decomposition

#
Process
SYS
Aspice Bp
SYS2-BP2 SWE1-BP2
Coverage
Full
Disposition
implemented
Status
approved

The tool shall support requirement decomposition through heading-level hierarchy, automatically linking child requirements to their parent without manual trace declarations.

Already fulfilled by: Dynamic reqLevel parser, ### sub-requirement detection via isNextAttrBlock(), Pass 3 auto-edges in graph.

Rationale:

ASPICE requires structuring requirements in a hierarchy. reqmd's dynamic reqLevel discovery lets authors use any heading level (#, ##, ###) for requirements. A heading at reqLevel + 1 with an attr block becomes a child of the preceding reqLevel requirement, with automatic ParentID assignment and graph edge creation.

ASP-SR-004: Cross-document traceability

#
Process
SYS
Aspice Bp
SYS2-BP5 SYS3-BP4 SWE1-BP5 SWE2-BP4 SWE3-BP4 HWE1-BP5 HWE2-BP5
Coverage
Full
Disposition
implemented
Status
approved

The tool shall establish bidirectional traceability between requirements at adjacent V-model levels across document boundaries, and validate the integrity of trace chains.

Already fulfilled by: trace attribute, graph CachedNode with Inbound/Outbound, upstream document chaining, check results for broken references.

Rationale:

Multiple ASPICE base practices across SYS, SWE, and HWE require bidirectional traceability between successive refinement levels. reqmd's trace attribute supports upstream-only trace declarations, with the graph builder automatically computing bidirectional (inbound/outbound) relationships. Cross-document trace resolution uses absolute path lookups through x-reqmd.upstream.sources.

ASP-SR-005: Trace chain validation

#
Process
SYS
Aspice Bp
SYS2-BP5 SYS3-BP4 SWE4-BP4 SWE5-BP6 SWE6-BP4 HWE3-BP5 HWE4-BP5
Coverage
Full
Disposition
implemented
Status
approved

The tool shall verify completeness and integrity of trace chains, detecting broken references, untraced requirements, circular dependencies, and no-downstream linkages.

Already fulfilled by: Graph Pass 2 (10 checks), checkUntraced(), checkCircular(), checkBrokenReference(), etc.

Rationale:

ASPICE traceability BPs require consistency checking of trace relationships. reqmd's graph checker performs 10 distinct checks: broken reference (WARNING), circular dependencies (ERROR), untraced requirements (WARNING — suppressed for V-model top boundary, external:true, disposition:set, and sub-requirements), no-downstream (WARNING — suppressed for V-model bottom boundary and disposition:set), disposition without reason (WARNING), mandatory disposition (ERROR), ID prefix mismatch (ERROR), ID prefix collision (ERROR), duplicate requirement ID (ERROR), and ambiguous trace reference (ERROR).

ASP-SR-006: Requirement-to-verification traceability and result recording

#
Process
SYS
Aspice Bp
SYS4-BP1 SYS4-BP2 SYS4-BP3 SYS4-BP4 SYS5-BP1 SYS5-BP2 SYS5-BP3 SYS5-BP4 SWE4-BP1 SWE4-BP2 SWE4-BP3 SWE4-BP4 SWE5-BP1 SWE5-BP3 SWE5-BP4 SWE5-BP5 SWE5-BP6 SWE6-BP1 SWE6-BP2 SWE6-BP3 SWE6-BP4 VAL1-BP1 VAL1-BP2 VAL1-BP3 HWE3-BP1 HWE3-BP3 HWE3-BP4 HWE3-BP5 HWE4-BP1 HWE4-BP3 HWE4-BP4 HWE4-BP5 MLE4-BP1 MLE4-BP3 MLE4-BP6
Coverage
Full
Disposition
implemented
Status
approved

The tool shall support traceability between requirements and their verification measures, record verification results including pass/fail status, and evaluate the results by enforcing that every approved measure has a verdict and that no measure has a failing latest verdict.

Already fulfilled by: verify attribute for measure declaration, --results flag for ephemeral result loading on check and serve, CTRF parser (internal/verify), manual-results markdown loading, missing-verdict / failing-verdict / version-pin graph checks, verified: pass verdict annotation in check output, verdict badges in HTML export and live serve preview.

Rationale:

ASPICE verification processes require bidirectional traceability between requirements and verification measures (BP4), specification and selection of verification measures with sufficient coverage (BP1/BP2), and recording of verification results including pass/fail status with evaluation (BP3). reqmd's V-model document chain supports requirements tracing to verification measures (requirements with a verify attribute). The --results flag loads ephemeral verification results from CTRF JSON reports (automated tests) and manual-results markdown (review/inspection/analysis), synthesizes result pseudo-requirements that trace to their measures, and runs outcome-gated checks: missing-verdict (approved measure with no result, WARNING), failing-verdict (latest result is fail, ERROR), and version-pin (stale result pin via ~N, reused from the existing check). Results are not persisted in the spec repo — they are loaded per invocation to keep CI run-to-run churn out of git.

Upstream (35)
ASP-SYS4-BP1Specify verification measures for system integration ASP-SYS4-BP2Select verification measures ASP-SYS4-BP3Integrate system elements and perform integration verification ASP-SYS4-BP4Ensure consistency and establish bidirectional traceability ASP-SYS5-BP1Specify verification measures for system verification ASP-SYS5-BP2Select verification measures ASP-SYS5-BP3Perform verification of the integrated system ASP-SYS5-BP4Ensure consistency and establish bidirectional traceability ASP-SWE4-BP1Specify software unit verification measures ASP-SWE4-BP2Select software unit verification measures ASP-SWE4-BP3Verify software units ASP-SWE4-BP4Ensure consistency and establish bidirectional traceability ASP-SWE5-BP1Specify software integration verification measures ASP-SWE5-BP3Select verification measures ASP-SWE5-BP4Integrate software elements and perform integration verification ASP-SWE5-BP5Perform software component verification ASP-SWE5-BP6Ensure consistency and establish bidirectional traceability ASP-SWE6-BP1Specify verification measures for software verification ASP-SWE6-BP2Select verification measures ASP-SWE6-BP3Verify the integrated software ASP-SWE6-BP4Ensure consistency and establish bidirectional traceability ASP-VAL1-BP1Specify validation measures for product validation ASP-VAL1-BP2Select validation measures ASP-VAL1-BP3Perform validation and evaluate results ASP-HWE3-BP1Specify verification measures for the verification against hardware design ASP-HWE3-BP3Select verification measures ASP-HWE3-BP4Verify hardware design ASP-HWE3-BP5Ensure consistency and establish bidirectional traceability ASP-HWE4-BP1Specify verification measures for the verification against hardware requirements ASP-HWE4-BP3Select verification measures ASP-HWE4-BP4Verify the compliant hardware samples ASP-HWE4-BP5Ensure consistency and establish bidirectional traceability ASP-MLE4-BP1Specify an ML test approach ASP-MLE4-BP3Test trained ML model ASP-MLE4-BP6Ensure consistency and establish bidirectional traceability

ASP-SR-007: Change tracking for requirements

#
Process
SUP
Aspice Bp
SUP10-BP4
Coverage
Full
Disposition
implemented
Status
approved

The tool shall support recording of change information for individual requirements, enabling bidirectional traceability between change requests and affected requirements.

Already fulfilled by: version built-in, disposition/disposition-reason attributes, trace attribute for CR linking.

Rationale:

ASPICE SUP.10 requires traceability between change requests and affected work products. reqmd's built-in version attribute tracks version changes at the individual requirement level. The disposition and disposition-reason attributes document the resolution state. Change request IDs can be referenced via the trace attribute to establish explicit links.

ASP-SR-008: Automated quality validation

#
Process
SUP
Aspice Bp
SUP1-BP3 SUP1-BP6
Coverage
Full
Disposition
implemented
Status
approved

The tool shall automatically validate requirement work products against defined quality criteria, report non-conformances with severity levels, and provide machine-readable output for CI pipeline integration.

Already fulfilled by: 4-pass validation pipeline, severity levels, --json flag, exit codes (0/1/2).

Rationale:

ASPICE SUP.1 requires quality assurance of work products and resolution of non-conformances. reqmd's validation pipeline (parse → schema validate → graph build → trace check) produces structured results with severity levels (ERROR, WARNING, INFO). The --json flag outputs machine-readable reports suitable for CI integration. Exit codes distinguish success (0), validation errors (1), and parse errors (2).

ASP-SR-009: Configuration management support

#
Process
SUP
Aspice Bp
SUP8-BP1 SUP8-BP2 SUP8-BP3 SUP8-BP5 SUP8-BP7
Coverage
Partial
Disposition
deferred
Disposition Reason
No built-in baseline capture or configuration management tool integration beyond what the VCS provides.
Status
draft

The tool shall support configuration management of requirement work products through unique identification, version tracking, and consistent baseline representation.

Already fulfilled by: Unique IDs per requirement, version attribute, Git-native file format. Gap: No built-in baseline capture or configuration management tool integration beyond what the VCS provides.

Rationale:

ASPICE SUP.8 requires identification, property definition, and control of configuration items. reqmd provides unique requirement identification via ID prefixes and the version built-in attribute. However, baseline management (SUP.8.BP5) and configuration management mechanisms (SUP.8.BP3) are delegated to the version control system (git). reqmd supports this by being Git-native: requirements are plain-text files that diff cleanly, and git tags/snapshots serve as baselines.

ASP-SR-010: Readable requirement documentation

#
Process
SYS
Aspice Bp
SYS1-BP4 SYS5-BP5 SWE6-BP5 VAL1-BP5 SUP8-BP6
Coverage
Full
Disposition
implemented
Status
approved

The tool shall generate human-readable requirement documentation that communicates requirement status, trace relationships, and document structure to all affected parties.

Already fulfilled by: HTML export with cards, tree TOC, trace tabs, dark mode, search/filter.

Rationale:

ASPICE requires communicating requirements status (SYS.1.BP4), verification results (SYS.5.BP5, SWE.6.BP5, VAL.1.BP5), and configuration status (SUP.8.BP6) to affected parties. reqmd's HTML export generates self-contained documentation with: card-based requirement layout showing all attributes, a tree TOC sidebar with scroll-spy navigation, trace chain tab strip showing the V-model hierarchy, dark mode toggle, and search/filter toolbar.

ASP-SR-011: Interdependency analysis

#
Process
SYS
Aspice Bp
SYS2-BP3 SWE1-BP3 SWE2-BP3 MLE1-BP3
Coverage
Partial
Disposition
deferred
Disposition Reason
Semantic correctness analysis is a human review concern.
Status
draft

The tool shall support analysis of requirement interdependencies to detect inconsistencies and support impact assessment.

Already fulfilled by: Graph query methods, circular dependency detection, no-downstream check. Gap: Semantic correctness analysis is a human review concern.

Rationale:

ASPICE requires analyzing requirement dependencies for correctness and feasibility (SYS.2.BP3, SWE.1.BP3). reqmd's graph provides dependency analysis through trace chain queries, UpstreamNeighbors() and DownstreamNeighbors() methods, and Pass 2 checks that detect circular dependencies and missing linkages. However, semantic analysis (correctness, feasibility) is beyond the tool's scope — these require domain expertise that reqmd supports by making dependencies visible.

ASP-SR-013: Issue and change tracking

#
Process
SUP
Aspice Bp
SUP9-BP1 SUP9-BP6 SUP10-BP1 SUP10-BP5 SUP10-BP6
Coverage
Partial
Disposition
deferred
Disposition Reason
No built-in issue/CR workflow.
Status
draft

The tool shall support unique identification and tracking of issues and change requests that affect requirements.

Already fulfilled by: Unique IDs, trace for CR linking, disposition/disposition-reason. Gap: No built-in issue/CR workflow.

Rationale:

ASPICE SUP.9 and SUP.10 require unique identification, tracking, and closure confirmation for problems and change requests. reqmd supports this through unique requirement IDs that can reference external issue/CR IDs via the trace attribute. The disposition and disposition-reason attributes document resolution state. The tool's validation ensures trace integrity when CRs are linked. However, dedicated issue/CR management (workflow, approval, lifecycle) is delegated to external systems.

ASP-SR-015: External standard referencing

#
Process
REU
Aspice Bp
REU2-BP1 REU2-BP5
Coverage
Full
Disposition
implemented
Status
approved

The tool shall support referencing and reusing requirements from external standards, including those not authored within the tool itself.

Already fulfilled by: external: true flag, external requirements in graph, cross-document trace resolution.

Rationale:

ASPICE REU.2 requires selection and provision of reusable products. reqmd supports this through the external: true flag on document directories, which marks requirements as external references. External requirements participate in the graph for trace validation (they can be traced to/from) but are exempt from certain checks (untraced suppression). The ASPICE v4.0 base practices (00-aspice/) are themselves expressed as external reqmd requirements, demonstrating this pattern.

ASP-SR-016: Portable export distribution

#
Process
SYS
Aspice Bp
SYS2-BP6 SYS3-BP5 SWE1-BP6 SWE2-BP5 HWE1-BP6 HWE2-BP6 MLE1-BP6 MLE2-BP7
Coverage
Full
Disposition
implemented
Status
approved

The tool shall enable distribution of requirement documentation and impact analysis results through portable, self-contained export formats.

Already fulfilled by: Standalone HTML export, CSV export, trace chain tab strip, tree TOC sidebar.

Rationale:

ASPICE requires communicating agreed requirements and impact analysis to affected parties across all engineering domains. reqmd's HTML export generates self-contained .html files with inline CSS and JS — no server or network dependencies. The doc-level trace chain tab strip visually communicates the V-model context. The tree TOC sidebar with scroll-spy provides navigation. CSV export enables spreadsheet-based distribution for non-technical stakeholders.

ASP-SR-017: Impact analysis support

#
Process
SYS
Aspice Bp
SYS2-BP3 SYS2-BP4 SWE1-BP3 SWE1-BP4 HWE1-BP3 HWE1-BP4
Coverage
Partial
Disposition
deferred
Disposition Reason
No dedicated `reqmd impact <id>` CLI command yet — current impact analysis requires using the graph API programmatically.
Status
draft

The tool shall support impact analysis by identifying all requirements affected by a proposed change through trace chain traversal.

Already fulfilled by: Graph traversal methods (UpstreamNeighbors, DownstreamNeighbors), bidirectional Inbound/Outbound edges. Gap: No dedicated reqmd impact <id> CLI command yet — current impact analysis requires using the graph API programmatically.

Rationale:

ASPICE requires analyzing the impact of requirements on system context and operating environment (SYS.2.BP4, SWE.1.BP4, HWE.1.BP4). reqmd's graph supports traversal via UpstreamNeighbors() and DownstreamNeighbors(), which provides the infrastructure for impact analysis queries.

ASP-SR-018: Requirement metrics and measurement

#
Process
MAN
Aspice Bp
MAN6-BP2 MAN6-BP3 MAN6-BP4
Coverage
Partial
Disposition
deferred
Disposition Reason
No historical trend tracking or metric dashboard.
Status
draft

The tool shall provide metrics and measurements on requirement artifacts, including completeness, trace coverage, and attribute distribution.

Already fulfilled by: stats command with attribute breakdowns, ls command, --json output on all commands. Gap: No historical trend tracking or metric dashboard.

Rationale:

ASPICE MAN.6 requires specifying, collecting, and analyzing metrics. reqmd's stats command provides attribute-value breakdowns per document directory, showing distributions of all requirement attributes. The ls command lists all requirements with their attributes. The --json flag on all commands supports integration with external analytics tools. However, trend analysis over time and historical metric collection are out of scope — reqmd provides point-in-time snapshots.

ASP-SR-020: V-model refinement levels

#
Process
SYS
Aspice Bp
SYS5-BP2 SWE4-BP2 SWE5-BP3 SWE6-BP2 HWE3-BP3 HWE4-BP3 VAL1-BP2
Coverage
Full
Disposition
implemented
Status
approved

The tool shall support V-model work product progression through multiple levels of requirements refinement, with configurable trace links between adjacent levels.

Already fulfilled by: Multi-level doc chain, upstream config, trace chain tab strip in HTML export, configurable per-dir schema.

Rationale:

ASPICE requires selection of verification measures with sufficient coverage at each V-model level. reqmd's multi-level document structure (stakeholder → system → software → tests) mirrors the V-model directly. Each document directory has its own schema, ID prefix, and upstream trace target. The HTML export's trace chain tab strip renders the V-model chain (e.g., Stakeholder → System → Software → Tests) with the active document highlighted as an inactive span, providing visual context for the current level.

ASP-SR-021: Safety attribute support

#
Process
SYS
Aspice Bp
SYS2-BP1 SWE1-BP1
Coverage
Partial
Disposition
deferred
Disposition Reason
ASIL consistency across the V-model trace chain is not validated — deferred to external tooling via graph export.
Status
draft

The tool shall support safety attribute assignment to requirements (ASIL QM/A/B/C/D per ISO 26262) as a user-defined schema attribute.

Already fulfilled by: User-defined schema attributes, JSON Schema validation (required, enum, type). Gap: ASIL consistency across the V-model trace chain is not validated — deferred to external tooling via graph export.

Rationale:

ISO 26262-6 7.4.2 requires ASIL designation for software requirements. Users define asil as a normal attribute in their schema.yaml with the desired enum values. The tool's standard validation (required fields, enum values, type checking) applies to user-defined safety attributes through JSON Schema 2020-12 validation. ASIL consistency checking across the trace chain is out of scope — orgs requiring ASIL propagation checks should use the ladybugdb graph export and external query tools.