Universality Property Pattern

Untimed version

This pattern has been proposed in [1].

Pattern Name and Classification
Universality : Occurrence Specification Pattern
Structured English Specification
Scope, it is always the case that P [holds]. (see the English grammar).
Pattern Intent
This pattern describes a portion of a system's execution that is free of certain events or states.
Temporal Logic Mappings
LTL Globally: $\Box (P)$
Before R: $\Diamond R \rightarrow (P \; \mathcal{U} \; R)$
After Q: $\Box (Q \rightarrow \Box (P))$
Between Q and R: $\Box ((Q \wedge \neg R \wedge \Diamond R) \rightarrow (P \; \mathcal{U} \; R))$
After Q until R: $\Box (Q \wedge \neg R \rightarrow (P \; \mathcal{W} \; R))$
CTL Globally: $AG(P)$
Before R: $A[(P \vee AG(\neg R)) \; \mathcal{W} \; R]$
After Q: $AG(Q \rightarrow AG(P))$
Between Q and R: $AG(Q \wedge \neg R \rightarrow A[(P \vee AG(\neg R)) \; \mathcal{W} \; R])$
After Q until R: $AG(Q \wedge \neg R \rightarrow A[P \; \mathcal{W} \; R])$
Additional notes
The Universality Property Pattern has been proposed by Dwyer in [1]. The original version that does not contain time-constraints can be found on Untimed version.

Time-constrained version

Pattern Name and Classification
Time-constrained Universality: Real-time Occurrence Specification Pattern
Structured English Specification
Scope, it is always the case that P [holds] [ Time(0)]. (see the English grammar).
Pattern Intent
This pattern describe a portion of a system's execution which contains only states that have a desired property within a given timebound.
Temporal Logic Mappings
MTL Globally: $\Box^{[t1,t2]}\;(P)$
Before R: $\Diamond^{[t1,\infty)} R \rightarrow ((P \; \; \mathcal{U}^{[t1,t2]} \; R) \vee (\Box^{[t1,t2]} (P)))$
After Q: $\Box (Q \rightarrow \Box^{[t1,t2]}\;(P))$
Between Q and R: $\Box((Q \; \wedge \; \Box^{[0,t1]} (\neg R) \; \wedge \Diamond^{[t1,\infty)} R) \rightarrow ((P \; \; \mathcal{U}^{[t1,t2]} \; R) \vee (\Box^{[t1,t2]} (P)))$
After Q until R: $\Box ((Q \; \wedge \; \Box^{[0,t1]} (\neg R)) \rightarrow (P \;\mathcal{W}^{[t1,t2]} \;R))$
TCTL Globally: $AG\;^{[t1,t2]}\;(P)$
Before R: $A(((P \;\vee \;AG( \neg R)) \;\mathcal{U}^{[t1,t2]} \;R) \vee (G^{[t1,t2]}(P \wedge \neg R) \;\mathcal{U}^{[t2,\infty)} \;R ))$
After Q: $AG(Q \rightarrow AG\;^{[t1,t2]}\;(P))$
Between Q and R: $AG((Q \; \wedge \; AG^{[0,t1]} (\neg R)) \rightarrow A(((P \;\vee \;AG( \neg R)) \;\mathcal{U}^{[t1,t2]} \;R) \vee (G^{[t1,t2]}(P \wedge \neg R) \;\mathcal{U}^{[t2,\infty)} \;R )))$
After Q until R: $AG((Q\; \wedge \;AG^{[0,t1]} (\neg R)) \rightarrow A(P \; \mathcal{W}^{[t1,t2]} \;R))$
Example and Known Uses
The water pump is continuously working in the timebound of 10 units of time.
Additional notes
This pattern is an extension of the pattern proposed in [1]. This pattern is closely related to the Time-constrained Absence and Time-constrained Existence patterns. Universality of a state can be viewed as absence of its negation. For event-based formalisms, we look for the existence of the positive event and absence of the negating event.

Probabilistic version

Pattern Name and Classification
Probabilistic Universality: Probabilistic Occurrence Specification Pattern
Structured English Specification
Scope, it is always the case that P [holds] [ Time(0)] [Probability]. (see the English grammar).
Pattern Intent
This pattern describes a portion of a system's execution universally contains certain events or states with a defined probability.
Temporal Logic Mappings
PLTL Globally: $[\Box^{[t1,t2]}\;(P)]_{\bowtie p}$
Before R: $[\Diamond^{[t1,\infty)} R \rightarrow ((P \; \; \mathcal{U}^{[t1,t2]} \; R) \vee (\Box^{[t1,t2]} (P)))]_{\bowtie p}$
After Q: $[\Box (Q \rightarrow \Box^{[t1,t2]}\;(P))]_{\bowtie p}$
Between Q and R: $[\Box((Q \; \wedge \; \Box^{[0,t1]} (\neg R) \; \wedge \Diamond^{[t1,\infty)} R) \rightarrow \Diamond^{[t1,\infty)} R \rightarrow ((P \; \; \mathcal{U}^{[t1,t2]} \; R) \vee (\Box^{[t1,t2]} (P)))]_{\bowtie p}$
After Q until R: $[\Box ((Q \; \wedge \; \Box^{[0,t1]} (\neg R)) \rightarrow (P \;\mathcal{W}^{[t1,t2]} \;R))]_{\bowtie p}$
CSL Globally: $\mathcal{P}_{\bowtie p}(\Box^{[t1,t2]}\;(P))$
Before R: $\mathcal{P}_{\bowtie p} (\Diamond^{[t1,\infty)} R \rightarrow ((P \; \; \mathcal{U}^{[t1,t2]} \; R) \vee \mathcal{P}_{=1}(\Box^{[t1,t2]} (P))))$
After Q: $\mathcal{P}_{=1} (\Box (Q \rightarrow \mathcal{P}_{\bowtie p} (\Box\;^{[t1,t2]}\;(P))))$
Between Q and R: $\mathcal{P}_{=1} (\Box ((Q \; \wedge \; \mathcal{P}_{=1} \Box^{[0,t1]} (\neg R)) \rightarrow \mathcal{P}_{\bowtie p} (\Diamond^{[t1,\infty)} R \rightarrow ((P \; \; \mathcal{U}^{[t1,t2]} \; R) \vee \; \mathcal{P}_{=1}(\Box^{[t1,t2]} (P)))))$
After Q until R: $\mathcal{P}_{=1} (\Box ((Q\; \wedge \;\mathcal{P}_{=1}\Box^{[0,t1]} (\neg R)) \rightarrow \mathcal{P}_{\bowtie p}(P \; \mathcal{W}^{[t1,t2]} \;R)))$
Example and Known Uses
The probability that the water pump is continuously working for 10 units of time without interruption is 0.95.
Additional notes
This pattern is an extension of the pattern proposed in [1]. This pattern is closely related to the Probabilistic Absence and Probabilistic Existence patterns. Universality of a state can be viewed as absence of its negation. For event-based formalisms, we look for the existence of the positive event and absence of the negating event.

Bibliography
1. Matthew B. Dwyer; George S. Avrunin; James C. Corbett, Patterns in Property Specifications for Finite-State Verification. ICSE 1999. pp. 411-420.

Home page

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