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.
References
M. Abadi and L. Lamport. The existence of refinement mappings. Technical Report 29, Digital, SRC, Palo Alto, 1988.
M. Abadi and L. Lamport. Conjoining specifications. ACM Transactions on Programming Languages and Systems, 17:507–533, 1995.
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.
M. Broy and L. Lamport. The rpc-memory specification problem. This volume.
M. Broy and K. Stølen. Focus — a method for the development of interactive systems. Book manuscript, June 1996.
G. Kahn. The semantics of a simple language for parallel programming. In Proc. Information Processing, pages 471–475. North-Holland, 1974.
R. M. Keller. Denotational models for parallel programs with indeterminate operators. In Proc. Formal Description of Programming Concepts, pages 337–366. North-Holland, 1978.
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.
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.
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.
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.
K. Stølen. Refinement principles supporting the transition from asynchronous to synchronous communication. Science of Computer Programming, 26:255–272, 1996.
Author information
Authors and Affiliations
Editor information
Rights 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