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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
S. Abramsky, Observational Equivalence as a Testing Equivalence, Theoretical Computer Science 53:225–241, 1987.
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.
J.C.M. Baeten and W.P. Weijland, Process Algebra, Cambridge University Press, Cambridge (UK), 1990.
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).
B. Bloom, S. Istrail, and A.R. Meyer, Bisimulation Can’t Be Traced, Journal of the ACM 42:232–268, 1995.
T. Bolognesi and E. Brinksma, Introduction to the ISO Specification Language LOTOS, Computer Networks and ISDN Systems 14:25–59, 1987.
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.
R. Cleaveland and M. Hennessy, Testing Equivalence as a Bisimulation Equivalence, Formal Aspects of Computing 5:1–20, 1993.
R. De Nicola and M. Hennessy, Testing Equivalences for Processes, Theoretical Computer Science 34:83–133, 1984.
R.J. van Glabbeek, The Linear Time – Branching Time Spectrum I, in Handbook of Process Algebra, Elsevier, pp. 3–99, Amsterdam (The Netherlands), 2001.
R.J. van Glabbeek and W.P. Weijland, Branching Time and Abstraction in Bisimulation Semantics, Journal of the ACM 43:555–600, 1996.
M. Hennessy, Acceptance Trees, Journal of the ACM 32:896–928, 1985.
M. Hennessy and R. Milner, Algebraic Laws for Nondeterminism and Concurrency, Journal of the ACM 32:137–162, 1985.
C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall, Englewood Cliffs (NJ), 1985.
P.C. Kanellakis and S.A. Smolka, CCS Expressions, Finite State Processes, and Three Problems of Equivalence, Information and Computation 86:43–68, 1990.
K.G. Larsen and A. Skou, Bisimulation through Probabilistic Testing, Information and Computation 94:1–28, 1991.
R. Milner, A Calculus of Communicating Systems, Springer, LNCS 92, Berlin (Germany), 1980.
R. Milner, Communication and Concurrency, Prentice-Hall, Englewood Cliffs (NJ), 1989.
R. Milner, J. Parrow, and D. Walker, A Calculus of Mobile Processes, Information and Computation 100:1–77, 1992.
E.-R. Olderog and C.A.R. Hoare, Specification-Oriented Semantics for Communicating Processes, Acta Informatica 23:9–66, 1986.
R. Paige and R.E. Tarjan, Three Partition Refinement Algorithms, SIAM Journal on Computing 16:973–989, 1987.
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.
C.A. Petri, Kommunikation mit Automaten, Ph.D. Thesis, Technical University of Darmstadt (Germany), 1962.
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).
D.S. Scott, Data Types as Lattices, SIAM Journal on Computing 5:522–587, 1976.
G. Winskel, Events in Computation, Ph.D. Thesis, University of Edinburgh (UK), 1980.
Author information
Authors and Affiliations
Corresponding author
Rights 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)