Until Property Pattern

Untimed version

Pattern Name and Classification
Until: Order Specification Pattern
Structured English Specification
Scope, P [holds] without interruption until S [holds].
Pattern Intent
Until has been proposed by Grunske (2008) in [1] . This pattern describes a scenario in which an event/state will eventually become true, after another event/state held continuously.
Temporal Logic Mappings
LTL Globally: $P \; \mathcal{U} \; S$
Before R: $\Diamond R \rightarrow ( (P \wedge \neg R) \; \mathcal{U} \;(S \vee R))$
After Q: $\Box (Q \rightarrow (P \; \mathcal{U}\;S)$
Between Q and R: $\Box((Q \; \wedge \; \neg R \; \wedge \Diamond R) \rightarrow ((P \wedge \neg R) \; \mathcal{U} \;(S \wedge \neg R)))$
After Q until R: $\Box ((Q \; \wedge \; (\neg R)) \rightarrow ((P \; \mathcal{U} \;S) \; \mathcal{W} \;R))$
CTL Globally: $A[P \; \mathcal{U} \;S]$
Before R: $A[A[P \; \mathcal{U} \;S] \; \mathcal{W} \;R]$
After Q: $AG(Q \rightarrow \; A[P\; \mathcal{U} \;S])$
Between Q and R: $AG((Q \; \wedge \;AG (\neg R)) \rightarrow A[A[P \; \mathcal{U} \;S] \; \mathcal{W} \; R)])$
After Q until R: $AG((Q\; \wedge \;AG (\neg R)) \rightarrow A[A[P \; \mathcal{U} \;S] \; \mathcal{W} \;R])$
Example and Known Uses
Power to a system must be available until a shutdown command is issued. (scope: global; source: satellite control system)

Time-constrained version:

Pattern Name and Classification
Time-constrained Until: Real-time Order Specification Pattern
Structured English Specification
Scope, P [holds] without interruption until S [holds] [ Time(0)]
Pattern Intent
This pattern describes a scenario in which an event/state will eventually become true within a given time bound, after another event/state held continuously.
Temporal Logic Mappings
MTL Globally: $P \; \mathcal{U}^{[t1,t2]}\;S$
Before R: $\Diamond^{[t1,\infty)} R \rightarrow ( (P \wedge \neg R) \; \mathcal{U}^{[t1,t2]}\;(S \vee R))$
After Q: $\Box (Q \rightarrow (P \; \mathcal{U}^{[t1,t2]}\;S)$
Between Q and R: $\Box((Q \; \wedge \; \neg R \; \wedge \Diamond^{[t1,\infty)} R) \rightarrow ( (P \wedge \neg R) \; \mathcal{U}^{[t1,t2]}\;(S \vee R)))$
After Q until R: $\Box ((Q \; \wedge \; \Box^{[0,t1]} (\neg R)) \rightarrow ((P \; \mathcal{U}^{[t1,t2]}\;S) \; \mathcal{W} \;R))$
TCTL Globally: $A[P \; \mathcal{U}^{[t1,t2]} \;S]$
Before R: $A[A[P \; \mathcal{U}^{[t1,t2]} \;S] \; \mathcal{W} \;R]$
After Q: $AG(Q \rightarrow \; A[P\; \mathcal{U}^{[t1,t2]} \;S])$
Between Q and R: $AG((Q \; \wedge \;AG^{[0,t1]} (\neg R)) \rightarrow A[A[P \; \mathcal{U}^{[t1,t2]} \;S] \mathcal{W} \; R)])$
After Q until R: $AG((Q\; \wedge \;AG^{[0,t1]} (\neg R)) \rightarrow A[A[P \; \mathcal{U}^{[t1,t2]} \;S] \; \mathcal{W} \;R])$
Example and Known Uses
After 30 ms of continuously operating the pump engine must be stopped. Note: the engine is connected to a piston rod which sends forward a plunger in order to deliver the insulin to the body. (scope:global; source: insulin pump).
Relationships
This pattern is the extension of the untimed version Until.

Probabilistic version:

The Until Property Pattern has been proposed by Grunske in [1] and it can be found on the ProProST webpage.


Bibliography
1. Lars Grunske Specification patterns for probabilistic quality properties. ICSE 2008: 31-40

Home page

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License