Formal Aspects of Computing

, Volume 27, Issue 5–6, pp 753–788 | Cite as

Untanglings: a novel approach to analyzing concurrent systems

  • Artem Polyvyanyy
  • Marcello La Rosa
  • Chun Ouyang
  • Arthur H. M. ter Hofstede
Original Article

Abstract

Substantial research efforts have been expended to deal with the complexity of concurrent systems that is inherent to their analysis, e.g., works that tackle the well-known state space explosion problem. Approaches differ in the classes of properties that they are able to suitably check and this is largely a result of the way they balance the trade-off between analysis time and space employed to describe a concurrent system. One interesting class of properties is concerned with behavioral characteristics. These properties are conveniently expressed in terms of computations, or runs, in concurrent systems. This article introduces the theory of untanglings that exploits a particular representation of a collection of runs in a concurrent system. It is shown that a representative untangling of a bounded concurrent system can be constructed that captures all and only the behavior of the system. Representative untanglings strike a unique balance between time and space, yet provide a single model for the convenient extraction of various behavioral properties. Performance measurements in terms of construction time and size of representative untanglings with respect to the original specifications of concurrent systems, conducted on a collection of models from practice, confirm the scalability of the approach. Finally, this article demonstrates practical benefits of using representative untanglings when checking various behavioral properties of concurrent systems.

Keywords

Concurrency Concurrent systems Analysis Untanglings Representative untanglings 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. BD90.
    Best E, Desel J (1990) Partial order behaviour and structure of Petri nets. Form Asp Comput 2(2): 123–138MATHCrossRefGoogle Scholar
  2. DE95.
    Desel J, Esparza J (1995) Free choice Petri nets. Cambridge tracts in theoretical computer science, vol 40. Cambridge University Press, CambridgeGoogle Scholar
  3. Des00.
    Desel J (2000) Validation of process models by construction of process nets. In: Business process management (BPM). LNCS, vol 1806. Springer, Berlin, pp 110–128Google Scholar
  4. EH08.
    Esparza J, Heljanko K (2008) Unfoldings: a partial-order approach to model checking. Monographs in theoretical computer science. An EATCS series. Springer, BerlinGoogle Scholar
  5. ERV02.
    Esparza J, Römer S, Vogler W (2002) An improvement of McMillan’s unfolding algorithm. Form Methods Syst Des 20(3): 285–310MATHCrossRefGoogle Scholar
  6. Fah10.
    Fahland D (2010) From Scenarios to Components. PhD thesis, Humboldt-Universität zu Berlin, Berlin, GermanyGoogle Scholar
  7. FFK+11.
    Fahland D, Favre C, Koehler J, Lohmann N, Völzer H, Wolf K (2011) Analysis on demand: Instantaneous soundness checking of industrial business process models. Data Knowl Eng 70(5): 448–466CrossRefGoogle Scholar
  8. GR83.
    Goltz U, Reisig W (1983) The non-sequential behavior of Petri nets. Inf Control (IANDC) 57(2–3): 125–147MATHMathSciNetCrossRefGoogle Scholar
  9. GW93.
    Godefroid P, Wolper P (1993) Using partial orders for the efficient verification of deadlock freedom and safety properties. Form Methods Syst Des 2(2): 149–164MATHCrossRefGoogle Scholar
  10. Hac75.
    Hack M (1975) Decidability questions for Petri nets. Outstanding dissertations in the computer sciences. Garland Publishing, New YorkGoogle Scholar
  11. Kho03.
    Khomenko V (2003) Model checking based on prefixes of Petri net unfoldings. PhD thesis, University of Newcastle upon Tyne, School of Computing Science, Newcastle upon Tyne, UKGoogle Scholar
  12. KKKV06.
    Khomenko V, Kondratyev A, Koutny M, Vogler W (2006) Merged processes: a new condensed representation of Petri net behaviour. Acta Informatica 43(5): 307–330MATHMathSciNetCrossRefGoogle Scholar
  13. KM11.
    Khomenko V, Mokhov A (2011) An algorithm for direct construction of complete merged processes. In: Petri nets. LNCS, vol 6709. Springer, Berlin, pp 89–108Google Scholar
  14. LSV98.
    Lee EA, Sangiovanni-Vincentelli AL (1998) A framework for comparing models of computation. IEEE Trans Comput Aided Des Integr Circuits Syst 17(12): 1217–1229CrossRefGoogle Scholar
  15. McM92.
    McMillan KL (1992) Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In: Computer aided verification (CAV). LNCS, vol 663. Springer, Berlin, pp 164–177Google Scholar
  16. McM95.
    McMillan KL (1995) A technique of state space search based on unfolding. Form Methods Syst Des 6(1): 45–65MATHMathSciNetCrossRefGoogle Scholar
  17. MR97.
    Melzer S, Römer S (1997) Deadlock checking using net unfoldings. In: Computer aided verification (CAV). LNCS, vol 1254. Springer, Berlin, pp 352–363Google Scholar
  18. Mur89.
    Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4): 541–580CrossRefGoogle Scholar
  19. NPW81.
    Nielsen M, Plotkin GD, Winskel G (1981) Petri nets, event structures and domains. Part I. Theor Comput Sci 13: 85–108MATHMathSciNetCrossRefGoogle Scholar
  20. Pet77.
    Petri CA (1977) Non-sequential processes. Translation of a Lecture given at the IMMD Jubilee Colloquium on “Parallelism in Computer Science”, Unversität Erlangen-Nürnberg. Translated by Philip Krause and John Low, Petri, CA, St. Augustin: Gesellschaft fnr Mathematik und Datenverarbeitung Bonn, Interner Bericht ISF-77-5Google Scholar
  21. PLtH14.
    Polyvyanyy A, La Rosa M, ter Hofstede AHM (2014) Indexing and efficient instance-based retrieval of process models using untanglings. In: Advanced information systems engineering (CAiSE). LNCS, vol 8484. Springer International Publishing, Berlin, pp 439–456Google Scholar
  22. Pnu77.
    Pnueli A (1977) The temporal logic of programs. In: annual symposium on foundations of computer science (FOCS). IEEE Computer Society, pp 46–57Google Scholar
  23. PW13.
    Polyvyanyy A, Weidlich M (2013) Towards a compendium of process technologies: the jBPT library for process model analysis. In: CAiSE forum. CEUR workshop proceedings, vol 998. CEUR-WS.org, pp 106–113Google Scholar
  24. PWC+14.
    Polyvyanyy A, Weidlich M, Conforti R, La Rosa M, ter Hofstede AHM (2014) The 4C spectrum of fundamental behavioral relations for concurrent systems. In: Petri nets. LNCS, vol 8489. Springer International Publishing, Berlin, pp 210–232Google Scholar
  25. Rac78.
    Rackoff C (1978) The covering and boundedness problems for vector addition systems. Theor Comput Sci 6(2): 223–231MATHMathSciNetCrossRefGoogle Scholar
  26. Rei13.
    Reisig W(2013) Understanding Petri nets: modeling techniques, analysis methods, case studies. Springer, BerlinGoogle Scholar
  27. RSK13.
    Rodríguez C, Schwoon S, Khomenko V. (2013) Contextual merged processes. In: Petri nets. LNCS, vol 7927. Springer, Berlin, pp 29–48Google Scholar
  28. SNW96.
    Sassone V, Nielsen M, Winskel G (1996) Models for concurrency: towards a classification. Theor Comput Sci 170(1–2): 297–348MATHMathSciNetCrossRefGoogle Scholar
  29. Tar97.
    Tarasyuk IV (1997) Equivalence notions for models of concurrent and distributed systems. PhD thesis, A.P. Ershov Institute of Informatics Systems, Siberian Division of the Russian Academy of Sciences, Novosibirsk, RussiaGoogle Scholar
  30. vdA97.
    van der Aalst WMP (1997) Verification of workflow nets. In: Petri nets. LNCS, vol 1248. Springer, Berlin, pp 407–426Google Scholar
  31. vGV87.
    van Glabbeek RJ, Vaandrager FW (1987) Petri net models for algebraic theories of concurrency. In: Parallel architectures and languages Europe (PARLE). LNCS, vol 259. Springer, Berlin, pp 224–242Google Scholar

Copyright information

© British Computer Society 2015

Authors and Affiliations

  • Artem Polyvyanyy
    • 1
  • Marcello La Rosa
    • 1
    • 2
  • Chun Ouyang
    • 1
  • Arthur H. M. ter Hofstede
    • 1
    • 3
  1. 1.Queensland University of TechnologyBrisbaneAustralia
  2. 2.NICTA Queensland LabBrisbaneAustralia
  3. 3.Eindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations