Formal Aspects of Computing

, Volume 6, Issue 6, pp 676–695

Automatizing Parametric Reasoning on Distributed Concurrent Systems

  • Paola Inverardi
  • Corrado Priami
  • Daniel Yankelevich
Formal Aspects of Computing

Abstract

There can be different views of a concurrent distributed system, depending on who observes it. The final user may just want to know how the system behaves in terms of its possible sequences of actions, while the designer may want to know what are the sequential components of a system or how are they distributed in space. In other words, there is not a widely accepted single semantic model for concurrent systems. This paper describes a parametric verification tool for process description languages. It performs a symbolic execution of processes at different levels of abstraction and verifies deadlock and reachability properties. The tool also provides facilities to check behavioural equivalences. In addition to the classical interleaving semantics, truly concurrent approaches based on the notion of causality and locality are considered. This allows us to compare the expressive power of different models within the same environment. In this respect, we have verified many of the examples given in the literature using our tool.

Keywords

Concurrent systems Specification Verification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Ace92]
    Aceto, L.: A Static View of Localities. Formal Aspects of Computing, 6(2) (1994). (A short version appeared as Rapport de Recherche 1483, INRIA, July 1991.)Google Scholar
  2. [AuB84]
    Austry, D.and Boudol, G.: Algébre de Processus et Synchronization. Theoretical Computer Science, 30(1), 91–131 (1984).CrossRefMATHMathSciNetGoogle Scholar
  3. [BBK87]
    Baeten, J., Bergstra, J.and Klop, J.: Ready-Trace Semantics for Concrete Process Algebra with the Priority Operator. Computer Journal, 30(6), 498–506 (1987).CrossRefMATHMathSciNetGoogle Scholar
  4. [BoB87]
    Bolognesi, T. and Brimksma, E.: Introduction to the ISO Specification Language LOTOS. Computer Networks and ISDN Systems, 14, 25–59 (1987).CrossRefGoogle Scholar
  5. [BeK85]
    Bergstra, J. A. and Klop, J. W.: Algebra for Communicating Processes with Abstractions. Theoretical Computer Science, 37, 77–121 (1985).CrossRefMATHMathSciNetGoogle Scholar
  6. [BCH92]
    Boudol, G., Castellani, I., Hennessy, M. and Kiehn, A.: A Theory of Processes with Localities. In: Proc. CONCUR’92, LNCS 630, Springer-Verlag, 1992, pp. 108–122.Google Scholar
  7. [B0C88]
    Boudol, G. and Castellani, I.: A Non-interleaving Semantics for CCS Based on Proved Transitions. Fundamenta Informaticae, XI(4), 433–452 (1988).MathSciNetGoogle Scholar
  8. [BRR89]
    de Bakker, J., de Roever, W. P. and Rozenberg, G.: REX School/Workshop on Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, Noordwijkerhout, LNCS 354, 1989.CrossRefGoogle Scholar
  9. [C1M92]
    Cleaveland, R. and Madelaine, E.: Automated Generation of Verification Tools. In Proc. of ERCIM Workshop on Theory and Practice in Verification, Pisa, 9–11 December (1992).Google Scholar
  10. [CPS93]
    Cleaveland, R., Parrow, J. and Steffen, B.: The Concurrency Workbench. ACM TOPLAS, 15(1), 36–72 (1993).CrossRefGoogle Scholar
  11. [DaD89]
    Darondeau, Ph. and Degano, P.: Causal Trees. In Proc. ICALP ’89, LNCS 372, Springer-Verlag, 234–248 (1989).Google Scholar
  12. [DDM87]
    Degano, P., De Nicola, R. and Montanari, U.: Observational Congruences for Concurrency Models. In Formal Description of Programming Concepts III, M. Wirsing (ed.), North-Holland, pp. 105–132 (1987).Google Scholar
  13. [DDM90]
    Degano, P., De Nicola, R. and Montanari, U.: On the Operational Semantics of Distributed Concurrent Systems. In Proc. IFIP’88, G. David, R. T. Boute and B. D. Shriver (eds), North-Holland, pp. 3–32 (1990).Google Scholar
  14. [DDM93]
    Degano, P., De Nicola, R. and Montanari, U.: Universal Axioms for Bisimulations. Theoretical Computer Science, 114, 63–91 (1993).CrossRefMATHMathSciNetGoogle Scholar
  15. [DeM87]
    Degano, P. and Montanari, U.: Concurrent Histories: A Basis for Observing Distributed Systems. J.C.S.S., 34, 422–461 (1987).MATHMathSciNetGoogle Scholar
  16. [DeP92]
    Degano, P. and Priami, C.: Proved Trees. In Proc. ICALP’92, LNCS 623, Springer-Verlag, pp. 629–640, (1992).Google Scholar
  17. [DeP93]
    Degano, P. and Priami, C.: A Compact Representation of Finite-State Processes. Submitted for publication, (1993).Google Scholar
  18. [FeM92]
    Felder, M. and Morzenti, A.: Validating Real-Time Systems by History-checking TRIO Specifications. In IEEE Proc. 14th International Conference on Software Engineering (1992).Google Scholar
  19. [Fer89]
    Fernandez, J. C.: Aldébaran: a Tool for Verification of Communicating Processes. Tech. Rep. SPECTRE cl4, LGI-IMAG Grenoble (1989).Google Scholar
  20. [FGM9]
    Ferrari, G. L., Gorrieri, R. and Montanari, U.: An Extended Expansion Theorem. In Proc. TAPSOFT’91, LNCS 494, Springer-Verlag, pp. 29–48.Google Scholar
  21. [FGM92]
    Fernandez, J. C., Garavel, H., Mounier, L., Rasse, A., Rodriguez, C. and Sifakis, J.: A Toolbox for the Verification of LOTOS Programs. In IEEE Proc. 14th International Conference on Software Engineering (1992).Google Scholar
  22. [GlG89]
    van Glabbeek, R. and Goltz, U.: Equivalence notions for concurrent systems and refinement of actions. In Proc. 14th MFCS LNCS 379, 237–248 (1989).Google Scholar
  23. [GLZ89]
    Godskesen, J. C., Larsen, K. G. and Zeeberg, M.: TAV Users Manual. Internal Report, Aalborg University Center, Denmark (1989).Google Scholar
  24. [GMM90]
    Ghezzi, C., Mandrioli, D. and Morzenti, A.: TRIO, a Logic Language for Executable Specifications of Real-Time Systems. Journal of Systems and Software 12(2), 107–123 (1990).CrossRefGoogle Scholar
  25. [Gor83]
    Goltz, U. and Reisig, W.: The Non-Sequential Behaviour of Petri Nets. Information and Computation, 57, 125–147 (1983).MATHMathSciNetGoogle Scholar
  26. [Hoa85]
    Hoare, C.: Communicating Sequential Processes. Prentice-Hall (1985).MATHGoogle Scholar
  27. [InP91]
    Inverardi, P. and Priami, C.: Evaluation of Tools for the Analysis of Communicating Systems. EATCS Bulletin, 45, 158–185 (1991).MATHGoogle Scholar
  28. [IPY93]
    Inverardi, P., Priami, C. and Yankelevich, D.: Extended Transition Systems for Parametric Bisimulation. In Proc. of ICALP’93, LNCS 700, Springer-Verlag (1993).Google Scholar
  29. [Kie91]
    Kiehn, A.: Local and Global Causes. Report Technische Universität Munchen 342/23/91 A (1991).Google Scholar
  30. [Kor91]
    Korver, H.: The Current States of Bisimulation Tools. Tech. Rep. P9101, CWI, (1991).Google Scholar
  31. [Lar90]
    Larsen, K.: Modal Specifications. LNCS 407, Springer-Verlag (1990).Google Scholar
  32. [Lin91]
    Lin, H.: PAM: A Process Algebra Manipulator. Internal Report No. 2/91, University of Sussex (1991).Google Scholar
  33. [Mad92]
    Madelaine, E.: Verification Tools from the CONCUR project. EATCS Bulletin, 47, 110–120 (1992).Google Scholar
  34. [Mil83]
    Milner, R.: Calculi for Synchrony and Asynchrony. Theoretical Computer Science, 25, 267–310 (1983).CrossRefMATHMathSciNetGoogle Scholar
  35. [Mil89]
    Milner, R.: Communication and Concurrency. Prentice-Hall (1989).MATHGoogle Scholar
  36. [Mne85]
    Milne, G. J.: CIRCAL and the Representation of Communication, Concurrency and Time. ACM TOPLAS 7(2), 270–298 (1985).CrossRefMATHGoogle Scholar
  37. [MoY92]
    Montanari, U. and Yankelevich, D.: A Parametric Approach to Localities. In Proc. ICALP’92, LNCS 623, Springer-Verlag, pp. 617–628 (1992).Google Scholar
  38. [NSY92]
    Niccolin, X., Sifakis, J. and Yovine, S.: Compiling Real Time Specifications into Extended Automata. Transaction of Software Engineering, Vol. 18, Num. 9, 794–804, (1992).CrossRefGoogle Scholar
  39. [PaT87]
    Paige, R. and Tarajan, R. E.: Three Partition Refinement Algorithms. SIAM J. Comput., 16(6), (1987).Google Scholar
  40. [Plo81]
    Plotkin, G.: A Structural Approach to Operational Semantics. Tech. Rep. DAIMI FN-19, Aarhus (1981).Google Scholar
  41. [Pnu85]
    Pnueli, A.: Linear and Branching Structures in the Semantics of Logics and Reactive Systems. In Proc. of ICALP’85, 15–32 (1985).Google Scholar
  42. [Pra86]
    Pratt, V. R.: Modelling Concurrency with Partial Orders. Int. J. Parallel Prog., 15, 33–71 (1986).CrossRefMATHMathSciNetGoogle Scholar
  43. [PrY93]
    Priami, C. and Yankelevich, D.: A Formal Paradigm for Multiview Distributed Debugging Environments. In Proc. of 1st International Workshop on Automated and Algorithmic Debugging, Linkoping (1993).Google Scholar
  44. [Rei85]
    Reisig, W.: Petri Nets — an Introduction. EATCS Monographs on Theoretical Computer Science, Vol. 4, Springer-Verlag (1985).Google Scholar
  45. [RaT88]
    Rabinovich, A. and Trakhtenbrot, B.: Nets of Processes. Fundamenta Informaticae, XI(4), 357–404 (1988).MathSciNetGoogle Scholar
  46. [Sim85]
    de Simone, R.: Higher-level Synchronizing Devices in MEIJE-SCCS. Theoretical Computer Science, 37, 245–267 (1985).CrossRefMATHMathSciNetGoogle Scholar
  47. [SiV89]
    de Simone, R. and Vergamini, D.: Aboard AUTO. Tech. Rep. Ill, INRIA, Sophia-Antipolis, 1989.Google Scholar
  48. [Tar81a]
    Tarjan, R.: A Unified Approach to Path Problems. J. ACM, 28(3), 577–593 (1981).CrossRefMATHMathSciNetGoogle Scholar
  49. [Tar81b]
    Tarjan, R.: Fast Algorithms for Solving Path Problems. J. ACM, 28(3), 594–614 (1981).CrossRefMATHMathSciNetGoogle Scholar
  50. [Win87]
    Winskel, G.: Petri Nets, Algebras, Morphisms, and Compositionality. Information and Computation, 72, 197–238 (1987).CrossRefMATHMathSciNetGoogle Scholar
  51. [Yan93]
    Yankelevich, D.: Parametric Views of Process Description Languages. PhD Thesis, Universita di Pisa, TD 23/93 (1993).Google Scholar

Copyright information

© BCS 1994

Authors and Affiliations

  • Paola Inverardi
    • 1
  • Corrado Priami
    • 2
  • Daniel Yankelevich
    • 3
  1. 1.I.E.I. - C.N.R.PisaItaly
  2. 2.Dipartimento di InformaticaUniversita di PisaPisaItaly
  3. 3.Department of Computer ScienceNC State UniversityRaleighUSA

Personalised recommendations