Skip to main content

Using relations on streams to solve the RPC-memory specification problem

  • Conference paper
  • First Online:

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

Abstract

We employ a specification and refinement technique based on streams to solve the RPC-memory specification problem. Streams are used to represent the communication histories of channels. We distinguish between input and output streams. Each input stream represents the communication history of an input channel; each output stream represents the communication history of an output channel. Specifications are relations between input and output streams. These relations are expressed as logical formulas. Composition corresponds to logical conjunction. We distinguish between time-independent and time-dependent specifications. A time-independent specification is based on untimed streams; a time-dependent specification employs timed streams. Timed streams are needed to capture timing constraints and causalities. A specification refines (or alternatively, implements) another specification if any input/output behavior of the former is also an input/output behavior of the latter. This means that refinement corresponds to logical implication.

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. M. Abadi and L. Lamport. The existence of refinement mappings. Technical Report 29, Digital, SRC, Palo Alto, 1988.

    Google Scholar 

  2. M. Abadi and L. Lamport. Conjoining specifications. ACM Transactions on Programming Languages and Systems, 17:507–533, 1995.

    Article  Google Scholar 

  3. M. Broy, F. Dederichs, C. Dendorfer, M. Fuchs, T. F. Gritzner, and R. Weber. The design of distributed systems — an introduction to Focus (revised version). Technical Report SFB 342/2/92 A, Technische Universität München, 1993.

    Google Scholar 

  4. M. Broy and L. Lamport. The rpc-memory specification problem. This volume.

    Google Scholar 

  5. M. Broy and K. Stølen. Focus — a method for the development of interactive systems. Book manuscript, June 1996.

    Google Scholar 

  6. G. Kahn. The semantics of a simple language for parallel programming. In Proc. Information Processing, pages 471–475. North-Holland, 1974.

    Google Scholar 

  7. R. M. Keller. Denotational models for parallel programs with indeterminate operators. In Proc. Formal Description of Programming Concepts, pages 337–366. North-Holland, 1978.

    Google Scholar 

  8. J. N. Kok. A fully abstract semantics for data flow nets. In Proc. PARLE, Lecture Notes in Computer Science 259, pages 351–368. Springer, 1987.

    Google Scholar 

  9. D. Park. The “fairness” problem and nondeterministic computing networks. In Proc. Foundations of Computer Science, Mathematical Centre Tracts 159, pages 133–161. Mathematisch Centrum Amsterdam, 1983.

    Google Scholar 

  10. J. M. Spivey. Understanding Z, A Specification Language and its Formal Semantics, volume 3 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1988.

    Google Scholar 

  11. K. Stølen. Assumption/commitment rules for data-flow networks — with an emphasis on completeness. In Proc. ESOP, Lecture Notes in Computer Science 1058, pages 356–372. Springer, 1996.

    Google Scholar 

  12. K. Stølen. Refinement principles supporting the transition from asynchronous to synchronous communication. Science of Computer Programming, 26:255–272, 1996.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manfred Broy Stephan Merz Katharina Spies

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stølen, K. (1996). Using relations on streams to solve the RPC-memory specification problem. In: Broy, M., Merz, S., Spies, K. (eds) Formal Systems Specification. Lecture Notes in Computer Science, vol 1169. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024439

Download citation

  • DOI: https://doi.org/10.1007/BFb0024439

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61984-0

  • Online ISBN: 978-3-540-49573-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics