Skip to main content

Compositional theories based on an operational semantics of contexts

  • Technical Contributions
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 430))

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.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abramsky. Observation equivalence as a testing equivalence. Theoretical Computer Science, 1987.

    Google Scholar 

  2. M. Ben-Ari, A. Pnueli, and Z. Manna. The temporal logic of branching time. Acta Informatica, 20, 1983.

    Google Scholar 

  3. J.A. Bergstra and J.W. Klop. Algebra of communicating processes with abstraction. Theoretical Computer Science, 37:77–121, 1985.

    Article  Google Scholar 

  4. Meyer Bloom, Istrail. bisimulation can't be traced. Proceedings of Principles of Programming Languages, 1988.

    Google Scholar 

  5. G. Boudol. Calcul de processus et verification. Technical Report 424, INRIA, 1985.

    Google Scholar 

  6. R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench. University of Edinburgh, Scotland, 1988.

    Google Scholar 

  7. E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.

    Google Scholar 

  8. R. de Simone. Higher-level synchronising devices in MEIJE-CCS. Theoretical Computer Science, 37, 1985.

    Google Scholar 

  9. Vaandrager Groote. Structured operational semantics and bisimulation as a congruence. Lecture Notes in Computer Science, 1989.

    Google Scholar 

  10. 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. C.A.R. Hoare. An axiomatic basis for computer programming. ACM Communications, 12(10):576–583, 1969.

    Google Scholar 

  12. C.A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8), 1978.

    Google Scholar 

  13. Kannellakis and Smolka. CCS expressions, finite state processes, and three problems of equivalence. To appear in Information and Computation.

    Google Scholar 

  14. K.G. Larsen. Context-Dependent Bisimulation Between Processes. PhD thesis, University of Edinburgh, Mayfield Road, Edinburgh, Scotland, 1986.

    Google Scholar 

  15. K.G. Larsen. A context dependent bisimulation between processes. Theoretical Computer Science, 1987.

    Google Scholar 

  16. 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. 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. V. Lecompte, E. Madelaine, and D. Vergamini. Auto: A verification system for parallel and communicating processes. INRIA, Sophia-Antipolis, 1988.

    Google Scholar 

  19. K.G. Larsen and A. Skou. Tau: Theories for parallel systems, their automation and usage. Aalborg University, Denmark, March 1987.

    Google Scholar 

  20. K.G. Larsen and A. Skou. Bisimulation through probabilistic testing. Proceedings of Principles of Programming Languages, 1989.

    Google Scholar 

  21. 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. R. Milner. Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer Verlag, 1980.

    Google Scholar 

  23. R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25, 1983.

    Google Scholar 

  24. R. Milner. Interpreting one concurrent calculus in another. proceedings of the International Conference on Fifth Generation Computer Systems, 1988.

    Google Scholar 

  25. R. Milner. Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  26. D. Park. Concurrency and automata on infinite sequences. Lecture Notes in Computer Science, 104, 1981. in Proc. of 5th GI Conf.

    Google Scholar 

  27. J. Parrow. Submodule construction as equation solving in ccs. Theoretical Computer Science, 1989. To appear.

    Google Scholar 

  28. G. Plotkin. A structural approach to operational semantics. FN 19, DAIMI, Aarhus University, Denmark, 1981.

    Google Scholar 

  29. 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. Paige and Tarjan. Three partition refinement algorithms. SIAM Journal of Computing, 16(6), 1987.

    Google Scholar 

  31. M.W. Shields. A note on the simple interface equation. Technical report, University of Kent at Canterbury.

    Google Scholar 

  32. A. Skou. Validation of Concurrent Processes, with emphasis on testing. PhD thesis, Aalbog University Center, Denmark, to appear.

    Google Scholar 

  33. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Larsen, K.G. (1990). Compositional theories based on an operational semantics of contexts. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness. REX 1989. Lecture Notes in Computer Science, vol 430. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52559-9_76

Download citation

  • DOI: https://doi.org/10.1007/3-540-52559-9_76

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52559-2

  • Online ISBN: 978-3-540-47035-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics