Skip to main content
Log in

On regions and zones for event-clock automata

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

Event clock automata (\(\mathsf{ECA}\) ) are a model for timed languages that has been introduced by Alur, Fix and Henzinger as an alternative to timed automata, with better theoretical properties (for instance, \(\mathsf{ECA}\)   are determinizable while timed automata are not). In this paper, we revisit and extend the theory of \(\mathsf{ECA}\) . We first prove that no finite time abstract language equivalence exists for \(\mathsf{ECA}\) , thereby disproving a claim in the original work on \(\mathsf{ECA}\) . This means in particular that regions do not form a time abstract bisimulation. Nevertheless, we show that regions can still be used to build a finite automaton recognizing the untimed language of an \(\mathsf{ECA}\) . Then, we extend the classical notions of zones and DBMs to let them handle event clocks instead of plain clocks (as in timed automata) by introducing event zones and Event DBMs (EDBMs). We discuss algorithms to handle event zones represented as EDBMs, as well as (semi-) algorithms based on EDBMs to decide language emptiness of \(\mathsf{ECA}\) .

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. Initial locations are denoted by a small arrow pointing to the node.

  2. Accepting locations are denoted by a doubled border.

  3. In the rest of the paper, we often use \(x\ge c\) and \(x\le c\) as shorthands for \(x>c\vee x=c\) and \(x<c\vee x=c\) respectively.

  4. Remark that the term ‘timed transition system’ has been used with other meanings. In particular, in [4], timed transitions systems are actually a model that can be seen as a variant of timed automata.

  5. Remark that, although the construction and Lemma 51 are given in the case where the \(\mathsf{ECA}\)   contains no punctual guards, Theorem 7 is still valid in the general case, as removing punctuality from the guards does not change the number of states nor the number of clocks of the \(\mathsf{ECA}\) .

  6. Recall that \(x^{\pm }\) denotes \(x\) if \(x\in \mathbb {H}_{\varSigma }\), and \(-x\) if \(x\in \mathbb {P}_{\varSigma }\).

  7. Remark that \(Z'\) would not have been \( cmax \)-bounded, had we relied on the widening operator as defined for \(\mathsf{TA}\) .

  8. Ibid.

  9. Ibid.

  10. Again, this would not have been the case, had we relied on the approximation as defined for timed automaton. This case shows why we cannot approximate values up to \(4\cdot cmax \).

  11. In \(\mathsf{TA}\) , clocks are not event-clocks.

  12. Remark that in [4], the construction is given for \(\mathsf{EPA}\)  only. Adapting it to the full class of \(\mathsf{ECA}\)   is straightforward as history clocks are easily encoded in regular timed automata clocks. For the sake of completeness, we give here the construction in the general case of \(\mathsf{ECA}\) .

  13. This is without loss of generality as one can always push the negation inwards, replace each atomic constraint of the form \(\lnot (x< c)\) (resp. \(\lnot (x>c)\), \(\lnot (x=\bot )\), \(\lnot \mathsf{true}{}\)) by the equivalent atomic constraint \(x\ge c\) (\(x\le c\), \(x\ge 0\), \(x<0\)), write a guard in disjunctive normal form and introduce an edge for each disjunct.

References

  1. Alur R (1999) Timed automata. In: Proceedings of CAV’99, vol 1633. Lecture notes in computer science. Springer, Berlin, pp 8–22

  2. Alur R, Courcoubetis C, Dill D (1993) Model-checking in dense real-time. Inf Comput 104:2–34

    Article  MATH  MathSciNet  Google Scholar 

  3. Alur R, Dill D (1994) A theory of timed automata. Theor Comput Sci 126(2):183–236

    Article  MATH  MathSciNet  Google Scholar 

  4. Alur R, Fix L, Henzinger TA (1999) Event-clock automata: a determinizable class of timed automata. Theor Comput Sci 211(1–2):253–273

    Article  MATH  MathSciNet  Google Scholar 

  5. Behrmann G, David A, Larsen KG, Håkansson J, Pettersson P, Yi W, Hendriks M (2006) Uppaal 4.0. In: Proceedings of QEST’06. IEEE Computer Society, New York, pp 125–126

  6. Bellman R (1957) Dynamic programming. Princeton university press, Princeton

    MATH  Google Scholar 

  7. Bengtsson J, Griffioen WOD, Kristoffersen KJ, Larsen KG, Larsson F, Pettersson P, Yi W (2002) Automated verification of an audio-control protocol using Uppaal. J Log Algebr Program 52–53:163–181

  8. Bouyer P (2002) Modèles et algorithmes pour la vérification des systèmes temporisés. Thèse de doctorat, Laboratoire Spécification et Vérification. ENS Cachan, France

  9. Bouyer P (2002) Timed automata may cause some troubles. In Research Report LSV-02-9, LSV, ENS DE CACHAN. http://www.lsv.enscachan.fr/Publis/RAPPORTS_LSV/PS/rrlsv-2002-9.rr.ps

  10. Bouyer P (2004) Forward analysis of updatable timed automata. Formal Methods Syst Des 24(3):281–320

    Article  MATH  Google Scholar 

  11. Bouyer P, Laroussinie F, Reynier P-A (2005) Diagonal constraints in timed automata: Forward analysis of timed systems. In: Pettersson P, Yi W (eds) Formal modeling and analysis of timed systems, vol 3829. Lecture notes in computer science. Springer, Berlin, pp 112–126

  12. Bozga M, Daws C, Maler O, Olivero A, Tripakis S, Yovine S (1998) Kronos: A model-checking tool for real-time systems. In: Proceedings of CAV’98, vol 1427. Lecture notes in computer science. Springer, Berlin, pp 546–550

  13. Cerans K (1993) Decidability of bisimulation equivalences for parallel timer processes. In: Proceedings of the fourth international workshop on computer aided verification, CAV ’92, London. Springer, Berlin, pp 302–315

  14. Daws C, Tripakis S (1998) Model checking of real-time reachability properties using abstractions. In Steffen B (ed) Proceedings of TACAS’98, vol 1384. Lecture notes in computer science. Springer, Berlin, pp 313–329

  15. Daws C, Tripakis S (1998) Model checking of real-time reachability properties using abstractions. In: TACAS. Springer, Berlin, pp 313–329

  16. Di Giampaolo B, Geeraerts G, Raskin J, Sznajder N (2010) Safraless procedures for timed specifications. In: Proceedings of FORMATS’10, vol 6246. Lecture notes in computer science. Springer, Berlin, pp 2–22

  17. Diekert V, Gastin P, Petit A (1997) Removing epsilon-transitions in timed automata. In: STACS 97, 14th Annual Symposium on theoretical aspects of computer science, vol 1200. Lecture notes in computer science. Springer, Berlin, pp 583–594

  18. Dill DL (1989) Timing assumptions and verification of finite-state concurrent systems. In: Proceedings of automatic verification methods for finite state systems, vol 407. Lecture notes in computer science. Springer, Berlin, pp 197–212

  19. Dima C (1999) Kleene theorems for event-clock automata. In: Proceedings of FCT’99, volume 1684 of Lecture Notes in computer science. Springer, Berlin, pp 215–225

  20. D’Souza D, Tabareau N (2004) On timed automata with input-determined guards. In Proccedings of FORMATS/FTRTFT’04, vol 3253. Lecture notes in computer science. Springer, Berlin, pp 68–83

  21. Geeraerts G, Raskin J-F, Sznajder N (2011) Event-clock automata : from theory to practice. In: Fahrenberg U, Tripakis S (eds) Proceedings of the 9th international conference on formal modelling and analysis of timed systems (FORMATS’11), vol 6919. Lecture notes in computer science. Springer, Berlin, pp 209–224

  22. Lindahl M, Pettersson P, Yi W (1998) Formal design and analysis of a gear-box controller. In: Proceedings of the 4th workshop on tools and algorithms for the construction and analysis of systems. vol 1384 .Lecture notes in computer science. Springer, Berlin, pp 281–297

  23. Miné A (2006) The octagon abstract domain. Higher-Order Symbol Comput 19(1):31–100, 2006. http://www.di.ens.fr/~mine/publi/article-mine-HOSC06.pdf

  24. Pettersson, P, Yi W editors. Formal Modeling and Analysis of Timed Systems. In: Proceedings of the third international conference, FORMATS 2005, Uppsala, September 26–28, 2005, vol 3829. Lecture notes in computer science. Springer, Berlin

  25. Raskin J-F, Schobbens P-Y (1998) The logic of event clocks: decidability, complexity and expressiveness. Automatica 34(3):247–282

    MathSciNet  Google Scholar 

  26. Sorea M (2001) Tempo: a model-checker for event-recording automata. In: Proceedings of RT-TOOLS’01, Aalborg

  27. Tang N, Ogawa M (2009) Event-clock visibly pushdown automata. In: Proceedings of SOFSEM’09, vol 5404. Lecture notes in computer science. Springer, Berlin, pp 558–569

Download references

Acknowledgments

This work has been supported by the projects: (i) QUASIMODO (FP7- ICT-STREP-214755), Quasimodo: “Quantitative System Properties in Model-Driven-Design of Embedded”, http://www.quasimodo.aau.dk/, (ii) GASICS (ESF-EUROCORES LogiCCC), Gasics: “Games for Analysis and Synthesis of Interactive Computational Systems”, http://www.ulb.ac.be/di/gasics/, (iii) Moves: “Fundamental Issues in Modelling, Verification and Evolution of Software”, http://moves.vub.ac.be, a PAI program funded by the Federal Belgian Government and (iv) The European Union Seventh Framework Programme under Grant Agreement 601148 (Cassting), http://www.cassting-project.eu. Gilles Geeraerts has been supported by a ‘Crédit aux chercheurs’ from the Belgian FRS/F.N.R.S.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gilles Geeraerts.

Appendix 1: Event-clock automata and timed automata

Appendix 1: Event-clock automata and timed automata

As stated in the introduction, \(\mathsf{ECA}\)   have been introduced as an alternative to timed automata, for the specification of timed languages. The original work on \(\mathsf{ECA}\) [4] contains a thorough comparisons of the expressiveness of these two models. For the sake of completeness, we recall here the most salient result: each \(\mathsf{ECA}\)   can be transformed into a non-deterministic timed automaton that has the same language.

Timed automata We first recall briefly the definition of timed automaton, then present the construction.

Definition 50

([3]) A timed automaton (\(\mathsf{TA}\)  for short) is a tuple \(B=\left\langle Q, q_i, \varSigma , X, \delta , \alpha \right\rangle \), where:

  1. (1)

    \(Q\) is a finite set of locations,

  2. (2)

    \(Q_i\subseteq Q\) is a set of initial locations,

  3. (3)

    \(\varSigma \) is a finite alphabet,

  4. (4)

    \(X\) is a finite set of non-negative real-valued variables called clocks Footnote 11

  5. (5)

    \(\delta \subseteq Q\times \varSigma \times \mathsf{Constr}\left( X\right) \times 2^X\times Q\) of edges,

  6. (6)

    \(\alpha \subseteq Q\) is the set of accepting locations.

We also require that, for each \(q\in Q\), \(\sigma \in \varSigma \), \(\delta \) is defined for a finite number of \(\psi \in \mathsf{Constr}\left( X\right) \).

A valuation of a set of clocks \(X\) is a function \(v:X\rightarrow \mathbb {R}^{\ge 0}\). We denote by \({\fancyscript{V}}\left( X\right) \) the set of valuations of \(X\). For a valuation \(v\), and a time delay \(t\in \mathbb {R}^{\ge 0}\), we denote by \(v+t\) the valuation s.t. \((v+t)(x)=v(x)+t\) for all \(x\). An extended state (or simply a state) of a \(\mathsf{TA}\)  with set of locations \(Q\) and set of clocks \(X\) is a pair \((q,v)\) s.t. \(q\in Q\) and \(v\) is a valuation of the clocks in \(X\). As for \(\mathsf{ECA}\) , we define the semantics of timed automata by means of a transition system. We associate to a \(\mathsf{TA}\)  \(B=\left\langle Q, Q_i, \varSigma , X, \delta , \alpha \right\rangle \) the infinite transition system \(\mathsf{TS}_{B}=\left\langle Q^B, Q_i^B, \rightarrow , \alpha ^B\right\rangle \), where:

  1. (1)

    \(Q^B=Q\times {\fancyscript{V}}\left( X\right) \) is the set of extended states of \(B\),

  2. (2)

    \(Q_i^B=Q_i\times \{v\mid v(x)=0\,{\text { for all }}\,\;x\in X\}\),

  3. (3)

    \(\alpha ^B=\{(q,v)\mid q\in \alpha \}\), and

  4. (4)

    the transition relation \({\rightarrow }\subseteq \bigl (Q^B\times \mathbb {R}^{\ge 0}\times Q^B\bigr )\cup \bigl (Q^B\times \varSigma \times Q^B\bigr )\) is s.t.:

    1. (a)

      \(\big ((q,v),t, (q,v')\big ){\in }\rightarrow \) iff \(v'=v+t\), and

    2. (b)

      \(\big ((q,v),a,(q',v')\bigr ){\in }\rightarrow \) iff there is \((q,a,\psi ,r,q')\in \delta \) s.t. \(v\models \psi \), and \(v'=v[r:=0]\)

Intuitively, this means that, on all edges \((q,a,\psi ,r,q')\), \(\psi \) is a guard that must be satisfied by the current valuation of the variables, in order to fire the edge; and that \(r\) is a set of clock that must be reset when firing the edge. We adapt to \(\mathsf{TA}\)  the notions of run and language previously defined for \(\mathsf{ECA}\) , as expected.

From \(\mathsf{ECA}\)   to \(\mathsf{TA}\)   Let us now recall the construction of [4] to translate an \(\mathsf{ECA}\) \(A\) into a \(\mathsf{TA}\)   \(B\) that has the same accepted language.Footnote 12 In order to apply the construction, we need to slightly modify the syntax of the guards in the \(\mathsf{ECA}\) . A non-punctual event-clock constraint is an event-clock constraint where the only atomic event-clock constraints containing an equality are of the form \(x=\bot \) (thus constraints of the form \(x=c\) with \(c\in \mathbb {N}\) are disallowed). Remark that each event-clock constraint can be turned into an equivalent non-punctual one by substituting \(x\ge c\wedge x\le c\) to each \(x=c\), and \(x>c\vee x<c\) to each \(x\ne c\). For any event-clock constraint \(\psi \), we denote by \(\mathsf{PConstr}\left( \psi \right) \) (resp. \(\mathsf{HConstr}\left( \psi \right) \)) the set of all atomic event clock constraints that \((i)\) occur in \(\psi \) and \((ii)\) range over a prophecy (resp. history) clock. Let \(A=\left\langle Q^A,q_i^A,\varSigma ,C,\delta ^A,\alpha ^A\right\rangle \) be an \(\mathsf{ECA}\) . By abuse of notation, we let:

$$\begin{aligned} \mathsf{PConstr}\left( A\right)&= \big \{\overrightarrow{x_{a}}=\bot \mid a\in \varSigma \big \}\cup \bigcup _{ \begin{array}{c} \psi \,{\text { s.t. }}\,\\ (q,a,\psi ,q')\in \delta ^A \end{array} }\mathsf{PConstr}\left( \psi \right) \end{aligned}$$
(13)

That is, \(\mathsf{PConstr}\left( A\right) \) is the set of all atomic event clock constraints that appear on the edges of \(A\) and that constrain prophecy clocks, plus all the constraints of the form \(\overrightarrow{x_{a}}=\bot \). It is easy to see that:

Lemma 51

For all \(\mathsf{ECA}\) \(A\) without punctual guards, \(|\mathsf{PConstr}\left( A\right) |\le (4\times cmax +5)\times |\varSigma |\).

Proof

We follow the definition of \(\mathsf{PConstr}\left( A\right) \), given by (13). Obviously, \(|\{\overrightarrow{x_{a}}=\bot \mid a\in \varSigma \}|=|\mathbb {P}_{\varSigma }|=|\varSigma |\). Moreover, each non-punctual atomic clock constraint on a prophecy clock, and different from \(\overrightarrow{x_{a}}=\bot \) (for some \(a\in \varSigma \)) is of the form \(\overrightarrow{x_{a}}\simeq c\), with \(c\in \{0,1,\ldots , cmax \}\) and \(\simeq \in \{<,\le ,\ge ,>\}\). Hence, we conclude that:

$$\begin{aligned} |\mathsf{PConstr}\left( A\right) |&\le |\varSigma |+|\varSigma |\times ( cmax +1)\times 4\\&=(4\times cmax +5)\times |\varSigma | \end{aligned}$$

\(\square \)

We are now ready to give the construction of the \(\mathsf{TA}\)   that accepts the same language as the \(\mathsf{ECA}\) \(A\). The prophecy clocks will be encoded using non-determinism: in the \(\mathsf{TA}\) , a guess is made on the values of the prophecy clocks, that will be checked when the corresponding event occurs. We assume that all guards in \(A\) are non-punctual, and contain neither disjunctions nor negations.Footnote 13 As a result, all atomic event-clock constraints occurring in \(A\) are of one of the following forms: \(x\le c\), \(x<c\), \(x\ge c\), \(x>c\) or \(x=\bot \). Then, the corresponding \(\mathsf{TA}\)   is \(B=\left\langle Q^B, Q_i^B, \varSigma , X^B, \delta ^B, \alpha ^B\right\rangle \) where:

  1. (1)

    \(Q^B=Q^A\times 2^{\mathsf{PConstr}\left( A\right) }\times {\fancyscript{F}}(\varSigma )\), where \({\fancyscript{F}}(\varSigma )\) is the set of all Boolean functions \(f:\varSigma \mapsto \{\mathsf{true},\mathsf{false}\}\). That is, each location of \(B\) is a triple \((q, \varPhi , \mathsf{bot})\), where \(q\) is a location of \(A\), \(\varPhi \) is a set of atomic event-clock constraints on the prophecy clocks of \(A\) that need to be fulfilled and, for all letters \(a\in \varSigma \), \(\mathsf{bot}\left( a\right) \) indicates whether \(\overleftarrow{x_{a}}\) equals \(\bot \) in the original \(\mathsf{ECA}\) .

  2. (2)

    \(Q_i^B=\{(q_i,\varPhi ,f_\bot )\mid \varPhi \,{\text { contains\;only constraints\;of\;the\;form}}\,\overrightarrow{x_{a}}=\bot \}\) where for all \(a\in \varSigma \): \(f_\bot (a)=\mathsf{true}\).

  3. (3)

    \(X^B=\{z_\varphi \mid \varphi \in \mathsf{PConstr}\left( a\right) \}\cup \{x_a\mid \overleftarrow{x_{a}}\in C\}\), i.e., \(B\) contains one clock \(z_\varphi \) per atomic clock constraint \(\varphi \) on a prophecy clock of \(A\), and one clock \(x_a\) per letter of the alphabet (as we will see, \(x_a\) will be used to track the value of the corresponding history clock \(\overleftarrow{x_{a}}\) in \(A\)).

  4. (4)

    \(\delta ^B\) contains an edge \(\big ((q,\varPhi ,\mathsf{bot}), a, \psi , r, (q',\varPhi ',\mathsf{bot}')\big )\) iff there is an edge \((q,a,\chi , q')\) in \(\delta ^A\), and:

    1. (a)

      \((\overrightarrow{x_{a}}=\bot )\not \in \varPhi \),

    2. (b)

      The function \(\mathsf{bot}\) is s.t. for all \(b\in \varSigma \), \((\overleftarrow{x_{b}}\sim c)\in \mathsf{HConstr}\left( \chi \right) \) implies \(\lnot \mathsf{bot}\left( b\right) \), and \((\overleftarrow{x_{b}}=\bot )\in \mathsf{HConstr}\left( \chi \right) \) implies \(\mathsf{bot}\left( b\right) \),

    3. (c)

      The guard \(\psi \) is:

      $$\begin{aligned} \psi&= \bigwedge _{\left( \overrightarrow{x_{a}}\sim c\right) \in \varPhi } \Big (z_{(\overrightarrow{x_{a}}\sim c)}\sim c\Big )\ \wedge \ \bigwedge _{ \mathop {\mathop {\,{\text {with}}\,\;b\in \varSigma }\limits ^{\mathsf{HConstr}\left( \chi \right) }}\limits ^{\left( \overleftarrow{x_{b}}\sim c\right) \in } } \big (x_b\sim c\big ) \end{aligned}$$

      with \(\sim \in \{\le ,<,>,\ge \}\) and \(c\in \mathbb {N}\).

    4. (d)

      The reset \(r\) is:

      $$\begin{aligned} r&= \{x_a\}\cup \bigcup _{ \mathop {\,{\text {with}}\,\;b\in \varSigma }\limits ^{(\overrightarrow{x_{b}}\succeq c)\in \mathsf{PConstr}\left( \chi \right) }} \Big \{z_{(\overrightarrow{x_{b}}\succeq c)}\Big \} \cup \bigcup _{ \mathop {\,{\text {s.t. }}\,b=a\ \vee \ (\overrightarrow{x_{b}}\preceq c)\not \in \varPhi }\limits ^{(\overrightarrow{x_{b}}\preceq c)\in \mathsf{PConstr}\left( \chi \right) } } \Big \{z_{(\overrightarrow{x_{b}}\preceq c)}\Big \} \end{aligned}$$

      with \(\succeq \in \{>,\ge \}\), \(\preceq \in \{<,\le \}\) and \(c\in \mathbb {N}\).

    5. (e)

      The set \(\varPhi '\) is s.t.:

      $$\begin{aligned} \big \{(\overrightarrow{x_{b}}\simeq d)\in \varPhi \ \big |\ b\ne a\}\cup \mathsf{PConstr}\left( \chi \right)&\subseteq \varPhi ' \end{aligned}$$

      with \(\simeq \in \{\le , <,=,>,\ge \}\) and \(d\in \mathbb {N}\cup \{\bot \}\).

    6. (f)

      Finally, the function \(\mathsf{bot}'\) is s.t. for all \(b\in \varSigma \):

      $$\begin{aligned} \mathsf{bot}'(b)&= {\left\{ \begin{array}{ll} \mathsf{false}&{}\,{\text {if }}\,b=a\\ \mathsf{bot}\left( b\right) &{}\,{\text {otherwise}}\, \end{array}\right. } \end{aligned}$$
  5. (5)

    \(\alpha ^B=\alpha ^A\times \{\varPhi _\bot \}\) where \(\varPhi _\bot =\{\overrightarrow{x_{a}}=\bot \mid a\in \varSigma \}\).

To illustrate this rather technical construction, we consider the example given in Fig. 11. The \(\mathsf{ECA}\) \(A\) (top of the figure) accepts all timed words of the form \((\mathtt {b}, t_1), (\mathtt {a}, t_2)\) s.t. \(t_2-t_1\in [2,3]\). The \(\mathsf{TA}\)  \(B\) (bottom of the figure) has been obtained from \(A\) by applying the above construction. In the figure, each \(B\) state \((q,\varPhi ,\mathsf{bot})\) is drawn with \(q\) at the top, the set \(\varPhi \) in the middle and the pair of values \(\mathsf{bot}\left( \mathtt {a}\right) ,\mathsf{bot}\left( \mathtt {b}\right) \) at the bottom. On the edges, an expression of the form \(x:=0\) means that \(x\) is reset by the edge. As can be seen in this example, in each \(B\) state \((q,\varPhi ,\mathsf{bot})\), the set \(\varPhi \) contains guesses on constraints on the prophecy clocks of \(A\) that should be fulfilled—this explains the \(\subseteq \) symbol in the definition of item (4e). \(B\) can move from \((q,\varPhi ,\mathsf{bot})\) to \((q',\varPhi ',\mathsf{bot}')\), iff there is, in \(A\), a corresponding edge from \(q\) to \(q'\), s.t. the set of constraints \(\varPhi '\) is updated so that it contains all constraints ranging on prophecy clocks that appear in the guard \(\chi \) of the edge. For instance, all successors of \(q_2'\) are of the form \((q_2, \varPhi , \mathsf{bot})\) with \((\overrightarrow{x_\mathtt{a}}\le 3)\in \varPhi \), as all these successors are obtained thanks to the edge from \(q_1\) to \(q_2\), whose guard is \((\overrightarrow{x_\mathtt{a}}\le 3)\). Remark however, that \(q_2'\) has several successors, as the \(\mathsf{TA}\)   \(B\) guesses a set of constraints on the prophecy clocks that should be fulfilled. For instance, when moving from \(q_2'\) to \(q_8'\), the \(\mathsf{TA}\)   guesses that \(\overrightarrow{x_\mathtt{b}}=\bot \), i.e., that no more b’s will be read, but when going from \(q_2'\) to \(q_6'\), it guesses otherwise. In order to be able to check that the constraints in \(\varPhi \) hold, a clock \(z_\varphi \) is reset every time an edge is crossed whose guard implies that the constraint \(\varphi \) should hold. For instance, the clock \(z_{\overrightarrow{x_\mathtt{a}}\le 3}\) is reset on every outgoing edge of \(q_2'\). Then, the values of those clocks are checked when the corresponding letter is read. For instance, when going from \(q_8'\) to \(q_{14}'\), one has to check that \(z_{\overrightarrow{x_\mathtt{a}}\le 3}\le 3\), as the edge is labelled by \(\mathtt{a}\), and the constraint \(\overrightarrow{x_\mathtt{a}}\le 3\) occurs in \(q_8'\). To sum up, prophecies in the \(\mathsf{ECA}\) \(A\) are replaced by non-determinism in the \(\mathsf{TA}\)   \(B\), while remembering the constraints that have to be fulfilled in each state, and using one clock per constraint to check that it holds. History clocks are handled straightforwardly by resetting a clock \(x_a\) every time an \(a\)-labeled edge is crossed (and relying on the value of \(\mathsf{bot}(a)\) that is stored in each state to remember whether the corresponding history clock \(\overleftarrow{x_{a}}\) is equal to \(\bot \) or not).

Fig. 11
figure 11

An \(\mathsf{ECA}\) \(A\) (top) and its corresponding \(\mathsf{TA}\)   \(B\) (bottom), with \(\mathsf {L}(A)=\mathsf {L}(B)\). In \(B\), only the states that are reachable from the initial state are shown

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Geeraerts, G., Raskin, JF. & Sznajder, N. On regions and zones for event-clock automata. Form Methods Syst Des 45, 330–380 (2014). https://doi.org/10.1007/s10703-014-0212-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-014-0212-1

Keywords

Navigation