Interface refinement in reactive systems
Suppose one has a system that has a synchronous interface with its environment. Now, suppose that one refines this system and changes its interface to an asynchronous one. Whatever is meant here by refinement, it cannot be standard (process) refinement since the interface actions have changed; nor is it action refinement in the sense that a process is substituted for an action, as the intention presumably is to allow the system to proceed without having to wait until the environment is willing to synchronize.
In this paper we propose a notion of interface refinement of which changing synchronous to asynchronous communication is an instance; as is in fact the reverse change. This notion of interface refinement is quite powerful; it generalizes all existing methods w.r.t. the class of interface changes that it allows.
The major part of the paper is concerned with developing proof rules with which to verify interface refinement. We use (linear) temporal logic as specification language and an adaptation of the Manna-Pnueli verification framework. The method is illustrated by verifying an interface change in which synchronous communication is replaced by asynchronous send and receive. Proofs of the various theorems and lemma's are delegated to an appendix.
Keywords:refinement interface change temporal logic leads to property concurrency transition systems ∀-automata
Unable to display preview. Download preview PDF.
- [BJO91]E. Brinksma, B. Jonsson, and F. Orava. Refining interfaces of communicating systems. In S. Abramsky and T. Maibaum, editors, Proceedings of the Colloquium on Combining Paradigms for Software Development, volume 494 of Lecture Notes in Computer Science, pages 297–312. Springer-Verlag, 1991.Google Scholar
- [Ger90]R. Gerth. Foundations of compositional program refinement: safety properties. In J. W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Proceedings of the NFI/REX Workshop on Stepwise Refinement of Distributed Systems, volume 430 of Lecture Notes in Computer Science, pages 777–809. Springer-Verlag, 1990.Google Scholar
- [Hoa86]C. A. R. Hoare. Communicating Sequential Processes. International series on computer science. Prentice-Hall, 1986.Google Scholar
- [Jon90]C.B. Jones. Systematic Software Development using VDM. Prentice-Hall, second edition, 1990.Google Scholar
- [Jon91]B. Jonsson. Simulations between specifications of distributed systems. In J. C. M. Baeten and J. F. Groote, editors, Proceedings of the 2nd International Conference on Concurrency Theory (CONCUR'91), volume 527 of Lecture Notes in Computer Science, pages 346–361. Springer-Verlag, 1991.Google Scholar
- [Lam91]L. Lamport. The temporal logic of actions. Technical Report 79, DEC Systems Research Center, Palo Alto, California, December 1991.Google Scholar
- [LT87]N.A. Lynch and M.R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the Fourteenth ACM Symposium on the Principles of Programming Languages, pages 137–151, Munich, Germany, 1987.Google Scholar
- [Lyn89]N. A. Lynch. Multivalued possibilities mappings. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Linear Time, Branching Time, and Partial Order in Logics and Models for Concurrency, volume 354 of Lecture Notes in Computer Science, pages 519–544. Springer-Verlag, 1989.Google Scholar
- [Mil89]R. Milner. Communication and concurrency. International series on computer science. Prentice-Hall, 1989.Google Scholar
- [MP89a]Z. Manna and A. Pnueli. The anchored version of the temporal framework. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Linear Time, Branching Time, and Partial Order in Logics and Models for Concurrency, volume 354 of Lecture Notes in Computer Science, pages 201–284. Springer-Verlag, 1989.Google Scholar
- [MP89b]Z. Manna and A. Pnueli. Specification and verification of concurrent programs by ∀-automata. In B. Banieqbal, H. Barringer, and A. Pnueli, editors, Proc. Temporal Logic in Specification, volume 398 of Lecture Notes in Computer Science, pages 124–165. Springer-Verlag, 1989.Google Scholar
- [PKP91]D. Peled, S. Katz, and A. Pnueli. Specifying and proving serializability in temporal logic. IEEE, July 1991.Google Scholar
- [SGK92]J. Segers, R. Gerth, and R. Kuiper. Implementing synchronous by asynchronous communication. an example of interface refinement. Technical report, Department of Computing Science, Eindhoven University of Technology, 1992. Deliverable of ESPRIT/BRA project 3096 (SPEC).Google Scholar