Abstract
We study the realizability problem for concurrent recursive programs: given a distributed system architecture and a sequential specification over words, find a distributed automata implementation that is equivalent to the specification. This problem is well-studied as far as finite-state processes are concerned, and it has a solution in terms of Zielonka’s Theorem. We lift Zielonka’s Theorem to the case where processes are recursive and modeled as visibly pushdown (or, equivalently, nested-word) automata. However, contrarily to the finite-state case, it is undecidable whether a specification is realizable or not. Therefore, we also consider suitable underapproximation techniques from the literature developed for multi-pushdown systems, and we show that they lead to a realizability framework with effective algorithms.
Similar content being viewed by others
Notes
In [5], pending calls or returns are possible. We can also include them without affecting any of the results, but do not do so to simplify the presentation.
Here, we rather use \(\rho (e)_p\) than \(\rho (e)\), since, strictly speaking, the latter is a tuple consisting of one state, whereas \(\Delta _{\textsf {call}}\) and \(\Delta _{\textsf {ret}}\) refer to states.
References
Atig MF, Bollig B, Habermehl P (2008) Emptiness of multi-pushdown automata is 2ETIME-complete. In: DLT’08, volume 5257 of LNCS. Springer, pp 121–133
Akshay S, Dinca I, Genest B, Stefanescu A (2013) Implementing realistic asynchronous automata. In: FSTTCS’13, volume 24 of Leibniz international proceedings in informatics. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, pp 213–224
Aiswarya C, Gastin P, Narayan Kumar K (2014) Controllers for the verification of communicating multi-pushdown systems. In: CONCUR’14, volume 8704 of LNCS. Springer, pp 297–311
Aiswarya C, Gastin P, Narayan Kumar K (2014) Verifying communicating multi-pushdown systems via split-width. In: ATVA’14, volume 8837 of LNCS. Springer, 1–17
Alur R, Madhusudan P (2009) Adding nesting structure to words. J ACM 56(3):1–43
Breveglieri L, Cherubini A, Citrini C, Crespi Reghizzi S (1996) Multi-push-down languages and grammars. Int J Found Comput Sci 7(3):253–292
Bollig B, Cyriac A, Gastin P, Zeitoun M (2014) Temporal logics for concurrent recursive programs: satisfiability and model checking. J Appl Logic 12(4):395–416
Bansal K, Demri S (2013) Model-checking bounded multi-pushdown systems. In: CSR’13, volume 7913 of LNCS. Springer, pp 405–417
Bollig B, Grindei M-L, Habermehl P (2009) Realizability of concurrent recursive programs. In: FoSSaCS’09, volume 5504 of LNCS. Springer, pp 410–424
Bollig B, Kuske D, Mennicke R (2013) The complexity of model checking multi-stack systems. In: LICS’13. IEEE Computer Society Press, pp 163–170
Baudru N, Morin R (2007) Synthesis of safe message-passing systems. In: FSTTCS’07, volume 4855 of LNCS. Springer, 277–289
Bollig B (2008) On the expressive power of 2-stack visibly pushdown automata. Log Methods Comput Sci 4(4:16):1–35
Cyriac A, Gastin P, Narayan Kumar K (2012) MSO decidability of multi-pushdown systems via split-width. In: Proceedings of CONCUR’12, volume 7454 of Lecture Notes in Computer Science. Springer, pp 547–561
Cyriac A (2014) Verification of communicating recursive programs via split-width. Ph.D. thesis, Laboratoire Spécification et Vérification, ENS Cachan
Diekert V, Rozenberg G (eds) (1995) The book of traces. World Scientific, Singapore
Genest B, Gimbert H, Muscholl A, Walukiewicz I (2010) Optimal Zielonka-type construction of deterministic asynchronous automata. In: ICALP’10, volume 6199 of LNCS. Springer, pp 52–63
Genest B, Kuske D, Muscholl A (2006) A Kleene theorem and model checking algorithms for existentially bounded communicating automata. Inf Comput 204(6):920–956
Genest B, Kuske D, Muscholl A (2007) On communicating automata with bounded channels. Fundamenta Informaticae 80(1–3):147–167
Genest B, Muscholl A (2006) Constructing exponential-size deterministic Zielonka automata. In: ICALP’06, volume 4052 of LNCS. Springer, pp 565–576
Heußner A, Leroux J, Muscholl A, Sutre G (2012) Reachability analysis of communicating pushdown systems. Log Methods Comput Sci 8(3:23):1–20
Henriksen JG, Mukund M, Narayan Kumar K, Sohoni M, Thiagarajan PS (2005) A theory of regular MSC languages. Inf Comput 202(1):1–38
Kuske D (2003) Regular sets of infinite message sequence charts. Inf Comput 187:80–109
Kuske D (2007) Weighted asynchronous cellular automata. Theor Comput Sci 374(1–3):127–148
Lohrey M, Muscholl A (2004) Bounded MSC communication. Inf Comput 189(2):160–181
La Torre S, Madhusudan P, Parlato G (2007) A robust class of context-sensitive languages. In: LICS’07. IEEE Computer Society Press, pp 161–170
La Torre S, Madhusudan P, Parlato G (2008) Context-bounded analysis of concurrent queue systems. In: Proceedings of TACAS’08, volume 4963 of LNCS. Springer, pp 299–314
La Torre S, Madhusudan P, Parlato G (2008) An infinite automaton characterization of double exponential time. In: CSL’08, volume 5213 of LNCS. Springer, 33–48
La Torre S, Napoli M (2011) Reachability of multistack pushdown systems with scope-bounded matching relations. In: CONCUR’11, volume 6901 of LNCS. Springer, pp 203–218
La Torre S, Napoli M, Parlato G (2014) Scope-bounded pushdown languages. In DLT’14, volume 8633 of LNCS. Springer, pp 116–128
La Torre S, Napoli M, Parlato G (2014) A unifying approach for multistack pushdown automata. In: MFCS’14, volume 8634 of LNCS, pages . Springer, 377–389
La Torre S, Parlato G (2012) Scope-bounded multistack pushdown systems: fixed-point, sequentialization, and tree-width. In: FSTTCS’12, volume 18 of Leibniz international proceedings in informatics. Leibniz-Zentrum für Informatik, pp 173–184
Lal A, Touili T, Kidd N, Reps TW (2008) Interprocedural analysis of concurrent programs under a context bound. In: TACAS’08, volume 4963 of LNCS. Springer, pp 282–298
Mazurkiewicz A (1977) Concurrent program schemes and their interpretations. DAIMI Rep. PB 78, Aarhus University
Mennicke R (2014) Model checking concurrent recursive programs using temporal logics. In: MFCS’14, volume 8634 of LNCS. Springer, pp 438–450
Muscholl A, Peled D (1999) Message sequence graphs and decision problems on Mazurkiewicz traces. In: MFCS’99, volume 1672 of LNCS. Springer, pp 81–91
Madhusudan P, Parlato G (2011) The tree width of auxiliary storage. In: POPL’11. ACM, pp 283–294
Muscholl A (1994) Über die Erkennbarkeit unendlicher Spuren. Ph.D. thesis, Institut für Informatik, Universität Stuttgart
Ochmański E (1995) Recognizable trace languages. In: Diekert V, Rozenberg G (eds) The book of traces, chapter 6. World Scientific, Singapore, pp 167–204
Otto F (2015) On visibly pushdown trace languages. In: SOFSEM’15, volume 8939 of Lecture Notes in Computer Science. Springer, pp 389–400
Peled D, Wilke Th, Wolper P (1998) An algorithmic approach for checking closure properties of temporal logic specifications and omega-regular languages. Theor Comput Sci 195(2):183–203
Qadeer S, Rehof J (2005) Context-bounded model checking of concurrent software. In: TACAS’05, volume 3440 of LNCS. Springer, 93–107
Stefanescu A, Esparza J, Muscholl A (2003) Synthesis of distributed algorithms using asynchronous automata. In: CONCUR’03, volume 2761 of LNCS. Springer, pp 27–41
Stefanescu A (2006) Automatic synthesis of distributed transition systems. Ph.D. thesis, University of Stuttgart
Thomas W (1990) On logical definability of trace languages. In: Proceedings of algebraic and syntactic methods in computer science (ASMICS), Report TUM-I9002, Technical University of Munich, pp 172–182
Thomas W (1997) Languages, automata and logic. In: Salomaa A, Rozenberg G (eds) Handbook of formal languages, vol 3. Springer, Berlin, pp 389–455
Zielonka W (1987) Notes on finite asynchronous automata. RAIRO Informatique Théorique et Applications 21:99–135
Acknowledgements
We are grateful to the reviewers for the careful reading and for the many pertinent suggestions, which helped to improve the presentation of the paper considerably.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bollig, B., Grindei, ML. & Habermehl, P. Realizability of concurrent recursive programs. Form Methods Syst Des 53, 339–362 (2018). https://doi.org/10.1007/s10703-017-0282-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-017-0282-y