====== NOD-001a — Identify the Node Role ======
[[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-001-define-a-node:start|Go to NOD-001 — Define a Node]]
===== Statement =====
The [[dido:99_annexes:annex-b-terms-and-definitions:d:dido-te|DIDO-TE]] SHALL identify the role of each [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] within the applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environment]].
===== Derived From =====
* [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-001-define-a-node:start|NOD-001 — Define a Node]]
* [[dido:03-dido-te:99-annexes:annex-b-references:dte-005|[DTE5] DIDO-TE Requirements Register]], source requirement identifier and obligation to be assigned
* [[dido:03-dido-te:99-annexes:annex-b-references:dte-006|[DTE6] Structured Information Processing Reference Architecture (SIP-RA)]]
* [[dido:03-dido-te:99-annexes:annex-b-references:dte-007|[DTE7] Federated Data Interpretation Systems Reference Architecture (FDIS-RA)]]
===== Rationale =====
A Node role describes the responsibility assigned to a Node within a Test Environment. The role establishes why the Node participates in a test and distinguishes its responsibilities from those assigned to other Nodes.
Roles may include producing data, consuming data, transforming information, coordinating processing, providing a service, observing behaviour, injecting faults, emulating an external system, enforcing a policy, or collecting Evidence.
Explicit role identification prevents ambiguity when multiple Nodes use similar implementations or when one implementation performs different responsibilities in separate Test Environments. The identified role also provides a basis for defining interfaces, dependencies, permissions, lifecycle behaviour, observability, and expected Test Results.
===== Applies To =====
* [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environment]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_definition|Test Definition]]
* [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]]
* [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]
===== Verification =====
Verification confirms that:
* Each Node has a uniquely identified role.
* The role describes the responsibility assigned to the Node within the Test Environment.
* The role identifies the purpose of the Node’s participation in the applicable test.
* The role identifies the functions and behaviours expected from the Node.
* The role identifies the information, services, or resources the Node provides or consumes.
* The role distinguishes the Node’s responsibilities from those assigned to other Nodes.
* The role identifies any responsibility for coordination, observation, fault injection, policy enforcement, emulation, or Evidence collection.
* The role remains independent of a particular Node instance unless the applicable Test Definition requires instance-specific behaviour.
* A Node assigned multiple roles has each role identified separately.
* The Node Definition identifies any constraints governing the combination of multiple roles.
* The role remains consistent with the Node’s defined interfaces, dependencies, permissions, lifecycle behaviour, and observability requirements.
* The applicable Test Definition identifies the role assigned to each participating Node.
* A change to an assigned Node role produces a controlled change to the Node Definition or Test Definition.
* The DIDO-TE records the role assigned to each Node participating in a Test Execution.
* The DIDO-TE maintains [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] among the Node, its role, the Node Definition, the Test Definition, the Test Environment, and the applicable Test Execution.
* An absent, ambiguous, conflicting, or untraceable mandatory Node role constitutes nonconformance with this requirement.
Verification includes:
* Inspection of each Node Definition
* Inspection of the roles assigned by the applicable Test Definition
* Comparison of each assigned role with the Node’s interfaces, dependencies, permissions, and expected behaviour
* Confirmation that Nodes performing different responsibilities have distinguishable roles
* Confirmation that each Node assigned multiple roles has those roles separately identified
* A negative assessment involving an absent or ambiguous Node role
* A negative assessment involving a role inconsistent with the Node’s defined behaviour
* Inspection of recorded role assignments and Traceability records
===== Referenced By =====
{{backlinks>.}}
===== Related Architecture Sections =====
* Add links to the architecture sections governing Node definitions, Node responsibilities, Test Environment composition, Test Definition, and Traceability.
===== Delivery Phase =====
Assign the applicable delivery phase.
===== Requirement Status =====
Draft
===== Statement Reference =====
Use the following syntax to reference this requirement’s Statement section from another DokuWiki page:
{{section>dido:03-dido-te:99-annexes:annex-c-requirements:03-node-requirements:nod-001-define-a-node:nod-001a-identify-the-node-role#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.