Skip to main content
Log in

Untanglings: a novel approach to analyzing concurrent systems

  • Original Article
  • Published:
Formal Aspects of Computing

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.

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.

Similar content being viewed by others

References

  1. Best E, Desel J (1990) Partial order behaviour and structure of Petri nets. Form Asp Comput 2(2): 123–138

    Article  MATH  Google Scholar 

  2. Desel J, Esparza J (1995) Free choice Petri nets. Cambridge tracts in theoretical computer science, vol 40. Cambridge University Press, Cambridge

  3. Desel J (2000) Validation of process models by construction of process nets. In: Business process management (BPM). LNCS, vol 1806. Springer, Berlin, pp 110–128

  4. Esparza J, Heljanko K (2008) Unfoldings: a partial-order approach to model checking. Monographs in theoretical computer science. An EATCS series. Springer, Berlin

  5. Esparza J, Römer S, Vogler W (2002) An improvement of McMillan’s unfolding algorithm. Form Methods Syst Des 20(3): 285–310

    Article  MATH  Google Scholar 

  6. Fahland D (2010) From Scenarios to Components. PhD thesis, Humboldt-Universität zu Berlin, Berlin, Germany

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

    Article  Google Scholar 

  8. Goltz U, Reisig W (1983) The non-sequential behavior of Petri nets. Inf Control (IANDC) 57(2–3): 125–147

    Article  MATH  MathSciNet  Google Scholar 

  9. 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–164

    Article  MATH  Google Scholar 

  10. Hack M (1975) Decidability questions for Petri nets. Outstanding dissertations in the computer sciences. Garland Publishing, New York

  11. 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, UK

  12. Khomenko V, Kondratyev A, Koutny M, Vogler W (2006) Merged processes: a new condensed representation of Petri net behaviour. Acta Informatica 43(5): 307–330

    Article  MATH  MathSciNet  Google Scholar 

  13. Khomenko V, Mokhov A (2011) An algorithm for direct construction of complete merged processes. In: Petri nets. LNCS, vol 6709. Springer, Berlin, pp 89–108

  14. Lee EA, Sangiovanni-Vincentelli AL (1998) A framework for comparing models of computation. IEEE Trans Comput Aided Des Integr Circuits Syst 17(12): 1217–1229

    Article  Google Scholar 

  15. 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–177

  16. McMillan KL (1995) A technique of state space search based on unfolding. Form Methods Syst Des 6(1): 45–65

    Article  MATH  MathSciNet  Google Scholar 

  17. Melzer S, Römer S (1997) Deadlock checking using net unfoldings. In: Computer aided verification (CAV). LNCS, vol 1254. Springer, Berlin, pp 352–363

  18. Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4): 541–580

    Article  Google Scholar 

  19. Nielsen M, Plotkin GD, Winskel G (1981) Petri nets, event structures and domains. Part I. Theor Comput Sci 13: 85–108

    Article  MATH  MathSciNet  Google Scholar 

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

  21. 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–456

  22. Pnueli A (1977) The temporal logic of programs. In: annual symposium on foundations of computer science (FOCS). IEEE Computer Society, pp 46–57

  23. 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–113

  24. 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–232

  25. Rackoff C (1978) The covering and boundedness problems for vector addition systems. Theor Comput Sci 6(2): 223–231

    Article  MATH  MathSciNet  Google Scholar 

  26. Reisig W(2013) Understanding Petri nets: modeling techniques, analysis methods, case studies. Springer, Berlin

  27. Rodríguez C, Schwoon S, Khomenko V. (2013) Contextual merged processes. In: Petri nets. LNCS, vol 7927. Springer, Berlin, pp 29–48

  28. Sassone V, Nielsen M, Winskel G (1996) Models for concurrency: towards a classification. Theor Comput Sci 170(1–2): 297–348

    Article  MATH  MathSciNet  Google Scholar 

  29. 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, Russia

  30. van der Aalst WMP (1997) Verification of workflow nets. In: Petri nets. LNCS, vol 1248. Springer, Berlin, pp 407–426

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Artem Polyvyanyy.

Additional information

Jim Woodcock

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Polyvyanyy, A., La Rosa, M., Ouyang, C. et al. Untanglings: a novel approach to analyzing concurrent systems. Form Asp Comp 27, 753–788 (2015). https://doi.org/10.1007/s00165-014-0329-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-014-0329-4

Keywords

Navigation