| Both sides previous revision Previous revision Next revision | Previous revision |
| dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:start [2026/08/19 18:54] – nick_dido | dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:start [2026/08/22 12:40] (current) – nick_dido |
|---|
| [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:start|Go to C.3 Functional Requirements]] | [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:start|Go to C.3 Functional Requirements]] |
| |
| This section identifies the requirements governing [[dido:99_annexes:annex-b-terms-and-definitions:t:twin_node|Twin Nodes]] used to represent, observe, simulate, reproduce, compare, or interact with corresponding [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Nodes]] within distributed verification and testing. | This section identifies the requirements governing [[dido:99_annexes:annex-b-terms-and-definitions:t:twin_node|Twin Nodes]] used to represent, observe, simulate, reproduce, compare, select, or interact with corresponding [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Nodes]] within distributed verification and testing. |
| |
| Twin Node requirements address the controlled relationship between a Twin Node and its corresponding Node, including identity, association, [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration|Configuration]], state acquisition, synchronization, simulation, comparison, selection, controlled interaction, and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]. | Twin Node requirements address the controlled relationship among a [[dido:99_annexes:annex-b-terms-and-definitions:t:twin_identity|Twin Identity]], one or more [[dido:99_annexes:annex-b-terms-and-definitions:t:twin_realization|Twin Realizations]], and the corresponding real-world, virtual, simulated, or otherwise represented Node. |
| |
| A Twin Node may receive information from multiple eligible sources. Configuration, communication policies, and applicable Quality of Service controls govern source eligibility and communication behavior without assigning semantic authority to a source solely because the source participates in the communication mechanism. | The requirements address Twin Identity, association of Twin Realizations, [[dido:99_annexes:annex-b-terms-and-definitions:t:twin_relationship|Twin Relationship]] Configuration, realization selection, access to Twin Realization state, synchronization, simulation, comparison, controlled interaction, and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]. |
| |
| The requirements in this section derive from the applicable source documents identified in Annex B. The DIDO-TE BAA explicitly requires management of Twin Nodes and selection during testing between a virtual representation and its corresponding real-world Node. The DIDO Reference Architecture provides the broader Digital Twin, DDS publish-subscribe, and DDS Quality of Service concepts used to normalize and decompose that source requirement into individually verifiable architectural obligations. | A Twin Identity may be associated with more than one Twin Realization. A [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] may therefore select a Twin Realization without changing the Twin Identity represented within the test. |
| | |
| | A Twin Relationship may obtain information from multiple eligible [[dido:99_annexes:annex-b-terms-and-definitions:d:data_source|Data Sources]]. [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration|Configuration]], communication parameters, [[dido:99_annexes:annex-b-terms-and-definitions:s:source_selection|Source Selection]], and [[dido:99_annexes:annex-b-terms-and-definitions:q:qos|Quality of Service]] characteristics govern the use and exchange of that information without assigning semantic authority to a Data Source solely because the source participates in a communication mechanism. |
| | |
| | The requirements in this section derive from the source documents identified in Annex B. |
| | |
| | The DIDO-TE BAA identifies Digital Twins as a means of representing systems or systems of systems and explicitly requires functionality to manage and select between virtual and real-world Twin Nodes during testing. |
| | |
| | The U.S. Patent Application describes virtual and physical Twin Nodes addressed using an identifier shared by one or more other Twin Nodes. It also describes adding or modifying a Twin Node, comparing resulting Test Results against a baseline, and validating a Twin Node or emulated distributed system when the results correspond. |
| | |
| | The DIDO Reference Architecture provides the broader Digital Twin, DDS publish-subscribe, and DDS Quality of Service concepts used to normalize and decompose these source concepts into individually verifiable architectural obligations. |
| | |
| | Validation requirements derived from the Twin Node source material are governed under C.3.10 Validation Requirements rather than duplicated within this section. |
| |
| A Twin Node requirement may be represented by an individual leaf requirement or by a non-leaf requirement group containing subordinate independently verifiable obligations. | A Twin Node requirement may be represented by an individual leaf requirement or by a non-leaf requirement group containing subordinate independently verifiable obligations. |
| |
| ^ Requirement ID ^ Requirement Title ^ Primary Source Basis ^ | ^ Requirement ID ^ Requirement Title ^ Primary Source Basis ^ |
| | TWIN-001 | Define a Twin Node | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Appendix A, //Digital Twin// | | | TWIN-001 | Establish Twin Identity | [[dido:03-dido-te:99-annexes:annex-b-references:dte-001|[DTE1]]], Twin Node claims; [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Appendix A, //Digital Twin// | |
| | TWIN-002 | Associate a Twin Node with a Corresponding Node | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Appendix A, //Digital Twin// | | | TWIN-002 | Associate Twin Realizations | [[dido:03-dido-te:99-annexes:annex-b-references:dte-001|[DTE1]]], Twin Node claims; [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17 | |
| | TWIN-003 | Configure a Twin Node | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Digital Twin and DDS Quality of Service concepts | | | TWIN-003 | Configure a Twin Relationship | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], Digital Twin and F17 material; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Digital Twin and DDS Quality of Service concepts | |
| | TWIN-004 | Acquire Twin Node State | [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Digital Twin and DDS publish-subscribe concepts | | | TWIN-004 | Select a Twin Realization | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17; [[dido:03-dido-te:99-annexes:annex-b-references:dte-001|[DTE1]]], virtual and physical Twin Node concepts | |
| | TWIN-005 | Synchronize Twin Node State | [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Digital Twin and DDS Quality of Service concepts | | | TWIN-005 | Access Twin Realization State | [[dido:03-dido-te:99-annexes:annex-b-references:dte-001|[DTE1]]], Twin Node state and test-result concepts; [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], Digital Twin monitoring concepts; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Digital Twin and distributed data concepts | |
| | TWIN-006 | Simulate Twin Node Behavior | [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Appendix A, //Digital Twin// | | | TWIN-006 | Synchronize Twin Realization State | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], Digital Twin monitoring and integration concepts; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Digital Twin and DDS Quality of Service concepts | |
| | TWIN-007 | Compare Twin and Corresponding Node State and Behavior | [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Appendix A, //Digital Twin// | | | TWIN-007 | Simulate Twin Behavior | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], Digital Twin research area; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Appendix A, //Digital Twin// | |
| | TWIN-008 | Select a Twin or Corresponding Node for Test Execution | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17 | | | TWIN-008 | Compare Twin Results | [[dido:03-dido-te:99-annexes:annex-b-references:dte-001|[DTE1]]], baseline and additional-result comparison; [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], baseline and comparison testing | |
| | TWIN-009 | Control Twin Node Interaction with the Corresponding Node | [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Appendix A, //Digital Twin// | | | TWIN-010 | Control Twin Interaction | [[dido:03-dido-te:99-annexes:annex-b-references:dte-001|[DTE1]]], Twin Node modification concepts; [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], Digital Twin interaction concepts; [[dido:03-dido-te:99-annexes:annex-b-references:dte-009|[DTE9]]], Digital Twin and governance concepts | |
| | TWIN-010 | Maintain Twin Node Traceability | [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]], F17; DIDO-TE Traceability requirements | | | TWIN-011 | Maintain Twin Traceability | [[dido:03-dido-te:99-annexes:annex-b-references:dte-001|[DTE1]]]; [[dido:03-dido-te:99-annexes:annex-b-references:dte-002|[DTE2]]]; DIDO-TE Traceability requirements | |
| | |
| | ===== Requirement Disposition ===== |
| | |
| | ^ Requirement ID ^ Requirement Title ^ Disposition ^ |
| | | TWIN-009 | Validate a Twin or Test Environment | Moved to [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-10-validation-requirements:start|C.3.10 Validation Requirements]]. The identifier remains reserved for traceability and SHALL NOT be reassigned to another Twin Node requirement. | |
| |
| ===== Contents ===== | ===== Contents ===== |
| |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-001-define-a-twin-node:start|TWIN-001 — Define a Twin Node]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-001-establish-twin-identity:start|TWIN-001 — Establish Twin Identity]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-002-associate-a-twin-node-with-a-corresponding-node|TWIN-002 — Associate a Twin Node with a Corresponding Node]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-002-associate-twin-realizations:start|TWIN-002 — Associate Twin Realizations]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-003-configure-a-twin-node:start|TWIN-003 — Configure a Twin Node]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-003-configure-a-twin-relationship:start|TWIN-003 — Configure a Twin Relationship]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-004-acquire-twin-node-state:start|TWIN-004 — Acquire Twin Node State]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-004-select-a-twin-realization|TWIN-004 — Select a Twin Realization]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-005-synchronize-twin-node-state:start|TWIN-005 — Synchronize Twin Node State]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-005-acquire-twin-state:start|TWIN-005 — Access Twin Realization State]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-006-simulate-twin-node-behavior:start|TWIN-006 — Simulate Twin Node Behavior]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-006-synchronize-twin-state:start|TWIN-006 — Synchronize Twin Realization State]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-007-compare-twin-and-corresponding-node-state-and-behavior:start|TWIN-007 — Compare Twin and Corresponding Node State and Behavior]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-007-simulate-twin-behavior|TWIN-007 — Simulate Twin Behavior]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-008-select-a-twin-or-corresponding-node-for-test-execution:start|TWIN-008 — Select a Twin or Corresponding Node for Test Execution]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-008-compare-twin-results|TWIN-008 — Compare Twin Results]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-009-control-twin-node-interaction-with-the-corresponding-node:start|TWIN-009 — Control Twin Node Interaction with the Corresponding Node]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-010-control-twin-interaction:start|TWIN-010 — Control Twin Interaction]] |
| * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-010-maintain-twin-node-traceability|TWIN-010 — Maintain Twin Node Traceability]] | * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements:twin-011-maintain-twin-traceability|TWIN-011 — Maintain Twin Traceability]] |
| |
| {{indexmenu>dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements#1|js navbar nocookie maxjs#2 id#dido_te_twin_node_requirements_nav}} | {{indexmenu>dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-03-twin-node-requirements#1|js navbar nocookie maxjs#2 id#dido_te_twin_node_requirements_nav}} |
| |
| ---- | ---- |
| |
| ===== Notes for Editors ===== | ===== Notes for Editors ===== |
| |
| Twin Node requirements use the ''TWIN'' requirement prefix. | Twin Node requirements use the ''TWIN'' requirement prefix. |
| |
| TWIN-001, TWIN-003, TWIN-004, TWIN-005, TWIN-006, TWIN-007, TWIN-008, and TWIN-009 are initially modeled as non-leaf requirement groups because their subject areas are expected to contain multiple independently verifiable obligations. | The explicit links under Contents remain while the Twin Node requirement pages are being created and reviewed. After all planned requirement pages exist, you may remove the explicit links because the ''indexmenu'' automatically discovers them. |
| | |
| TWIN-002 and TWIN-010 are initially modeled as leaf requirements. Review their normative Statements for atomicity before finalizing that classification. | |
| | |
| The explicit links under Contents remain while the Twin Node requirement pages are being created and reviewed. After all planned requirement pages exist, the explicit links may be removed because the ''indexmenu'' automatically discovers them. | |
| |
| Apply the requirement identification, decomposition, source and derivation, normative-language, quality, status, and page-structure rules defined by Annex C. | Apply the requirement identification, decomposition, source and derivation, normative-language, quality, status, and page-structure rules defined by Annex C. |
| |
| Preserve stable requirement identifiers when moving or reorganizing Twin Node requirement pages. | Preserve stable requirement identifiers when moving, reorganizing, superseding, or retiring Twin Node requirements. Do not renumber TWIN-010 or TWIN-011 to eliminate the gap created by moving TWIN-009. |
| | |
| | TWIN-009 remains a reserved requirement identifier. Its validation obligation is governed under C.3.10 Validation Requirements, and the identifier SHALL NOT be reassigned to another requirement. |
| |
| Do not allocate Twin Node requirements directly to a particular DDS implementation, product, or realization within the requirement Statement. Maintain realization relationships through Traceability. | Do not allocate Twin Node requirements directly to a particular DDS implementation, product, or realization within the requirement Statement. Maintain realization relationships through Traceability. |