====== Timeout ====== [[dido:99_annexes:annex-b-terms-and-definitions:start|Go up to Terms and Definitions]] ===== Discussion ===== A Timeout is a condition that occurs when a defined [[dido:99_annexes:annex-b-terms-and-definitions:t:timing_condition|Timing Condition]] expires before a required event, response, operation, or activity completes. A Timeout can apply while awaiting: * An event * A response * A message * A state transition * Completion of an operation * Completion of an activity * Completion of a [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] * Completion of a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_step|Test Step]] * Completion of a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_executable|Test Executable]] * Completion of [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] * Availability of a [[dido:99_annexes:annex-b-terms-and-definitions:r:resource|Resource]] * Availability of a [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] * Satisfaction of another defined condition A Timeout can identify: * The subject of the Timeout * The awaited event, response, operation, or activity * The applicable Timing Condition * The starting event * The starting time * The maximum permitted duration * The expiration time * The time basis * The clock source * The unit of measure * The required precision * The permitted timing tolerance * The condition observed at expiration * The resulting progression * The resulting [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] * The resulting [[dido:99_annexes:annex-b-terms-and-definitions:v:verdict|Verdict]] * The applicable [[dido:99_annexes:annex-b-terms-and-definitions:g:governance_policy|Governance Policies]] * The supporting [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] * Its [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] * Its [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] A Timeout can cause: * A retry * A repeated observation * Alternative progression * Error-handling progression * Cancellation of an operation * Termination of a Sequence Step * Termination of Test Execution * Creation of a Test Result * Assignment of a Verdict * Recording of an error * Notification of an [[dido:99_annexes:annex-b-terms-and-definitions:a:actor|Actor]] * Another response established by the applicable Test Definition or Governance Policy ===== Definition ===== //condition that occurs when a defined [[dido:99_annexes:annex-b-terms-and-definitions:t:timing_condition|Timing Condition]] expires before a required event, response, operation, or activity completes// ===== Source ===== Adapted from: * [[dido:99_annexes:annex-b-terms-and-definitions:t:timing_condition|Timing Condition]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] * [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] * DIDO Reference Implementation Conceptual Model * DIDO-TE draft Requirements Register This definition treats Timeout as the condition resulting from expiration of an applicable Timing Condition. It separates the Timeout from the duration, timer, and response associated with that condition. ===== Note ===== A Timeout differs from a [[dido:99_annexes:annex-b-terms-and-definitions:t:timing_condition|Timing Condition]]: * A Timing Condition establishes or characterizes a temporal constraint * A Timeout occurs when that temporal constraint expires before the required event, response, operation, or activity completes A Timeout differs from the maximum permitted duration: * The maximum permitted duration establishes the temporal limit * A Timeout is the condition that occurs when the limit expires without the required completion A Timeout differs from a timer: * A timer measures or tracks elapsed time * A Timeout is the condition produced when the applicable time limit expires A Timeout differs from a failure: * A Timeout records that a required event, response, operation, or activity did not complete within the defined time * A failure identifies an inability to satisfy an applicable requirement or condition A Timeout can constitute a failure when the applicable [[dido:99_annexes:annex-b-terms-and-definitions:a:acceptance_criteria|Acceptance Criteria]] classify expiration of the Timing Condition as a failure. A Timeout does not necessarily identify the cause of the delayed or missing completion. Possible causes can include: * An unavailable Node * An unavailable Resource * Communication delay * Network failure * Processing delay * Deadlock * An invalid request * An external dependency * An incorrect Timing Condition * An interrupted operation * Another unobserved condition A Timeout does not automatically determine the applicable Verdict. The Test Definition, Acceptance Criteria, or Governance Policy determines whether the Timeout produces: * PASS * FAIL * ERROR * INCONCLUSIVE * Another permitted Verdict A Timeout used to control progression within a [[dido:99_annexes:annex-b-terms-and-definitions:t:test_sequence|Test Sequence]] should identify the [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] that follows the Timeout. A reproducible [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Run]] should identify: * The applicable Timing Condition * The maximum permitted duration * The starting event * The clock source * The permitted tolerance * Whether the Timeout occurred * The progression caused by the Timeout * The resulting Test Result * The resulting Verdict * The supporting Evidence ===== Example ===== A [[dido:99_annexes:annex-b-terms-and-definitions:s:sequence_step|Sequence Step]] submits a proposed transaction to a Node and waits for a response. The applicable Timing Condition establishes: * Submission of the complete transaction as the starting event * Receipt of the complete response as the completion event * Five seconds as the maximum permitted duration * A monotonic clock as the clock source * Milliseconds as the measurement unit * Ten milliseconds as the permitted timing tolerance The Node does not return a complete response before the maximum permitted duration expires. A Timeout occurs. The [[dido:99_annexes:annex-b-terms-and-definitions:t:test_run|Test Run]] records: * The Sequence Step * The transaction-submission time * The expiration time * The applicable Timing Condition * The Timeout * The absence of a complete response * The error-handling [[dido:99_annexes:annex-b-terms-and-definitions:e:execution_path|Execution Path]] * The resulting Test Result * The assigned Verdict * The supporting Evidence The Test Definition directs Test Execution to an error-handling Sequence Step after the Timeout. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.