Advertisement

Interface refinement in reactive systems

  • Rob Gerth
  • Ruurd Kuiper
  • John Segers
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 630)

Abstract

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 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AL91]
    M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science, 82(2):253–285, May 1991.MATHMathSciNetCrossRefGoogle Scholar
  2. [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
  3. [EGLT76]
    K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger. The notions of consistency and predicate locks in a relational database system. Communications of the ACM, 33:151–178, 1976.MathSciNetGoogle Scholar
  4. [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
  5. [Hoa86]
    C. A. R. Hoare. Communicating Sequential Processes. International series on computer science. Prentice-Hall, 1986.Google Scholar
  6. [Jon90]
    C.B. Jones. Systematic Software Development using VDM. Prentice-Hall, second edition, 1990.Google Scholar
  7. [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
  8. [Lam86]
    L. Lamport. On interprocess communication, Part I: Basic formalism. Distributed Computing, 1(2):77–85, 1986.MATHCrossRefGoogle Scholar
  9. [Lam91]
    L. Lamport. The temporal logic of actions. Technical Report 79, DEC Systems Research Center, Palo Alto, California, December 1991.Google Scholar
  10. [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
  11. [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
  12. [Mil89]
    R. Milner. Communication and concurrency. International series on computer science. Prentice-Hall, 1989.Google Scholar
  13. [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
  14. [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
  15. [PKP91]
    D. Peled, S. Katz, and A. Pnueli. Specifying and proving serializability in temporal logic. IEEE, July 1991.Google Scholar
  16. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Rob Gerth
    • 1
  • Ruurd Kuiper
    • 1
  • John Segers
    • 1
  1. 1.Department of Computing ScienceEindhoven University of TechnologyMB EindhovenThe Netherlands

Personalised recommendations