# Compositional theories based on an operational semantics of contexts

## Abstract

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.

## Keywords

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

Unable to display preview. Download preview PDF.

## References

- [Abr87]S. Abramsky. Observation equivalence as a testing equivalence.
*Theoretical Computer Science*, 1987.Google Scholar - [BAPM83]M. Ben-Ari, A. Pnueli, and Z. Manna. The temporal logic of branching time.
*Acta Informatica*, 20, 1983.Google Scholar - [BK85]J.A. Bergstra and J.W. Klop. Algebra of communicating processes with abstraction.
*Theoretical Computer Science*, 37:77–121, 1985.CrossRefGoogle Scholar - [Blo88]Meyer Bloom, Istrail. bisimulation can't be traced.
*Proceedings of Principles of Programming Languages*, 1988.Google Scholar - [Bou85]G. Boudol. Calcul de processus et verification. Technical Report 424, INRIA, 1985.Google Scholar
- [CPS88]R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench. University of Edinburgh, Scotland, 1988.Google Scholar
- [Dij76]E.W. Dijkstra.
*A Discipline of Programming*. Prentice-Hall, 1976.Google Scholar - [dS85]R. de Simone. Higher-level synchronising devices in MEIJE-CCS.
*Theoretical Computer Science*, 37, 1985.Google Scholar - [Gro89]Vaandrager Groote. Structured operational semantics and bisimulation as a congruence.
*Lecture Notes in Computer Science*, 1989.Google Scholar - [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 - [Hoa69]C.A.R. Hoare. An axiomatic basis for computer programming.
*ACM Communications*, 12(10):576–583, 1969.Google Scholar - [Hoa78]C.A.R. Hoare. Communicating sequential processes.
*Communications of the ACM*, 21(8), 1978.Google Scholar - [KS]Kannellakis and Smolka. CCS expressions, finite state processes, and three problems of equivalence. To appear in Information and Computation.Google Scholar
- [Lar86]K.G. Larsen.
*Context-Dependent Bisimulation Between Processes*. PhD thesis, University of Edinburgh, Mayfield Road, Edinburgh, Scotland, 1986.Google Scholar - [Lar87]K.G. Larsen. A context dependent bisimulation between processes.
*Theoretical Computer Science*, 1987.Google Scholar - [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 - [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 - [LMV88]V. Lecompte, E. Madelaine, and D. Vergamini. Auto: A verification system for parallel and communicating processes. INRIA, Sophia-Antipolis, 1988.Google Scholar
- [LS87]K.G. Larsen and A. Skou. Tau: Theories for parallel systems, their automation and usage. Aalborg University, Denmark, March 1987.Google Scholar
- [LS89]K.G. Larsen and A. Skou. Bisimulation through probabilistic testing.
*Proceedings of Principles of Programming Languages*, 1989.Google Scholar - [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
- [Mil80]R. Milner.
*Calculus of Communicating Systems*, volume 92 of*Lecture Notes in Computer Science*. Springer Verlag, 1980.Google Scholar - [Mil83]R. Milner. Calculi for synchrony and asynchrony.
*Theoretical Computer Science*, 25, 1983.Google Scholar - [Mil88]R. Milner. Interpreting one concurrent calculus in another.
*proceedings of the International Conference on Fifth Generation Computer Systems*, 1988.Google Scholar - [Mil89]R. Milner.
*Communication and Concurrency*. Prentice-Hall, 1989.Google Scholar - [Par81]D. Park. Concurrency and automata on infinite sequences.
*Lecture Notes in Computer Science*, 104, 1981. in Proc. of 5th GI Conf.Google Scholar - [Par89]J. Parrow. Submodule construction as equation solving in ccs.
*Theoretical Computer Science*, 1989. To appear.Google Scholar - [Plo81]G. Plotkin. A structural approach to operational semantics. FN 19, DAIMI, Aarhus University, Denmark, 1981.Google Scholar
- [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 - [PT87]Paige and Tarjan. Three partition refinement algorithms.
*SIAM Journal of Computing*, 16(6), 1987.Google Scholar - [Shi]M.W. Shields. A note on the simple interface equation. Technical report, University of Kent at Canterbury.Google Scholar
- [Skoar]A. Skou.
*Validation of Concurrent Processes, with emphasis on testing*. PhD thesis, Aalbog University Center, Denmark, to appear.Google Scholar - [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