Specification & Traceability¶
OpenSOME/IP tracks protocol coverage against the Open SOME/IP Specification using Sphinx-Needs annotations embedded directly in the source code.
At a Glance¶
| Metric | Value |
|---|---|
| Total requirements | 649 |
| Spec-derived | 486 |
| Implementation-derived | 163 |
| Critical / High priority coverage | 100% |
| C++ unit tests | 169+ |
| Python tests | 80+ |
Reports¶
These reports are generated automatically on every CI run.
| Report | Description |
|---|---|
| Gap Analysis | Per-category breakdown of implementation and test coverage |
| Implementation Status | Executive summary with priority analysis and recommendations |
| Implementation Verification | Which requirements have code annotations vs. truly missing |
| Spec Mapping | Maps every Open SOME/IP spec requirement to implementation requirements |
Interactive Views¶
| View | Description |
|---|---|
| Requirements Documentation | Full Sphinx-Needs requirements browser (searchable, filterable) |
| Traceability Matrix | Interactive HTML matrix linking requirements, code, and tests |
How Traceability Works¶
Developers annotate source files with structured comments:
Requirements are defined in RST files under docs/requirements/ using Sphinx-Needs
directives, and linked to the Open SOME/IP spec via :satisfies: references.
The CI pipeline extracts all annotations, cross-references them with the requirements database, and produces the reports listed above.
See the Traceability Guide for details on adding annotations to your code.