Abstract
We identify a type of refinement that we call interaction refinement that is very useful in designing distributed systems. An interaction refinement step is one in which a system designer decides to implement a given ‘high-level’ interaction as a particular sequence of ‘low-level’ interactions. For example a particular high-level interaction may be specified as ‘identify-client’ involving a ‘client process’ and a ‘server process’. The designer may decide to implement this interaction as a series of low-level interactions between the two processes, with the client process first sending to the server process an id, followed by a password, and perhaps allow the client several attempts at getting the password right, etc. Here the designer is not refining the internal structure of either the client process or the server process; rather he1 is implementing the ‘identify-client’ interaction between the two processes in terms of a sequence of ‘low-level’ communications between them. By contrast, other types of refinement that are normally considered are concerned with refining the internal structure of one or more of the processes, the interactions between the processes being taken as a given.
We motivate the idea of interaction refinement with simple and natural examples and develop a preliminary formalism that can be used to establish correctness of systems developed using interaction refinement. We also compare our work with previous work which allow one to deal with restricted kinds of interaction refinement.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. Apt, N. Francez, and W. deRoever. A proof system for csp. ACM TOPLAS, 2:359–385, 1980.
E. Brinksma, B. Jonsson, and F. Orava. Refining interfaces of communicating systems. In Proceedings of TAPSOFT, pages 297–312. Springer-Verlag, LNCS 494, 1991.
M. Broy. (inter)action refinement: the easy way. http://www4.informatik.tu-muenchen.de/paper_db/papers/broy easy way.html.
K.M. Chandy and J. Misra. Parallel program design. Addison-Wesley, 1988.
C. Creveuil and G.C. Roman. Formal specification and design of a message router. A CM TOSEM, 3:271–308, 1994.
N. Francez and I. Forman. Interacting processes. Addison-Wesley, 1996.
R. Gerth, R. Kuiper, and J. Segers. Interface refinement in reactive systems. In CONCUR’ 92, LNCS 630, pages 145–167. Springer-Verlag, 1992.
G. Holzmann. Design and validation of computer protocols. Prentice-Hall, 1991.
J. Misra and K. Chandy. Proofs of networks of processes. IEEE Trans. on Software Eng., 7:417–426, 1981.
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6(1):319–340, 1976.
N. Soundarajan. Axiomatic semantics of csp. A CM TOPLAS, 6:647–662, 1984.
N. Soundarajan. Interaction refinement in the design of oo systems. In N. Deb-nath and R. Lee, editors, Proceedings of the 3rd International Conf. on Software Engineering and Applications, pages 269–274. IASTED/ACTA Press, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Soundarajan, N. (2001). Refining Interactions in a Distributed System. In: Rash, J.L., Truszkowski, W., Hinchey, M.G., Rouff, C.A., Gordon, D. (eds) Formal Approaches to Agent-Based Systems. FAABS 2000. Lecture Notes in Computer Science(), vol 1871. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45484-5_17
Download citation
DOI: https://doi.org/10.1007/3-540-45484-5_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42716-2
Online ISBN: 978-3-540-45484-7
eBook Packages: Springer Book Archive