Skip to main content
Log in

Automatic verification of distributed systems: The process algebra approach

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

Abstract

A survey of tools for the analysis of distributed systems represented through process algebras is presented. The tools are compared with respect to a set of qualitative parameters. From this analysis, the properties which are desirable for concurrency tools are investigated. Criteria to evaluate the suitability of a tool with respect to a particular user are proposed.

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. D. Austry and G. Boudol, “Algébre de processus et synchronization,” Theoretical Computer Science, Vol. 30, No. 1, pp. 91–131, 1984.

    Google Scholar 

  2. A. Arnold, “MEC: a system for constructing and analysing transition systems,” in Proc. Work on Automatic Verification Methods for Finite State Systems, LNCS, Vol. 407, Springer-Verlag, 1990.

  3. T. Bolognesi and E. Brinksma, “Introduction to the ISO specification language LOTOS,” Computer Networks and ISDN Systems, Vol. 14, pp. 25–59, 1987.

    Google Scholar 

  4. T. Bolognesi and M. Caneve, “Squiggles—a tool for the analysis of LOTOS specifications,” in Formal Description Techniques, K. Turner (Ed.), North-Holland, pp. 201–216, 1989.

  5. G. Boudol and I. Castellani, “A non-interleaving semantics for CCS based on proved transitions,” Fundamenta Informaticae, Vol. XI, No. 4, pp. 433–452, 1988.

    Google Scholar 

  6. M.C. Browne, E.M. Clarke, and O. Grumberg, “Characterizing finite Kripke structures in propositional temporal logic,” Theoretical Computer Science, Vol. 59, pp. 115–131, 1988.

    Google Scholar 

  7. A. Boujani, S. Graf, and J. Sifakis, “A logic for the description of behaviours and properties of concurrent systems,” in Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, LNCS, Vol. 354, pp. 398–410, 1989.

  8. J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang, “Symbolic model checking: 1020 states and beyond,” Information and Computation, Vol. 98, pp. 142–170, 1992.

    Google Scholar 

  9. G. Boudol and K. Larsen, “Graphical versus logical specifications,” in CAAP'90, LNCS, Vol. 431, 1990.

  10. A. Bouali and R. de Simone, “Symbolic bisimulation minimisation,” in CAV'92, Montreal, June 29–July 1, 1992.

  11. G. Boudol, R. de Simone, V. Roy, and D. Vergamini, “Process calculi, from theory to practice: verification tools,” in Proc. Work on Automatic Verification Methods for Finite State Systems, LNCS, Vol. 407, Springer-Verlag, 1990.

  12. J.A. Bergstra and J.W. Klop, “Process algebra for synchronous communication,” Information and Control, Vol. 60, No. 1/3, pp. 109–137, 1984.

    Google Scholar 

  13. J. de Bakker, W. de Rover, and G. Rozenberg (Eds.), “Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency,” LNCS, Vol. 354, 1989.

  14. E.R. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, Vol. C- 36, No. 8, pp. 677–691, August 1986.

    Google Scholar 

  15. J.C. Bradfield and C. Stirling, “Verifying temporal properties of processes,” in Proc. CONCUR'90, LNCS, Vol. 458, 1990.

  16. A.J. Camilleri, P. Inverardi, and M. Nesi, “Combining Interaction and Automation in Process Algebra Verification,” in Proceeding 4th International Joint Conference on the Theory and Practice of Software Development TAPSOFT'91, Brighton, Lecture Notes in Computer Science, Springer-Verlag, Vol. 494, pp. 283–296, 1991.

    Google Scholar 

  17. E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite state concurrent systems using temporal logic specification,” ACM TOPLAS, Vol. 8, No. 2, pp. 244–263, 1986.

    Google Scholar 

  18. R. Cleaveland and M. Hennessy, “Testing equivalence as a bisimulation equivalence,” in Proc. of the Work. on Automatic Verification Methods for Finite-State Sys., LNCS, Vol. 407, Springer-Verlag, 1990.

  19. R. Cleaveland, S. Jain, and V. Trehan, “GCCS: a graphical language for network design,” in preparation N-C State University, 1993.

  20. R. Cleaveland, “On automatically distinguishing inequivalent processes,” in Proc. 1990 Workshop on Computer-Aided Verification (R. Kurshan and E.M. Clarke, Eds.), DIMACS Technical Report, 90-31, Vol. 2, New Jersey, 1990.

  21. R. Cleaveland, J. Parrow, and B. Steffen, “The concurrency workbench: operating instructions,” Technical Note 10, University of Edimburgh, September 1988.

  22. R. Cleaveland, J. Parrow, and B. Steffen, “The concurrency workbench: a semantics-based tool for the verification of concurrent systems,” ACM Transaction on Programming Languages and Systems, Vol. 15, No. 1, pp. 36–72, January 1993.

  23. M. Clegg and A. Valmari, “Reduced labelled transition systems save verification effort,” in Proc. CONCUR'91, LNCS, Vol. 527, Springer-Verlag, 1991.

  24. P. Degano, R.De Nicola, and U. Montanari, “Universal axioms for bisimulations,” Theoretical Computer Science, Vol. 14, pp. 63–91, 1993.

    Google Scholar 

  25. R.De Nicola, A. Fantechi, S. Gnesi, and G. Ristori, “An action based framework for verifying logical and behavioural properties of concurrent systems,” Computer Networks and ISDN Systems, Vol. 25, No. 7, pp. 761–778, February 1993.

    Google Scholar 

  26. P. Degano, R. Gorrieri, L. Zamboni, and P. Zanotti, “Truly concurrent graphical editors and interpreters for process description languages,” Internal Report, University of Pisa, 1989.

  27. R.De Nicola and M. Hennessy, “Testing equivalences for processes,” Theoretical Computer Science, Vol. 34, pp. 83–133, 1984.

    Google Scholar 

  28. R. De Nicola, P. Inverardi, and M. Nesi, “Using the axiomatic presentation of behavioural equivalences for manipulating CCS specifications”, in Proc. Work. on Automatic Verification Methods for Finite State Systems, LNCS, Vol. 407, Springer-Verlag, 1990.

  29. R. De Nicola, P. Inverardi, and M. Nesi, “Equational reasoning about LOTOS specifications: a rewriting approach,” in IEEE Proc. Sixth International Workshop on Software Specification and Design, Vol. 25–26, October 1991.

  30. P. Degano and P. Priami, “Proved trees,” in Proc. ICALP'92, LNCS, Vol. 623, pp. 629–640, 1992.

  31. A. Bianchi, S. Coluccini, P. Degano, and C. Priami, “An efficient verifier of Truly Concurrent Properties,” in PACT'95, LNCS 964, pp. 36–50, 1995.

  32. R. de Simone and D. Vergamini, “Aboard AUTO,” I.N.R.I.A. Report, 111. 1989.

  33. R. De Nicola and F. Vaandrager, “Three logics for branching bisimulations,” in Journal of ACM, Vol. 42, No. 2, pp. 458–487, 1995.

  34. E.A. Emerson and J.Y. Halpern, “‘Sometimes’ and ‘not never’ revisited: on branching time versus linear time temporal logic,” in Journal of ACM, Vol. 33. No. 1, pp. 151–178, 1986.

  35. E.A. Emerson and J. Srinivasan, “Branching time temporal logic.” in Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, de Bakker, de Roever and Rozenberg, (Eds.), LNCS, Vol. 354, pp. 123–172, 1989.

  36. R. Enders, T. Filkorn, and D. Taubner, “Generating BDDs for symbolic model checking,” in CCS, CAV'91. LNCS, Vol. 575, Springer-Verlag, 1992.

  37. K. Estenfeld, H.-A. Schneider, D. Taubner, and E. Tiden, “Computer aided verification of parallel processes,” VIS'91 Darmstadt Informatik Fachberichte, Vol. 271, pp. 208–226, 1991.

    Google Scholar 

  38. J.C. Fernandez, “Aldébaran: a tool for verification of communicating processes,” Technical Report SPECTRE c14, LGI-IMAG Grenoble, 1989.

  39. J.C. Fernandez and L. Mounier, “Aldébaran: user's manual,” 1990.

  40. J.C. Fernandez and L. Mounier, “‘On the fly’ verification of behavioural equivalences and preorders.” in Workshop on Computer-aided Verification, 1991 LNCS, Vol. 575, Springer-Verlag, 1992.

  41. J.C. Fernandez and L. Mounier, “A tool set for deciding behavioural equivalences,” in CONCUR'91, LNCS, Vol. 527, 1991.

  42. R.J. van Glabbeek and W.P. Weijland, “Branching time and abstraction in bisimulation semantics,” in Proc. IFIP 11th World Computer Congress, San Francisco, 1989.

  43. H. Garavel, “Compilation et vérification de programmes LOTOS,” Ph.D. Thesis, Université Joseph Fourier de Grenoble, 1989.

  44. H. Garavel, “Caesar reference manual.”

  45. J.C. Godskesen, K.G. Larsen, and M. Zeeberg, “TAV users manual,” Internal Report, Aalborg University Center, Denmark, 1989.

    Google Scholar 

  46. S. Graf, “A complete inference system for an algebra of regular acceptance models,” in Mathematical Foundation of Computer Science, LNCS, Vol. 233, 1986.

  47. S. Graf and B. Steffen, “Compositional minimization of finite state processes,” in Proc. CAV'90, R. Kurshan, and E.M. Clarke (Eds.), DIMACS Technical Report, 90-31, Vol. 1, New Jersey, 1990.

  48. J.F. Groote and F.W. Vaandrager, “An efficient algorithm for branching bisimulation and stuttering equivalence,” in Proc. 17th ICALP, M.S. Paterson, (Ed.), LNCS, Vol. 443, Springer-Verlag, 1990.

  49. P.P. Godefroid and P. Wolper, “Using partial orders for the efficient verification of deadlock freedom and safety properties,” in Proc. CAV'91, LNCS, Vol. 575, Springer-Verlag, 1992.

  50. M. Hennessy, “Algebraic theory of processes,” MIT Press, 1988.

  51. M. Hennessy and R. Milner, “Algebraic laws for nondeterminism and concurrency,” JACM, pp. 137–161, 1985.

  52. C.A.R. Hoare, “Communicating sequential processes,” Prentice Hall Int., London, 1985.

    Google Scholar 

  53. G. Hughes and M. Creswell, “An introduction to modal logic,” Methuen, London, 1968.

    Google Scholar 

  54. P. Inverardi, C. Priami, and D. Yankelevich, “Verifing concurrent systems in SML,” in Proc. of SIGPLAN ML Workshop, San Francisco, June 1992.

  55. P. Inverardi, C. Priami, and D. Yankelevich, “Extended transition systems for parametric bisimulation,” in Proc. of ICALP'93, LNCS, Vol. 700, 1993.

  56. P. Inverardi, C. Priami, and D. Yankelevich, “Automatizing parametric reasoning on distributed concurrent systems,” Formal Aspects of Computing, Vol. 6, pp. 676–695, 1994.

    Google Scholar 

  57. ISO—Information Processing Systems—Open Systems Interconnection—LOTOS—a formal description technique based on the temporal ordering of observational behaviour, ISO 8807, 1989.

  58. S. Jain, “VTSIM: A graphical simulator for hierarchical networks of finite-state processes,” Master's thesis, North-Carolina State University, 1993.

  59. R. Janicki and M. Koutny, “Net implementation of optimal simulations,” in Proc. 11th Int. Conf. on Application and Theory of Petri Nets, pp. 295–314, 1990.

  60. R.M. Keller, “Formal verification of parallel programs,” Communications of ACM, Vol. 7, No. 19, pp. 338–350, 1976.

    Google Scholar 

  61. H. Korver, “The current states of bisimulation tools,” Tech. Rep. P9101, CWI, 1991.

  62. D. Kozen, “Results on the propositional μ-calculus,” Theoretical Computer Science, Vol. 27, pp. 333–354, 1983.

    Google Scholar 

  63. P.C. Kanellakis and S.C. Smolka, “CCS expressions, finite state processes and three problems of equivalence,” in Proc. of the Second ACM Symposium on Principles of Distributed Computing, 1983.

  64. K.G. Larsen, “Context-dependent bisimulation between processes,” Ph.D. thesis, University of Edimburgh, Mayfield Road, Edimburgh, 1986.

    Google Scholar 

  65. K.G. Larsen, “Proof system for Hennessy-Milner logic with recursion,” in Proceedings of CAAP'88, LNCS, Vol. 299, 1988.

  66. K. Larsen, “tModal specifications,” LNCS, Vol. 407, 1990.

  67. K.G. Larsen, “Proof systems for satisfiability in Hennessy-Milner logic with recursion,” Theoretical Computer Science, Vol. 72, No. 2, pp. 265–288, 1990.

    Google Scholar 

  68. H. Lin, “PAM: A process algebra manipulator,” Internal Report No. 2/91, University of Sussex, 1991.

  69. K.G. Larsen and A. Skou, “Bisimulation through probabilistic testing,” Proceedings of the ACM Symposium on Principles of Programming Languages, 1989.

  70. K. Larsen and B. Thomsen, “A modal process logic,” in Proceedings of LICS'88.

  71. K. Larsen and L. Xinxin, “Equation solving using modal transition systems,” in Proceedings of LICS'90.

  72. G. Milne, “Circal and the representation of communication, concurrency and time,” ACM TOPLAS, Vol. 7, No. 2, 1985.

  73. G. Milne, “The formal description and verification of hardware timing,” IEEE Trans. on Computers, Vol. 40, No. 7, 1991.

  74. E. Madelaine, “Verification tools from the CONCUR project,” Bull. EATCS, Vol. 47, pp. 110–120, 1992.

    Google Scholar 

  75. K.L. McMillan, “Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits,” in Proc. CAV'92, 1992.

  76. R. Milner. “Calculi for synchrony and asynchrony,” Theoretical Computer Science, Vol. 25, 1983.

  77. R. Milner, “Communication and concurrency,” Prentice-Hall, London, 1989.

    Google Scholar 

  78. G. McCaskill and G. Milne, “Hardware description and verification using the CIRCAL-system,” Tech. Rep. HDV-24–92, University of Strathclyde, Glasgow, 1992.

    Google Scholar 

  79. G. McCaskill and G. Milne, “Sequential circuits analysis with a BDD based process algebra system,” Tech. Rep. HDV-25–93, University of Strathclyde, Glasgow, 1993.

    Google Scholar 

  80. J.M. Morley, “Tactics for state space reduction on the concurrency workbench,” LFCS Report Series, University of Edinburgh, February 1990.

  81. Z. Manna and A. Pnueli, “The anchored version of the temporal framework,” in Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, LNCS, Vol. 354, 1989.

  82. J. Malhotra, S.A. Smolka, A. Giacalone, and R. Shapiro, “Winston, a tool for hierarchical design and simulation of concurrent systems,” in Proc. of the Workshop on Specification and Verification of Concurrent Systems, University of Stirling, Scotland, 1988.

    Google Scholar 

  83. E. Madeleine, R. De Simone, and D. Vergamini, “Ecrins a proof laboratory for process calculi—user manual,” INRIA, Vol. 20, October 1989.

  84. S. Mauw and G.J. Veltink, “An introduction to PSF d ,” in Proc. International Joint Conference on Theory and Practice of Software Development, TAPSOFT'89, LNCS, Vol. 352, pp. 272–285, Springer-Verlag, 1989.

  85. S. Mauw and G.J. Veltink, “A tool interface language for PSF,” Report P8912, Programming Research Group, University of Amsterdam, 1989.

  86. E. Madeleine and D. Vergamini, “Finiteness conditions and structural construction of automata for all process algebras,” in Proc. Workshop on Computer-Aided Verification, R. Kurshan and E.M. Clarke (Eds.), DIMACS Technical Report, 90-31, Vol. 1, New Jersey, 1990.

  87. S. Mauw and G.J. Veltink, “A process specification formalism,” Fundamenta Informaticae XIII, pp. 85–139, 1990.

  88. M. Nesi, “Mechanizing a Proof by Induction of Process Algebra Specifications in Higher Order Logic,” in Proceedings 3rd Workshop on Computer Aided Verification, Lecture Notes in Computer Science, Springer-Verlag, Vol. 575, pp. 288–298, 1992.

  89. M. Nesi, “Formalizing a Modal Logic for CCS in the HOL Theorem Prover,” in Proceedings 1992 International Workshop on Higher Order Logic Theorem Proving and Its Applications, L.J.M. Claesen and M.J.C. Gordon (Eds.), IFIP Transactions A-20, North-Holland, pp. 279–294, 1992.

  90. M. Nesi, “Value-Passing CCS in HOL,” in Proceedings 1993 International Meeting on Higher Order Logic Theorem Proving and Its Applications, Lecture Notes in Computer Science, Springer-Verlag, Vol. 859, 1994.

  91. S. Mauw and G.J. Veltink, “A proof assistant for PSF,” in Proc. Workshop on Computer Aided Verification, LNCS, Vol. 575, 1992.

  92. D. Park, “Concurrency and automata on infinite sequences,” in Proceedings 5th GI Conf., LNCS, Vol. 104, Springer-Verlag, pp. 167–183, 1981.

  93. J. Parrow, “Submodule construction as equation solving in CCS,” in Proc. of the Foundations of Software Technology and Theoretical Computer Science, LNCS, Vol. 287, Springer-Verlag, 1989.

  94. D.K. Probst and H.F. Li, “Using partial order semantics to avoid the state explosion problem in asynchronous systems,” in Proc. CAV'90.

  95. R. Paige and R.E. Tarajan, “Three partition refinement algorithms,” SIAM J. Comput., Vol. 16, No. 6, 1987.

  96. V. Roy and R. De Simone, “An AUTOGRAPH primer,” INRIA, Technical Report, Vol. 112, 1989.

  97. C. Rodriguez, “Spécification et validation de systèmes en XESAR,” Ph.D. Thesis, Institut National Polytechnique de Grenoble, 1988.

  98. C. Stirling, “An introduction to modal and temporal logics for CCS,” in Concurrency: Theory, Language, and Architecture, A Yonezawa and T. Ito, (Eds.), LNCS, Vol. 491, pp. 2–20, Springer-Verlag, 1990.

  99. R. Tarjan, “A unified approach to path problems,” J. ACM, Vol. 28, No. 3, pp. 577–593, 1981.

    Google Scholar 

  100. R. Tarjan, “Fast algorithms for solving path problems,” J. ACM, Vol. 28, No. 3, pp. 594–614, 1981.

    Google Scholar 

  101. V. Trehan, “VTVIEW: a graphical editor for hierarchical networks of finite-state processes,” Master's thesis, North-Carolina State University, 1992.

  102. G.J. Veltink, “From PSF to TIL,” Report P9009, Programming Research Group, University of Amsterdam, 1990.

  103. D. Vergamini, “Verification of distributed systems: an experiment,” in Formal Properties of Finite Automata and Applications, LNCS, Vol. 386, Springer-Verlag, 1990.

  104. G. Winskel, “Synchronization tree,” in 10th ICALP, J. Diaz (Ed.), LNCS, Vol. 154, 1983.

  105. H. Zuidweg, “Verification by abstraction and bisimulation,” in Proc. of Workshop on Automatic Verification Methods for Finite State Systems, LNCS, Vol. 407, Springer-Verlag, 1990.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Inverardi, P., Priami, C. Automatic verification of distributed systems: The process algebra approach. Form Method Syst Des 8, 7–38 (1996). https://doi.org/10.1007/BF00121261

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00121261

Keywords

Navigation