Compositional theories based on an operational semantics of contexts

  • Kim Guldstrand Larsen
Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 430)


For the verification of large systems in general and parallel systems in particular, it is essential that the proof method used is compositional in order to avoid a combinatorial explosion of the verification. That is, the method must allow us to decompose the problem of correctness for a complex system into similar correctness problems for the components of the system.

Compositionality requires a suitable relationship between the constructions available for building systems and the notion of correctness between systems and specifications. In fact, as we show in the paper, compositional proof methods may be classified in a number of ways; in particular classes well-suited for top-down and bottom-up development are identified. The main purpose of this paper is to demonstrate that compositionality in many cases may be achieved though a new operational understanding of the constructions (or contexts) used for building systems. The operational model we propose is that of action transducers; i.e. a construction is semantically viewed as an object transforming actions of its inner components into actions for the surrounding environment. In particular we demonstrate how to describe the constructions of CCS in this model.

We present three proof methods (bisimulation, relative bisimulation and recursive modal logic), and show that the operational semantics of contexts in all cases leads to compositionality results.


Process Algebra Reactive Systems Compositionality Classification of Compositionality Contexts as Transducers Bisimulation Relative Bisimulation Environments Recursive Modal Logic Weakest Property Transformer 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Abr87]
    S. Abramsky. Observation equivalence as a testing equivalence. Theoretical Computer Science, 1987.Google Scholar
  2. [BAPM83]
    M. Ben-Ari, A. Pnueli, and Z. Manna. The temporal logic of branching time. Acta Informatica, 20, 1983.Google Scholar
  3. [BK85]
    J.A. Bergstra and J.W. Klop. Algebra of communicating processes with abstraction. Theoretical Computer Science, 37:77–121, 1985.CrossRefGoogle Scholar
  4. [Blo88]
    Meyer Bloom, Istrail. bisimulation can't be traced. Proceedings of Principles of Programming Languages, 1988.Google Scholar
  5. [Bou85]
    G. Boudol. Calcul de processus et verification. Technical Report 424, INRIA, 1985.Google Scholar
  6. [CPS88]
    R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench. University of Edinburgh, Scotland, 1988.Google Scholar
  7. [Dij76]
    E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.Google Scholar
  8. [dS85]
    R. de Simone. Higher-level synchronising devices in MEIJE-CCS. Theoretical Computer Science, 37, 1985.Google Scholar
  9. [Gro89]
    Vaandrager Groote. Structured operational semantics and bisimulation as a congruence. Lecture Notes in Computer Science, 1989.Google Scholar
  10. [HM85]
    M. Hennessy and R. Milner. Algebraic laws for nondeterminism and concurrency. Journal of the Association for Computing Machinery, pages 137–161, 1985.Google Scholar
  11. [Hoa69]
    C.A.R. Hoare. An axiomatic basis for computer programming. ACM Communications, 12(10):576–583, 1969.Google Scholar
  12. [Hoa78]
    C.A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8), 1978.Google Scholar
  13. [KS]
    Kannellakis and Smolka. CCS expressions, finite state processes, and three problems of equivalence. To appear in Information and Computation.Google Scholar
  14. [Lar86]
    K.G. Larsen. Context-Dependent Bisimulation Between Processes. PhD thesis, University of Edinburgh, Mayfield Road, Edinburgh, Scotland, 1986.Google Scholar
  15. [Lar87]
    K.G. Larsen. A context dependent bisimulation between processes. Theoretical Computer Science, 1987.Google Scholar
  16. [Lar88]
    K.G. Larsen. Proof systems for Hennessy-Milner logic with recursion. Lecture Notes in Computer Science, 299, 1988. in Proc. of CAAP'88. Full version to appear in Theoretical Computer Science.Google Scholar
  17. [LM87]
    K.G. Larsen and R. Milner. Verifying a protocol using relativized bisimulation. Lecture Notes in Computer Science, 267, 1987. International Colloquium on Algorithms, Languages and Programming.Google Scholar
  18. [LMV88]
    V. Lecompte, E. Madelaine, and D. Vergamini. Auto: A verification system for parallel and communicating processes. INRIA, Sophia-Antipolis, 1988.Google Scholar
  19. [LS87]
    K.G. Larsen and A. Skou. Tau: Theories for parallel systems, their automation and usage. Aalborg University, Denmark, March 1987.Google Scholar
  20. [LS89]
    K.G. Larsen and A. Skou. Bisimulation through probabilistic testing. Proceedings of Principles of Programming Languages, 1989.Google Scholar
  21. [LX89]
    K.G. Larsen and L. Xinxin. Compositionality through an operational semantics of contexts. Technical Report R 89-13, Aalborg University Center, Denmark, 1989.Google Scholar
  22. [Mil80]
    R. Milner. Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer Verlag, 1980.Google Scholar
  23. [Mil83]
    R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25, 1983.Google Scholar
  24. [Mil88]
    R. Milner. Interpreting one concurrent calculus in another. proceedings of the International Conference on Fifth Generation Computer Systems, 1988.Google Scholar
  25. [Mil89]
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  26. [Par81]
    D. Park. Concurrency and automata on infinite sequences. Lecture Notes in Computer Science, 104, 1981. in Proc. of 5th GI Conf.Google Scholar
  27. [Par89]
    J. Parrow. Submodule construction as equation solving in ccs. Theoretical Computer Science, 1989. To appear.Google Scholar
  28. [Plo81]
    G. Plotkin. A structural approach to operational semantics. FN 19, DAIMI, Aarhus University, Denmark, 1981.Google Scholar
  29. [Pnu85]
    A. Pnueli. Linear and branching structures in the semantics and logics of reactive systems. Lecture Notes in Computer Science, 194, 1985. in Proc. of ICALP'87.Google Scholar
  30. [PT87]
    Paige and Tarjan. Three partition refinement algorithms. SIAM Journal of Computing, 16(6), 1987.Google Scholar
  31. [Shi]
    M.W. Shields. A note on the simple interface equation. Technical report, University of Kent at Canterbury.Google Scholar
  32. [Skoar]
    A. Skou. Validation of Concurrent Processes, with emphasis on testing. PhD thesis, Aalbog University Center, Denmark, to appear.Google Scholar
  33. [Zwi89]
    J. Zwiers. Compositionality, Concurrency and Partial Correctness — Proof Theories for Networks of Processes, and Their Relationship, volume 321 of Lecture Notes in Computer Science. Springer Verlag, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Kim Guldstrand Larsen
    • 1
  1. 1.Department of Mathematics and Computer ScienceAalborg University CenterAalborgDenmark

Personalised recommendations