TC8 Conformance Test Requirements#
Overview#
This document defines the requirements for verifying someipd against
the OPEN Alliance TC8 SOME/IP test specification.
It belongs to a set of three documents that work together:
Document |
Purpose |
|---|---|
requirements.rst (this file) |
Defines what must be verified: one feature requirement and multiple component requirements, each linked to the S-CORE requirement hierarchy. |
Defines how each test runs: purpose, preconditions, stimuli, and expected results. |
|
Maps external OA spec test case IDs to internal test IDs, component requirements, and Python test functions. |
Why this hierarchy?#
S-CORE projects use a three-level requirement hierarchy (defined by the docs-as-code guidelines). Each requirement must be traceable upward to a business goal and downward to a test:
Stakeholder requirements (
stkh_req) — why something is needed (business or interoperability goal).Feature requirements (
feat_req) — what capability is needed. Eachfeat_reqlinks to astkh_reqvia:satisfies:.Component requirements (
comp_req) — the specific, testable behaviour. Eachcomp_reqlinks to afeat_reqvia:satisfies:, and each test links back viarecord_property("FullyVerifies", ...).
This creates bidirectional traceability: from a stakeholder need down to the test that proves it is met, and from any test back up to the business goal. Sphinx-Needs tooling uses these links to generate coverage matrices and detect gaps.
How the feature / component split works for TC8#
For TC8 conformance, the split is simple:
One feature requirement (
feat_req__tc8_conformance__conformance) covers the overall goal: “verifysomeipdagainst OA TC8 SOME/IP at the wire level.” This requirement does not change when new test areas are added.Many component requirements — one per testable protocol aspect (e.g., SD offer format, cyclic timing, response headers, TCP transport). Each component requirement:
Describes the specific behaviour under test.
References the relevant AUTOSAR PRS or TC8 specification section.
Is verified by one or more pytest functions.
Note
When to extend this document
When new TC8 conformance tests are added (e.g., new OA specification chapters or protocol areas like SOME/IP-TP), update the documents as follows:
The feature requirement stays unchanged — it already covers the overall TC8 protocol conformance goal.
Add new component requirements to this file for each testable behaviour. Group them under a new heading (e.g., “Component Requirements — SOME/IP-TP”).
Add test case descriptions in TC8 Test Specifications.
Add OA-to-internal mapping rows in TC8 Conformance Traceability.
Each new pytest function must call
record_property("FullyVerifies", "<comp_req_id>")to close the traceability chain.
A new feature requirement is only needed if the scope expands
beyond wire-level protocol conformance — for example, a separate
“TC8 Enhanced Testability” campaign would need its own feat_req.
Requirement Hierarchy Diagram#
The diagram below shows how the three requirement levels, the test code, the external OA standard, and the documentation files relate to each other.
The relationships work as follows:
Stakeholder → Feature (
:satisfies:): The feature requirement satisfies the stakeholder need for SOME/IP interoperability.Feature → Component (
:satisfies:): Each component requirement defines a specific, testable protocol behaviour and links up to the single feature requirement.Component → Test (
record_property("FullyVerifies", ...)): Each pytest function creates a machine-readable link back to the component requirement it verifies (emitted in JUnit XML).Test → External Standard (traceability matrix): The TC8 Conformance Traceability maps each internal test ID to the corresponding OA TC8 specification test case, closing the chain from external standard to verified implementation.
Requirement Areas#
The component requirements are grouped by TC8 test area:
Area |
Req Count |
Scope |
|---|---|---|
Service Discovery |
9 |
SD offer format, cyclic timing, find response, subscribe lifecycle, subscription TTL expiry, phases timing, endpoint options, reboot detection, multicast eventgroup |
SD Format and Options Compliance |
3 |
Byte-level field assertions for SD SOME/IP header, offer entry, SubscribeAck entry, StopSubscribeEventgroup entry, IPv4EndpointOption, and IPv4MulticastOption |
SD Robustness |
1 |
Malformed SD packet handling without crash or state corruption |
SOME/IP Message Format |
3 |
Response header fields, error return codes, malformed message handling |
Event Notification |
1 |
Notification delivery lifecycle (subscribe, event ID, multicast, stop) |
Field Conformance |
2 |
Initial value on subscribe, getter/setter methods |
TCP Transport Binding |
1 |
TCP reliable transport for RPC, field get/set, event notification |
Multi-service and Multi-instance |
1 |
Multi-service config loading, per-service port advertisement, SD isolation |
Feature Requirement#
The following feature requirement establishes TC8 SOME/IP conformance testing as a formal verification activity for the SOME/IP Gateway’s protocol stack.
TC8 SOME/IP Protocol Conformance
|
status: valid
security: NO
safety: QM
|
||||
The SOME/IP Gateway project shall verify protocol conformance of its
SOME/IP stack ( Note: The |
|||||
Component Requirements — Service Discovery#
The following component requirements define the high-priority TC8 conformance tests for SOME/IP Service Discovery (SD), aligned with SOME/IP-SD Protocol Specification (AUTOSAR PRS_SOMEIP_SD).
TC8 SD Offer Entry Format Validation
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification sections 4.1.2.1 (OfferService entry format) and 4.1.2.3 (Service Entry fields). Covers TC8-SD-001 and TC8-SD-002 from the test strategy. |
|||||
TC8 SD Cyclic Offer Timing
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification section 4.1.1 (SD Phases — Main Phase, cyclic offer behavior). Covers TC8-SD-003 from the test strategy. |
|||||
TC8 SD FindService Response
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification section 4.1.2.2 (FindService entry handling and response behavior). Covers TC8-SD-004 and TC8-SD-005 from the test strategy. |
|||||
TC8 SD Subscribe Eventgroup Lifecycle
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification sections 4.1.2.4 (SubscribeEventgroup), 4.1.2.5 (StopSubscribeEventgroup), 4.1.2.6 (SubscribeEventgroupAck/Nack), and 4.1.2.7 (TTL handling). Covers TC8-SD-006, TC8-SD-007, TC8-SD-008, and TC8-SD-014 from the test strategy. |
|||||
TC8 SD Subscription TTL Expiry
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that event notifications cease to arrive after the subscription TTL expires: when a tester subscribes with TTL = 1 and no renewal is sent, no further SOME/IP notifications shall be received beyond 2 seconds after the TTL expiry, conforming to OA TC8 SOMEIP_ETS_095. |
|||||
TC8 SD Initial Delay and Repetitions Phase
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification section 4.1.1 (SD Phases — Initial Wait, Repetition, Main Phase). Covers TC8-SD-009 and TC8-SD-010 from the test strategy. |
|||||
TC8 SD IPv4 Endpoint Option Validation
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification section 4.1.2.4 (SD Options — IPv4 Endpoint Option format). Covers TC8-SD-011 from the test strategy. |
|||||
TC8 SD Reboot Detection
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification section 4.1.1 (Reboot Detection — session ID and reboot flag handling). Covers TC8-SD-012 from the test strategy. |
|||||
TC8 SD Multicast Eventgroup Option
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP-SD specification section 4.1.2.6 (SubscribeEventgroupAck options — multicast endpoint). Covers TC8-SD-013 from the test strategy. |
|||||
Component Requirements — SOME/IP Message Format#
TC8 SOME/IP Response Header Validation
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP specification sections 4.1.4 (Protocol Version), 4.1.6 (Message Type), and 4.1.3 (Request ID — Client ID / Session ID). Covers TC8-MSG-001, TC8-MSG-002, TC8-MSG-005, and TC8-MSG-008 from the test strategy. |
|||||
TC8 SOME/IP Error Return Codes
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP specification section 4.1.7 (Return Code) and the return code table (Table 4.14). Covers TC8-MSG-003, TC8-MSG-004, and TC8-MSG-006 from the test strategy. |
|||||
TC8 SOME/IP Malformed Message Handling
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP specification section 4.1 (Header format validation and error handling). Covers TC8-MSG-007 from the test strategy. |
|||||
Component Requirements — Event Notification#
TC8 Event Notification Subscription Lifecycle
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP specification section 5.1 (Events) and SOME/IP-SD section 4.1.2.4 (SubscribeEventgroup triggering notification delivery). Covers TC8-EVT-001 through TC8-EVT-006 from the test strategy. |
|||||
Component Requirements — Field Conformance#
TC8 Field Initial Value on Subscribe
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP specification section 5.3 (Fields — initial value notification on subscribe) and AUTOSAR SWS_CM_00719. Covers TC8-FLD-001 and TC8-FLD-002 from the test strategy. |
|||||
TC8 Field Getter and Setter
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to SOME/IP specification section 5.3 (Fields — getter/setter methods) and AUTOSAR SWS_CM_00720/SWS_CM_00721. Covers TC8-FLD-003 and TC8-FLD-004 from the test strategy. |
|||||
Component Requirements — TCP Transport Binding#
TC8 TCP Transport Binding for RPC
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to OA TC8 specification references SOMEIPSRV_RPC_01, SOMEIPSRV_RPC_02, and SOMEIPSRV_OPTIONS_15. Also traces to PRS_SOMEIP_00142 (SOME/IP TCP message framing) and PRS_SOMEIP_00569 (unaligned message handling over TCP), covered by TC8-TCP-009. Addresses Gap 1 (TCP transport binding) from the architecture conformance analysis. |
|||||
See also
For the full traceability chain (OA specification → internal TC8 ID → requirement → test function), see TC8 Conformance Traceability.
For detailed test case specifications (purpose, stimuli, expected results), see TC8 Test Specifications.
Component Requirements — Multi-service and Multi-instance#
TC8 Multi-service and Multi-instance Routing
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to OA TC8 specification references SOMEIPSRV_RPC_13
(multi-service hosting) and SOMEIPSRV_RPC_14 (per-instance port isolation).
Covered by |
|||||
Component Requirements — SD Format and Options Compliance#
The following component requirements cover byte-level field assertions for
SOME/IP-SD messages sent by someipd, corresponding to OA TC8 v3.0 §5.1.5.1
(FORMAT_*) and §5.1.5.2 (OPTIONS_*).
TC8 SD SOME/IP Header and Entry Field Validation
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to OA TC8 v3.0 §5.1.5.1 (SOME/IP-SD header and entry format assertions). |
|||||
TC8 SD IPv4 Endpoint and Multicast Option Field Validation
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to OA TC8 v3.0 §5.1.5.2 (SD Options format assertions).
Multicast option tests (OPTIONS_08–14) require a non-loopback NIC
( |
|||||
TC8 SD StopSubscribeEventgroup Entry Wire Format
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that a StopSubscribeEventgroup SD entry
has entry type byte |
|||||
Component Requirements — SD Robustness#
TC8 SD Robustness — Malformed Packet Survival
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to OA TC8 v3.0 §5.1.6 (Enhanced Testability Service Tests — SD robustness cases). |
|||||
Component Requirements — UDP Transport Binding#
TC8 UDP Transport Binding — Multiple Messages per Datagram
|
status: valid
security: NO
safety: QM
|
||||
The conformance test suite shall verify that Note: Traces to PRS_SOMEIP_00142 and PRS_SOMEIP_00569 (unaligned SOME/IP message
parsing over UDP).
Covered by TC8-UDP-001 in |
|||||