Abstract
As an extension of Timed Automata (TAs), Updatable Timed Automata (UTAs) proposed by Bouyer et al. have the ability to update clocks in a more elaborate way than simply reset them to zero. The reachability of general UTAs is undecidable, by regarding a pair of updatable clocks as counters updatable with incrementation and decrementation operations. This paper investigates the model of subclass of UTAs by restricting the number of updateable clocks. It is shown that the reachability of UTAs with one updatable clock (UTA1s) under diagonal-free constraints is decidable. The decidability is proved by treating a region of a UTA1 as an unbounded digiword, and encoding sets of digiwords that are accepted by a pushdown system where regions are generated on-the-fly on the stack.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126, 183–235 (1994)
Bouyer, P., Dufourd, C., Fleury, E., Petit, A.: Are timed automata updatable? In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (2000)
Bouyer, P., Dufourd, C., Fleury, É., Petit, A.: Expressiveness of updatable timed automata. In: Nielsen, M., Rovan, B. (eds.) MFCS 2000. LNCS, vol. 1893, pp. 232–242. Springer, Heidelberg (2000)
Bouyer, P., Dufourd, C., Fleury, E., Petit, A.: Updatable timed automata. Theor. Comput. Sci. 321, 291–345 (2004)
Schwoon, S.: Model-checking pushdown system. Ph.D. thesis, Technical University of Munich (2000)
Ouaknine, J., Worrell, J.: On the language inclusion problem for timed automata: closing a decidability gap. In: Proceedings of the 19th IEEE Symposium on Logic in Computer Science (LICS’04), IEEE Computer Society, pp. 54–63 (2004)
Abdulla, P.A., Jonsson, B.: Verifying Networks of Timed Processes (Extended Abstract). In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, p. 298. Springer, Heidelberg (1998)
Abdulla, P., Jonsson, B.: Model checking of systems with many identical time processes. Theor. Comput. Sci. 290, 241–264 (2003)
Li, G., Cai, X., Ogawa, M., Yuen, S.: Nested timed automata. In: Braberman, V., Fribourg, L. (eds.) FORMATS 2013. LNCS, vol. 8053, pp. 168–182. Springer, Heidelberg (2013)
Li, G., Ogawa, M., Yuen, S.: Nested timed automata with frozen clocks. In: Sankaranarayanan, S., Vicario, E. (eds.) FORMATS 2015. LNCS, vol. 9268, pp. 189–205. Springer, Heidelberg (2015)
Choffrut, C., Goldwurm, M.: Timed automata with periodic clock constraints. J. Automata, Lang. Comb. 5, 371–404 (2000)
Demichelis, F., Zielonka, W.: Controlled timed automata. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 455–469. Springer, Heidelberg (1998)
Trivedi, A., Wojtczak, D.: Recursive timed automata. In: Bouajjani, A., Chin, W.-N. (eds.) ATVA 2010. LNCS, vol. 6252, pp. 306–324. Springer, Heidelberg (2010)
Wen, Y., Li, G., Yuen, S.: An over-approximation forward analysis for nested timed automata. In: Liu, S., Duan, Z. (eds.) SOFL+MSVL 2014. LNCS, vol. 8979, pp. 62–80. Springer, Heidelberg (2015)
Minsky, M.: Computation: Finite and Infinite Machines. Prentice-Hall, Upper Saddle River (1967)
Bouyer, P.: Forward analysis of updatable timed automata. Formal Methods in System Design 24, 281–320 (2004)
Fang, B., Li, G., Fang, L., Xiang, J.: A refined algorithm for reachability analysis of updatable timed automata. In: Proceedings of the 1st IEEE International Workshop on Software Engineering and Knowledge Management (SEKM 2015 @ QRS 2015), IEEE Computer Society, pp. 230–236 (2015)
Acknowledgements
This work is supported by the NSFC-JSPS bilateral joint research project (61511140100), the National Natural Science Foundation of China (No. 61472240, 91318301, 61261130589), and JSPS KAKENHI Grant-in-Aid for Scientific Research(B) (15H02684, 25280023) and Challenging Exploratory Research (26540026).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A A Proof of Lemma 1
A A Proof of Lemma 1
Proof
Let \(\varrho =(q,\nu )\). Then \(\llbracket \varrho \rrbracket = \langle (q, digi(\nu )), w \rangle \), where \(w=\bullet ^k \perp \) for some k.
For preservation part, By case analysis of \(\varrho \rightarrow \varrho '\).
-
1.
Time Progress:\(\varrho \xrightarrow {t}\varrho '\). By the digiword’s region-like property, we have \(digi(\nu ) \Rightarrow ^* digi(\nu +t)\). Proceed with two subcases:
-
(a)
If no stack operations involved (i.e. \(\nu (c) + t \le n\)), then we have \(\llbracket \varrho \rrbracket = \langle (q, digi(\nu )), w \rangle \hookrightarrow ^* \llbracket \varrho '\rrbracket = \langle (q, digi(\nu +t)), w \rangle \) by applying the first transition rule of time progress rules finite times. Note that in this subcase, \(w=\perp \).
-
(b)
If \(\nu (c)+t > n\), then we have \(\llbracket \varrho \rrbracket = \langle (q, digi(\nu )), w \rangle \hookrightarrow ^* \llbracket \varrho '\rrbracket = \langle (q, digi(\nu +t)), w' \rangle \) by applying the first time progress rule finite times (maybe zero times if \(\nu (c)\ge {}n\)) and then applying the second time progress rule finite times.
-
(a)
-
2.
Local:\(\varrho =(p, \nu )\xrightarrow {\epsilon }\varrho '=(q, \nu )\). Then with the Local transition of PDS, \(\llbracket \varrho \rrbracket =\langle (p, digi(\nu )), w \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, digi(\nu )), w \rangle \).
-
3.
Test: \(\varrho =(p, \nu )\xrightarrow {x \in I?}\varrho '=(q, \nu )\). Then with the Test transition of PDS, \(\llbracket \varrho \rrbracket =\langle (p, digi(\nu )), w \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, digi(\nu )), w \rangle \), since \(\exists (x, \mathtt{r}_i) \in Y_j \in digi(\nu )\) such that \(\mathtt{r}_i \subseteq I\), where \(digi(\nu ) = Y_1 Y_2 \cdots Y_j \cdots Y_m\).
-
4.
Assignment: \(\varrho =(p, \nu ) \xrightarrow {x \leftarrow I} \varrho '=(q,\nu [x\leftarrow d])\), where \(d \in I\). We proceed with 2 cases:
-
(a)
If \(x \ne c\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), w \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, digi(\nu [x\leftarrow {}d])), w \rangle \) by applying the first assignment rule of PDS \(\mathcal {P}\): \(\langle (p,\bar{Y}), \epsilon \rangle \hookrightarrow \langle (q,insert(delete(\bar{Y},x),(x, \mathtt{r}_i))), \epsilon \rangle \), where \(\bar{Y}=digi(\nu )\) and \(d \in \mathtt{r}_i\).
-
(b)
Otherwise, \(x = c\), proceed with two subcases, \(d<=n\) and \(d > n\).
-
\(\mathbf{d <= n}\): If \(w=\bullet ^k \perp \) for \(k>0\), we first need to pop all symbols of \(\bullet \) out of stack, by repeatedly applying the second assignment rule of PDS k times, having \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), \bullet ^k \perp \rangle \hookrightarrow ^* \kappa = \langle (p, digi(\nu )), \perp \rangle \), otherwise define \(\kappa = \llbracket \varrho \rrbracket \) since the stack already has no symbols of \(\bullet \). Then by applying the third and fourth assignment rule, we have \( \kappa \hookrightarrow \kappa ' = \langle (p', digi(\nu )), \perp \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, digi(\nu [x\leftarrow {}d])), \perp \rangle \).
-
\(\mathbf{d > n}\): If \(w=\bullet ^k \perp \) for \(k>0\), we first need to pop all symbols of \(\bullet \) out of stack, by repeatedly applying the second assignment rule of PDS k times, having \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), \bullet ^k \perp \rangle \hookrightarrow ^* \kappa = \langle (p, digi(\nu )), \perp \rangle \), otherwise define \(\kappa = \llbracket \varrho \rrbracket \), since the stack already has no symbols of \(\bullet \). Next, we have \(\kappa \hookrightarrow \kappa ' = \langle (p', digi(\nu )), \perp \rangle \) by the third assignment rule. Then, by repeatedly applying the fifth assignment rule of \(\mathcal {P}\) until we have \(k=2\times {}floor(d-n) + ceiling(frac(d))\) symbols of \(\bullet \) in stack, we have \(\kappa ' \hookrightarrow ^* \kappa '' = \langle (p', digi(\nu )), \bullet ^k \perp \rangle \). Finally, by applying the last assignment rule of mathcal P, we have \(\kappa '' \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, digi(\nu [c \leftarrow d]), \bullet ^k \perp ) \rangle \).
-
-
(a)
-
5.
Increment: \(\varrho =(p, \nu ) \xrightarrow {c := c + 1} \varrho '=(q, \nu [c \leftarrow \nu (c)+1])\). We proceed with 3 subcases:
-
(a)
If \(\nu (c) \le n-1\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), w \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, increase(digi(\nu ),c)), w \rangle = \langle (q, digi(\nu [c\leftarrow {}\nu (c) + 1])), w \rangle \) by applying the first transition increment rule of PDS \(\mathcal {P}\).
-
(b)
If \(n-1 < \nu (c) < n\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), w \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, increase(digi(\nu ),c)), \bullet {}w \rangle = \langle (q, digi(\nu [c\leftarrow {}\nu (c) + 1])), \bullet {}w \rangle \) by applying the second transition increment rule of PDS \(\mathcal {P}\).
-
(c)
If \(\nu (c) \ge n\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), w \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, increase(digi(\nu ),c)), \bullet {} \bullet {}w \rangle = \langle (q, digi(\nu [c\leftarrow {}\nu (c) + 1])), \bullet {}\bullet {}w \rangle \) by applying the third transition increment rule of PDS \(\mathcal {P}\).
-
(a)
-
6.
Decrement: \(\varrho =(p, \nu ) \xrightarrow {c := c - 1} \varrho '=(q, \nu [c \leftarrow \nu (c)-1])\). Note that only when \(\nu (c) \ge 1\), can this transition happen. We proceed with 4 subcases:
-
(a)
If \(\nu (c) > n + 1\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), \bullet \bullet \bullet w' \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, digi(\nu )), \bullet w' \rangle = \langle (q, digi(\nu [c\leftarrow {}\nu (c) - 1])), \bullet w' \rangle \) by applying the first transition decrement rule of PDS \(\mathcal {P}\).
-
(b)
If \(\nu (c) = n + 1\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), \bullet \bullet \perp \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, decrease(digi(\nu ),c,1)), \perp \rangle = \langle (q, digi(\nu [c\leftarrow {}\nu (c) - 1])), \perp \rangle \) by applying the second transition decrement rule of PDS \(\mathcal {P}\).
-
(c)
If \(n < \nu (c) < n + 1\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), \bullet \perp \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, increase(digi(\nu ),c,2)), \perp \rangle = \langle (q, digi(\nu [c\leftarrow {}\nu (c) - 1])), \perp \rangle \) by applying the third transition decrement rule of PDS \(\mathcal {P}\).
-
(d)
If \(1 \le \nu (c) \le n\), then we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), \perp \rangle \hookrightarrow \llbracket \varrho ' \rrbracket = \langle (q, increase(digi(\nu ),c,2)), \perp \rangle = \langle (q, digi(\nu [c\leftarrow {}\nu (c) - 1])), \perp \rangle \) by applying the fourth transition decrement rule of PDS \(\mathcal {P}\).
-
(a)
For reflection part, by induction on the steps of \(\hookrightarrow ^*\).
Base step: Consider the case of \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \):
-
1.
Time Progress. Obviously, \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \) by one of two time progress rules of PDS \(\mathcal {P}\). Since digiwords have the region-like property, \(digi(\nu ) \Rightarrow \bar{Y}\) implies that there exists a clock valuation \(\nu ' \in Val(X\cup \{c\})\) such that \(\nu '=\nu +t\) and \(\nu ' \in [\bar{Y}]\) for a real number t(more precisely, \(0 < t < 1\)). Proceed with two cases:
-
(a)
If \(\nu (c) < n\), then \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \) by using the first time progress rule of PDS \(\mathcal {P}\). In such case, we have \(\kappa =\langle (p, \bar{Y}, \perp ) \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho =(p, \nu ) \xrightarrow {t} \varrho '=(p, \nu ')\).
-
(b)
If \(\nu (c) \ge n\), then \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \) by using the second time progress rule of PDS \(\mathcal {P}\). In such case, we have \(\kappa = \langle (p, \bar{Y}), \bullet w \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho =(p, \nu ) \xrightarrow {t} \varrho '=(p, \nu ')\).
-
(a)
-
2.
Local. If \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \) for \(p \xrightarrow {\epsilon } q\) being a transition in \(\mathcal {A}\), then \(\kappa = \langle (q, digi(\nu )), w \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho '=(q,\nu )\).
-
3.
Test. Similar with the case for Local.
-
4.
Assignment. We only need to proceed with the first three cases, the other cases can not happen since the configuration is a encoded configuration(i.e. \(\llbracket \varrho \rrbracket \)).
-
(a)
If \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \) by applying the first assignment transition rule of PDS \(\mathcal {P}\), then \(\kappa \) is a encoded configuration, since we have \(\llbracket \varrho \rrbracket = \langle (p, digi(\nu )), w\rangle \hookrightarrow \kappa =\llbracket \varrho ' \rrbracket = \langle (q,insert(delete(digi(\nu ),x),(x, \mathtt{r}_i))), w\rangle \), where \(\varrho =(p, \nu ) \xrightarrow {x \leftarrow I} \varrho '=(q, \nu [x \leftarrow d])\) for \(d \in \mathtt{r}_i \in I\).
-
(b)
If \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \) by applying the second assignment transition rule of PDS \(\mathcal {P}\), then the clock involved is c and \(\kappa \) may not be a encoded configuration. However, by applying the same rules finite times and then third assignment rule, \(\kappa \hookrightarrow ^* \kappa _1 =\langle (p, digi(\nu )), \perp \rangle \hookrightarrow \kappa _2 = \langle (p', digi(\nu )), \perp \rangle \), and then if \(\mathtt{r}_i \in I\) for \(i \le 2n\), we have \(\kappa _2 \hookrightarrow \llbracket \varrho ' \rrbracket =\langle (q, insert(delete(digi(\nu ), c), (c, \mathtt{r}_i)), \perp \rangle \), by applying the fourth assignment rule, otherwise, we have \(\kappa _2 \hookrightarrow ^* \kappa _3 = \langle (p', digi(\nu )), \bullet ^k \perp \rangle \hookrightarrow \llbracket \varrho ' \rrbracket =\langle (q, insert(delete(digi(\nu ), c), (c, \mathtt{r}_i)), \bullet ^k \perp \rangle \) by applying finite times of fifth assignment rule first and then the last assignment rule.
-
(c)
If \(\llbracket \varrho \rrbracket \hookrightarrow \kappa \) by applying the second assignment transition rule of PDS \(\mathcal {P}\), the proof is similar to the above case.
-
(a)
-
5.
Increment. We proceed with three cases:
-
(a)
If it takes the first increment transition rule, then we can infer that \(\nu (c) <= n - 1\). Thus we have \(\llbracket \varrho \rrbracket \hookrightarrow \kappa = \langle (q, increase(digi(\nu ),c)), w \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho \xrightarrow {c := c + 1} \varrho '\).
-
(b)
If it takes the second increment transition rule, then we can infer that \(n-1< \nu (c) < n\). Then we have \(\llbracket \varrho \rrbracket \hookrightarrow \kappa = \langle (q, increase(digi(\nu ),c)), \bullet w \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho \xrightarrow {c := c + 1} \varrho '\).
-
(c)
If it takes the third increment transition rule, then we can infer that \(\nu (c) \ge n\). Then we have \(\llbracket \varrho \rrbracket \hookrightarrow \kappa = \langle (q, increase(digi(\nu ),c)), \bullet \bullet w \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho \xrightarrow {c := c + 1} \varrho '\).
-
(a)
-
6.
Decrement. We proceed with four cases:
-
(a)
If it takes the first decrement transition rule, then we can infer that \(\nu (c) > n + 1\). Then we have \(\llbracket \varrho \rrbracket = \langle (q, digi(\nu )), \bullet \bullet \bullet w' \rangle \hookrightarrow \kappa = \langle (q, digi(\nu )), \bullet w' \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho \xrightarrow {c := c - 1} \varrho '\). Note that \(digi(\nu ) = digi(\nu [\nu (c)\leftarrow \nu (c)-1])\), since \(\nu (c) > n + 1\).
-
(b)
If it takes the second decrement transition rule, then we can infer that \(\nu (c) = n + 1\). Then we have \(\llbracket \varrho \rrbracket = \langle (q, digi(\nu )), \bullet \bullet \perp \rangle \hookrightarrow \kappa = \langle (q,decrease(digi(\nu ),c,1)), \perp \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho \xrightarrow {c := c - 1} \varrho '=(q, \nu ')\) and \(\nu '(c)=n\).
-
(c)
If it takes the third decrement transition rule, then we can infer that \(n < \nu (c) < n + 1\). Then we have \(\llbracket \varrho \rrbracket = \langle (q, digi(\nu )), \bullet \perp \rangle \hookrightarrow \kappa = \langle (q,decrease(digi(\nu ),c,2)), \perp \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho \xrightarrow {c := c - 1} \varrho '=(q, \nu ')\) and \(n-1<\nu '(c)<n\).
-
(d)
If it takes the fourth decrement transition rule, then we can infer that \(1 <= \nu (c) <= n\). Then we have \(\llbracket \varrho \rrbracket = \langle (q, digi(\nu )), \perp \rangle \hookrightarrow \kappa = \langle (q,decrease(digi(\nu ),c,2)), \perp \rangle = \llbracket \varrho ' \rrbracket \), where \(\varrho \xrightarrow {c := c - 1} \varrho '=(q, \nu ')\).
-
(a)
Induction step: Assume \(\llbracket \varrho \rrbracket \hookrightarrow ^* \kappa ' \hookrightarrow \kappa \). We proceed with two cases:
-
1.
\(\kappa '\) is an encoded configuration, and by induction hypothesis \(\llbracket \varrho \rrbracket \hookrightarrow ^* \kappa '= \llbracket \varrho ' \rrbracket \). Then the proof is similar to the base step.
-
2.
\(\kappa '\) is not an encoded configuration. Note that for our encoding, we have encoded configurations except for the second, third and fifth assignment rule. Here, we give a proof for the fifth assignment rule. The other cases are similar. Assume \(\kappa '=\langle (p', \bar{Y}), w \rangle \) is obtained by applying the fifth assignment rule, we have \(\kappa ' \hookrightarrow \kappa = \langle (q, digi(\nu ')), w \rangle = \llbracket \varrho ' \rrbracket = \llbracket (q, \nu ') \rrbracket \) by applying the last assignment rule, where \(\exists \nu \in [\bar{Y}]\) such that \(\nu '=\nu [c\leftarrow d]\) for \(d \in \mathtt{r}_{2n+1}\). Finally, put together \(\varrho \rightarrow ^* \varrho '\).
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Wen, Y., Li, G., Yuen, S. (2016). On Reachability Analysis of Updatable Timed Automata with One Updatable Clock. In: Liu, S., Duan, Z. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2015. Lecture Notes in Computer Science(), vol 9559. Springer, Cham. https://doi.org/10.1007/978-3-319-31220-0_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-31220-0_11
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-31219-4
Online ISBN: 978-3-319-31220-0
eBook Packages: Computer ScienceComputer Science (R0)