dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005j-emulate-recovery-behaviour

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005j-emulate-recovery-behaviour [2026/08/18 12:34] – removed - external edit (Unknown date) 127.0.0.1dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005j-emulate-recovery-behaviour [2026/08/18 12:34] (current) – ↷ Links adapted because of a move operation nick_dido
Line 1: Line 1:
 +====== ENV-005j — Emulate Recovery Behaviour ======
  
 +[[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:start|Go to ENV-005 — Emulate Distributed Systems]]
 +
 +===== Statement =====
 +
 +The [[dido:99_annexes:annex-b-terms-and-definitions:d:dido-te|DIDO-TE]] SHALL emulate the recovery behaviour specified by the applicable [[dido:99_annexes:annex-b-terms-and-definitions:t:test_definition|Test Definition]].
 +
 +===== Derived From =====
 +
 +  * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:start|ENV-005 — Emulate Distributed Systems]]
 +  * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005b-emulate-participating-nodes|ENV-005b — Emulate Participating Nodes]]
 +  * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005f-emulate-node-failures|ENV-005f — Emulate Node Failures]]
 +  * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005g-emulate-communication-failures|ENV-005g — Emulate Communication Failures]]
 +  * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005h-emulate-network-partitions|ENV-005h — Emulate Network Partitions]]
 +  * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-01-test-environment-requirements:env-005-emulate-distributed-systems:env-005i-emulate-membership-and-topology-changes|ENV-005i — Emulate Membership and Topology Changes]]
 +  * [[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 =====
 +
 +Recovery behaviour determines how a distributed system returns to an acceptable operational state following a failure, isolation event, resource constraint, membership change, topology change, or other disruption.
 +
 +Relevant behaviour includes failure detection, restart, reconnection, failover, reconfiguration, state restoration, replay, resynchronisation, reconciliation, reintegration, leadership selection, quorum restoration, backlog processing, and return to service.
 +
 +Recovery does not necessarily restore the exact pre-disruption state. The applicable Test Definition identifies the required recovery objective, acceptable resulting state, permitted data loss or duplication, timing criteria, consistency criteria, and completion conditions.
 +
 +Controlled recovery emulation permits repeatable assessment of recovery sequences and their effects on participating [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Nodes]], communication paths, state, data, and services.
 +
 +===== Applies To =====
 +
 +  * [[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:t:test_object|Test Object]]
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]]
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_resource|Test Resource]]
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration|Configuration]]
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:c:constraint|Constraint]]
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]
 +
 +===== Verification =====
 +
 +Verification confirms that:
 +
 +  * The applicable Test Definition identifies each recovery behaviour subject to emulation.
 +  * Each specified recovery behaviour has a unique identity.
 +  * The Test Definition identifies the disruption, failure, or changed condition from which recovery begins.
 +  * The Test Definition identifies each Node, Test Resource, communication path, service, state, or data set participating in the recovery.
 +  * The Test Definition specifies the required pre-disruption state, disrupted state, and acceptable recovered state.
 +  * The Test Definition specifies the recovery trigger, activation condition, sequence, scope, timing criteria, and completion criteria.
 +  * The Test Definition specifies the applicable restart, reconnection, failover, reconfiguration, restoration, replay, resynchronisation, reconciliation, reintegration, and return-to-service behaviour.
 +  * The Test Definition specifies the permitted loss, duplication, reordering, inconsistency, or unavailability during recovery.
 +  * The Test Definition specifies the required post-recovery membership, topology, configuration, service availability, and data state.
 +  * The DIDO-TE confirms the required disrupted state before activating the recovery behaviour.
 +  * The DIDO-TE activates each recovery action under its specified conditions.
 +  * The DIDO-TE performs recovery actions in the specified order.
 +  * The DIDO-TE records the planned and actual start and completion times for each recovery action.
 +  * The DIDO-TE observes participating Nodes, communication paths, services, state transitions, and data reconciliation throughout recovery.
 +  * The DIDO-TE determines whether the recovery reaches the specified completion criteria.
 +  * The DIDO-TE detects a recovery action that does not occur, occurs in the wrong order, exceeds its timing criteria, produces an unacceptable state, or remains incomplete.
 +  * The DIDO-TE distinguishes specified recovery behaviour from an unintended environmental intervention.
 +  * The DIDO-TE records recovery identities, triggers, actions, sequences, state transitions, timing measurements, reconciliation outcomes, resulting states, and detected deviations as [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]].
 +  * The DIDO-TE maintains [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] among each recovery behaviour, originating disruption, affected Nodes and resources, Test Definition, Test Execution, Evidence, and [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Results]].
 +  * Missing, incomplete, incorrectly sequenced, untimely, uncontrolled, unobserved, unsupported, or untraceable mandatory recovery behaviour constitutes nonconformance with this requirement.
 +
 +Verification includes:
 +
 +  * Inspection of the recovery behaviours specified by the Test Definition
 +  * Inspection of recovery identities, triggers, affected elements, actions, sequences, timing criteria, and completion criteria
 +  * Comparison of the specified pre-disruption, disrupted, and recovered states
 +  * Observation of recovery following a Node failure
 +  * Observation of recovery following a communication failure or network partition
 +  * Observation of recovery following a resource constraint or membership change, as applicable
 +  * Testing of restart, reconnection, failover, state restoration, replay, resynchronisation, reconciliation, or reintegration, as applicable
 +  * Confirmation that recovery actions occur in the specified order
 +  * Measurement of recovery timing against the specified criteria
 +  * Confirmation that the recovered state satisfies the specified availability, consistency, membership, topology, configuration, and data criteria
 +  * Confirmation that the DIDO-TE detects an incomplete, incorrectly sequenced, untimely, or otherwise unacceptable recovery
 +  * Inspection of recovery Evidence and Traceability records
 +  * Confirmation that each mandatory recovery deviation produces a nonconformance result
 +
 +===== Referenced By =====
 +
 +{{backlinks>.}}
 +
 +===== Related Architecture Sections =====
 +
 +  * Add links to the architecture sections governing failure detection, recovery control, restart, failover, state restoration, reconciliation, reintegration, service continuity, Evidence, 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:
 +
 +<code dokuwiki>
 +{{section>dido:03-dido-te:99-annexes:annex-c-requirements:02-test-environment-requirements:env-005-emulate-distributed-systems:env-005j-emulate-recovery-behaviour#Statement&noheader&nofooter&noeditbtn}}
 +</code>
 +
 +----
 +
 +<WRAP centeralign>
 +© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.
 +</WRAP>