Skip to main content
Log in

Realizability of concurrent recursive programs

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

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.

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

Similar content being viewed by others

Notes

  1. 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.

  2. 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

  1. 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

  2. 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

  3. 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

  4. 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

  5. Alur R, Madhusudan P (2009) Adding nesting structure to words. J ACM 56(3):1–43

    Article  MathSciNet  Google Scholar 

  6. 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

    Article  Google Scholar 

  7. 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

    Article  MathSciNet  Google Scholar 

  8. Bansal K, Demri S (2013) Model-checking bounded multi-pushdown systems. In: CSR’13, volume 7913 of LNCS. Springer, pp 405–417

  9. Bollig B, Grindei M-L, Habermehl P (2009) Realizability of concurrent recursive programs. In: FoSSaCS’09, volume 5504 of LNCS. Springer, pp 410–424

  10. 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

  11. Baudru N, Morin R (2007) Synthesis of safe message-passing systems. In: FSTTCS’07, volume 4855 of LNCS. Springer, 277–289

  12. Bollig B (2008) On the expressive power of 2-stack visibly pushdown automata. Log Methods Comput Sci 4(4:16):1–35

    MathSciNet  MATH  Google Scholar 

  13. 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

  14. Cyriac A (2014) Verification of communicating recursive programs via split-width. Ph.D. thesis, Laboratoire Spécification et Vérification, ENS Cachan

  15. Diekert V, Rozenberg G (eds) (1995) The book of traces. World Scientific, Singapore

    Google Scholar 

  16. 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

  17. 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

    Article  MathSciNet  Google Scholar 

  18. Genest B, Kuske D, Muscholl A (2007) On communicating automata with bounded channels. Fundamenta Informaticae 80(1–3):147–167

    MathSciNet  MATH  Google Scholar 

  19. Genest B, Muscholl A (2006) Constructing exponential-size deterministic Zielonka automata. In: ICALP’06, volume 4052 of LNCS. Springer, pp 565–576

  20. 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

    MathSciNet  MATH  Google Scholar 

  21. Henriksen JG, Mukund M, Narayan Kumar K, Sohoni M, Thiagarajan PS (2005) A theory of regular MSC languages. Inf Comput 202(1):1–38

    Article  MathSciNet  Google Scholar 

  22. Kuske D (2003) Regular sets of infinite message sequence charts. Inf Comput 187:80–109

    Article  MathSciNet  Google Scholar 

  23. Kuske D (2007) Weighted asynchronous cellular automata. Theor Comput Sci 374(1–3):127–148

    Article  MathSciNet  Google Scholar 

  24. Lohrey M, Muscholl A (2004) Bounded MSC communication. Inf Comput 189(2):160–181

    Article  MathSciNet  Google Scholar 

  25. 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

  26. 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

  27. 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

  28. 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

  29. La Torre S, Napoli M, Parlato G (2014) Scope-bounded pushdown languages. In DLT’14, volume 8633 of LNCS. Springer, pp 116–128

  30. 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

  31. 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

  32. 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

  33. Mazurkiewicz A (1977) Concurrent program schemes and their interpretations. DAIMI Rep. PB 78, Aarhus University

  34. Mennicke R (2014) Model checking concurrent recursive programs using temporal logics. In: MFCS’14, volume 8634 of LNCS. Springer, pp 438–450

  35. 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

  36. Madhusudan P, Parlato G (2011) The tree width of auxiliary storage. In: POPL’11. ACM, pp 283–294

    Article  Google Scholar 

  37. Muscholl A (1994) Über die Erkennbarkeit unendlicher Spuren. Ph.D. thesis, Institut für Informatik, Universität Stuttgart

  38. 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

    Chapter  Google Scholar 

  39. Otto F (2015) On visibly pushdown trace languages. In: SOFSEM’15, volume 8939 of Lecture Notes in Computer Science. Springer, pp 389–400

  40. 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

    Article  Google Scholar 

  41. Qadeer S, Rehof J (2005) Context-bounded model checking of concurrent software. In: TACAS’05, volume 3440 of LNCS. Springer, 93–107

  42. 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

  43. Stefanescu A (2006) Automatic synthesis of distributed transition systems. Ph.D. thesis, University of Stuttgart

  44. 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

  45. Thomas W (1997) Languages, automata and logic. In: Salomaa A, Rozenberg G (eds) Handbook of formal languages, vol 3. Springer, Berlin, pp 389–455

    Chapter  Google Scholar 

  46. Zielonka W (1987) Notes on finite asynchronous automata. RAIRO Informatique Théorique et Applications 21:99–135

    Article  MathSciNet  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Benedikt Bollig.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-017-0282-y

Keywords

Navigation