FMOODS 2013, FORTE 2013: Formal Techniques for Distributed Systems pp 225-241 | Cite as
Asynchronously Communicating Visibly Pushdown Systems
Abstract
We introduce an automata-based formal model suitable for specifying, modeling, analyzing, and verifying asynchronous task-based and message-passing programs. Our model consists of visibly pushdown automata communicating over unbounded reliable point-to-point first-in-first-out queues. Such a combination unifies two branches of research, one focused on task-based models, and the other on models of message-passing programs. Our model generalizes previously proposed models that have decidable reachability in several ways. Unlike task-based models of asynchronous programs, our model allows sending and receiving of messages even when stacks are not empty, without imposing restrictions on the number of context-switches or communication topology. Our model also generalizes the well-known communicating finite-state machines with recognizable channel property allowing (1) individual components to be visibly pushdown automata, which are more suitable for modeling (possibly recursive) programs, (2) the set of words (i.e., languages) of messages on queues to form a visibly pushdown language, which permits modeling of remote procedure calls and simple forms of counting, and (3) the relations formed by tuples of such languages to be synchronized, which permits modeling of complex interactions among processes. In spite of these generalizations, we prove that the composite configuration and control-state reachability are still decidable for our model.
Keywords
Model Check Tree Automaton Reachability Problem Communication Topology FIFO QueueReferences
- 1.Abdulla, P.A., Jonsson, B., Nilsson, M., Saksena, M.: A survey of regular model checking. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 35–48. Springer, Heidelberg (2004)CrossRefGoogle Scholar
- 2.Alur, R., Madhusudan, P.: Visibly pushdown languages. In: Annual ACM Symp. on Theory of Computing (STOC), pp. 202–211 (2004)Google Scholar
- 3.Babić, D., Rakamarić, Z.: Asynchronously communicating visibly pushdown systems. Technical Report UCB/EECS-2011-108, University of California, Berkeley (October 2011)Google Scholar
- 4.Ball, T., Majumdar, R., Millstein, T., Rajamani, S.K.: Automatic predicate abstraction of C programs. In: Conf. on Programming Language Design and Implementation (PLDI), pp. 203–213 (2001)Google Scholar
- 5.Basu, S., Bultan, T., Ouederni, M.: Synchronizability for verification of asynchronously communicating systems. In: Kuncak, V., Rybalchenko, A. (eds.) VMCAI 2012. LNCS, vol. 7148, pp. 56–71. Springer, Heidelberg (2012)CrossRefGoogle Scholar
- 6.Boigelot, B., Godefroid, P., Willems, B., Wolper, P.: The power of QDDs. In: Van Hentenryck, P. (ed.) SAS 1997. LNCS, vol. 1302, pp. 172–186. Springer, Heidelberg (1997)CrossRefGoogle Scholar
- 7.Bouajjani, A., Habermehl, P., Rogalewicz, A., Vojnar, T.: Abstract regular tree model checking. Electronic Notes in Theoretical Computer Science 149, 37–48 (2006)MathSciNetCrossRefGoogle Scholar
- 8.Bouajjani, A., Habermehl, P., Vojnar, T.: Abstract regular model checking. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 372–386. Springer, Heidelberg (2004)CrossRefGoogle Scholar
- 9.Bouajjani, A., Jonsson, B., Nilsson, M., Touili, T.: Regular model checking. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 403–418. Springer, Heidelberg (2000)CrossRefGoogle Scholar
- 10.Brand, D., Zafiropulo, P.: On communicating finite-state machines. Journal of ACM 30, 323–342 (1983)MathSciNetMATHCrossRefGoogle Scholar
- 11.Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications (2007), http://tata.gforge.inria.fr/
- 12.Eilenberg, S., Elgot, C.C., Shepherdson, J.C.: Sets recognized by n-tape automata. Journal of Algebra 13, 447–464 (1969)MathSciNetMATHCrossRefGoogle Scholar
- 13.Frougny, C., Sakarovitch, J.: Synchronized rational relations of finite and infinite words. Theoretical Computer Science 108, 45–82 (1993)MathSciNetMATHCrossRefGoogle Scholar
- 14.Ganty, P., Majumdar, R.: Algorithmic verification of asynchronous programs. Computing Research Repository (CoRR), abs/1011.0551 (2010)Google Scholar
- 15.Gold, E.M.: Language identication in the limit. Info. and Control 10(5), 447–474 (1967)MATHCrossRefGoogle Scholar
- 16.Graf, S., Saïdi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)CrossRefGoogle Scholar
- 17.Harju, T., Karhumäki, J.: The equivalence problem of multitape finite automata. Theoretical Computer Science 78, 347–355 (1991)MathSciNetMATHCrossRefGoogle Scholar
- 18.Hill, J.L., Szewczyk, R., Woo, A., Hollar, S., Culler, D.E., Pister, K.S.J.: System architecture directions for networked sensors. In: Intl. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 93–104 (2000)Google Scholar
- 19.Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F.: The Click modular router. ACM Transactions on Computer Systems 18(3), 263–297 (2000)CrossRefGoogle Scholar
- 20.La Torre, S., Madhusudan, P., Parlato, G.: Context-bounded analysis of concurrent queue systems. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 299–314. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 21.Pachl, J.K.: Reachability problems for communicating finite state machines. Technical Report CS-82-12, Department of Computer Science, University of Waterloo (1982)Google Scholar
- 22.Pachl, J.K.: Protocol description and analysis based on a state transition model with channel expressions. In: Intl. Conf. on Protocol Specification, Testing and Verification (PSTV), pp. 207–219 (1987)Google Scholar
- 23.Pai, V.S., Druschel, P., Zwaenepoel, W.: Flash: An efficient and portable Web server. In: USENIX Annual Technical Conference, pp. 199–212 (1999)Google Scholar
- 24.Qadeer, S., Rehof, J.: Context-bounded model checking of concurrent software. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 93–107. Springer, Heidelberg (2005)CrossRefGoogle Scholar
- 25.Rabin, M.O., Scott, D.: Finite automata and their decision problems. IBM Journal of Research and Development 3, 114–125 (1959)MathSciNetCrossRefGoogle Scholar
- 26.Ramalingam, G.: Context-sensitive synchronization-sensitive analysis is undecidable. ACM Transactions on Programming Languages and Systems 22, 416–430 (2000)CrossRefGoogle Scholar
- 27.Raskin, J.-F., Servais, F.: Visibly pushdown transducers. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp. 386–397. Springer, Heidelberg (2008)CrossRefGoogle Scholar
- 28.Sen, K., Viswanathan, M.: Model checking multithreaded programs with asynchronous atomic methods. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 300–314. Springer, Heidelberg (2006)CrossRefGoogle Scholar
- 29.Thomas, W.: On logical definability of trace languages. In: ASMICS Workshop, Technical University of Munich, Report TUM-I9002, pp. 172–182 (1990)Google Scholar
- 30.Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Learning to verify safety properties. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 274–289. Springer, Heidelberg (2004)CrossRefGoogle Scholar