Skip to main content

Abstract

Process algebra is a formal tool for the specification and the verification of concurrent and distributed systems. It supports compositional modeling through a set of operators able to express concepts like sequential composition, alternative composition, and parallel composition of action-based descriptions. It also supports mathematical reasoning via a two-level semantics, which formalizes the behavior of a description by means of an abstract machine obtained from the application of structural operational rules and then introduces behavioral equivalences able to relate descriptions that are syntactically different. In this chapter, we present the typical behavioral operators and operational semantic rules for a process calculus in which no notion of time, probability, or priority is associated with actions. Then, we discuss the three most studied approaches to the definition of behavioral equivalences – bisimulation, testing, and trace – and we illustrate their congruence properties, sound and complete axiomatizations, modal logic characterizations, and verification algorithms. Finally, we show how these behavioral equivalences and some of their variants are related to each other on the basis of their discriminating power.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. S. Abramsky, Observational Equivalence as a Testing Equivalence, Theoretical Computer Science 53:225–241, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  2. J.C.M. Baeten, J.A. Bergstra, and J.W. Klop, Ready-Trace Semantics for Concrete Process Algebra with the Priority Operator, Computer Journal 30:498–506, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  3. J.C.M. Baeten and W.P. Weijland, Process Algebra, Cambridge University Press, Cambridge (UK), 1990.

    Book  Google Scholar 

  4. H. Bekic, Towards a Mathematical Theory of Processes, Technical Report TR 25.125, IBM Laboratory Vienna (Austria), 1971 (published in Programming Languages and Their Definition, Springer, LNCS 177:168–206, New York (NY), 1984).

    Google Scholar 

  5. B. Bloom, S. Istrail, and A.R. Meyer, Bisimulation Can’t Be Traced, Journal of the ACM 42:232–268, 1995.

    Article  MathSciNet  MATH  Google Scholar 

  6. T. Bolognesi and E. Brinksma, Introduction to the ISO Specification Language LOTOS, Computer Networks and ISDN Systems 14:25–59, 1987.

    Article  Google Scholar 

  7. S.D. Brookes, C.A.R. Hoare, and A.W. Roscoe, A Theory of Communicating Sequential Processes, Journal of the ACM 31:560–599, 1984.

    Article  MathSciNet  MATH  Google Scholar 

  8. R. Cleaveland and M. Hennessy, Testing Equivalence as a Bisimulation Equivalence, Formal Aspects of Computing 5:1–20, 1993.

    Article  MATH  Google Scholar 

  9. R. De Nicola and M. Hennessy, Testing Equivalences for Processes, Theoretical Computer Science 34:83–133, 1984.

    Article  MathSciNet  MATH  Google Scholar 

  10. R.J. van Glabbeek, The Linear Time – Branching Time Spectrum I, in Handbook of Process Algebra, Elsevier, pp. 3–99, Amsterdam (The Netherlands), 2001.

    Google Scholar 

  11. R.J. van Glabbeek and W.P. Weijland, Branching Time and Abstraction in Bisimulation Semantics, Journal of the ACM 43:555–600, 1996.

    Article  MathSciNet  MATH  Google Scholar 

  12. M. Hennessy, Acceptance Trees, Journal of the ACM 32:896–928, 1985.

    Article  MathSciNet  MATH  Google Scholar 

  13. M. Hennessy and R. Milner, Algebraic Laws for Nondeterminism and Concurrency, Journal of the ACM 32:137–162, 1985.

    Article  MathSciNet  MATH  Google Scholar 

  14. C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall, Englewood Cliffs (NJ), 1985.

    MATH  Google Scholar 

  15. P.C. Kanellakis and S.A. Smolka, CCS Expressions, Finite State Processes, and Three Problems of Equivalence, Information and Computation 86:43–68, 1990.

    Article  MathSciNet  MATH  Google Scholar 

  16. K.G. Larsen and A. Skou, Bisimulation through Probabilistic Testing, Information and Computation 94:1–28, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  17. R. Milner, A Calculus of Communicating Systems, Springer, LNCS 92, Berlin (Germany), 1980.

    Google Scholar 

  18. R. Milner, Communication and Concurrency, Prentice-Hall, Englewood Cliffs (NJ), 1989.

    MATH  Google Scholar 

  19. R. Milner, J. Parrow, and D. Walker, A Calculus of Mobile Processes, Information and Computation 100:1–77, 1992.

    Article  MathSciNet  MATH  Google Scholar 

  20. E.-R. Olderog and C.A.R. Hoare, Specification-Oriented Semantics for Communicating Processes, Acta Informatica 23:9–66, 1986.

    Article  MathSciNet  MATH  Google Scholar 

  21. R. Paige and R.E. Tarjan, Three Partition Refinement Algorithms, SIAM Journal on Computing 16:973–989, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  22. D. Park, Concurrency and Automata on Infinite Sequences, in Proc. of the 5th GI Conf. on Theoretical Computer Science, Springer, LNCS 104:167–183, Karlsruhe (Germany), 1981.

    Google Scholar 

  23. C.A. Petri, Kommunikation mit Automaten, Ph.D. Thesis, Technical University of Darmstadt (Germany), 1962.

    Google Scholar 

  24. G.D. Plotkin, A Structural Approach to Operational Semantics, Technical Report DAIMI-FN-19, Aarhus University (Denmark), 1981 (published in Journal of Logic and Algebraic Programming 60/61:17–139, 2004).

    Google Scholar 

  25. D.S. Scott, Data Types as Lattices, SIAM Journal on Computing 5:522–587, 1976.

    Article  MathSciNet  MATH  Google Scholar 

  26. G. Winskel, Events in Computation, Ph.D. Thesis, University of Edinburgh (UK), 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessandro Aldini .

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag London

About this chapter

Cite this chapter

Aldini, A., Corradini, F., Bernardo, M. (2010). Process Algebra. In: A Process Algebraic Approach to Software Architecture Design. Springer, London. https://doi.org/10.1007/978-1-84800-223-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-84800-223-4_1

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-84800-222-7

  • Online ISBN: 978-1-84800-223-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics