Abstract
A semantic framework for analyzing safe composition of distributed programs is presented. Its applicability is illustrated by a study of program composition when communication is reliable but not necessarily FIFO . In this model, special care must be taken to ensure that messages do not accidentally overtake one another in the composed program. We show that barriers do not exist in this model. Indeed, no program that sends or receives messages can automatically be composed with arbitrary programs without jeopardizing their intended behavior. Safety of composition becomes context-sensitive and new tools are needed for ensuring it. A notion of sealing is defined, where if a program P is immediately followed by a program Q that seals P then P will be communication-closed—it will execute as if it runs in isolation. The investigation of sealing in this model reveals a novel connection between Lamport causality and safe composition. A characterization of sealable programs is given, as well as efficient algorithms for testing if Q seals P and for constructing a seal for a significant class of programs. It is shown that every sealable program that is open to interference on O(n 2) channels can be sealed using O(n) messages.
Work was partially supported by ARC Discovery Grant RM02036.
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
Afek, Y., Attiya, H., Fekete, A., Fischer, M., Lynch, N., Mansour, Y., Wang, D.-W., Zuck, L.: Reliable communication over unreliable channels. Journal of the ACM 41(6), 1267–1297 (1994)
Elrad, T., Francez, N.: Decomposition of distributed programs into communication-closed layers. Science of Computer Programming 2(3), 155–173 (1982)
Engelhardt, K., Moses, Y.: Safe composition of distributed programs communicating over order-preserving imperfect channels (June 2005) (submitted), see ftp://ftp.cse.unsw.edu.au/pub/users/kaie/EM2005b.pdf
Engelhardt, K., Moses, Y.: Single-bit messages are insufficient in the presence of duplication (June 2005) (in preparation), see ftp://ftp.cse.unsw.edu.au/pub/users/kaie/EM2005c.pdf
Fekete, A., Lynch, N.: The need for headers: An impossibility result for communication over unreliable channels. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 199–215. Springer, Heidelberg (1990)
Gerth, R., Shrira, L.: On proving communication closedness of distributed layers. In: Nori, K.V. (ed.) FSTTCS 1986. LNCS, vol. 241, pp. 18–20. Springer, Heidelberg (1986)
Janssen, W.: Layered Design of Parallel Systems. PhD thesis, University of Twente (1994)
Janssen, W.: Layers as knowledge transitions in the design of distributed systems. In: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 304–318. Springer, Heidelberg (1995) number NS-95-2 in Notes Series, pp. 304–318, Department of Computer Science, University of Aarhus (May 1995) BRICS
Janssen, W., Poel, M., Zwiers, J.: Action systems and action refinement in the development of parallel systems. In: Groote, J.F., Baeten, J.C.M. (eds.) CONCUR 1991. LNCS, vol. 527, pp. 298–316. Springer, Heidelberg (1991)
Janssen, W., Zwiers, J.: From sequential layers to distributed processes, deriving a minimum weight spanning tree algorithm (extended abstract). In: Proceedings 11th ACM Symposium on Principles of Distributed Computing, pp. 215–227. ACM, New York (1992)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 7, 558–565 (1978)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)
Poel, M., Zwiers, J.: Layering techniques for development of parallel systems. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, pp. 16–29. Springer, Heidelberg (1993)
Stomp, F.A., de Roever, W.-P.: A principle for sequential reasoning about distributed algorithms. Formal Aspects of Computing 6(6), 716–737 (1994)
Wang, D.-W., Zuck, L.D.: Tight bounds for the sequence transmission problem. In: PODC 1989: Proceedings of the eighth annual ACM Symposium on Principles of Distributed Computing, pp. 73–83. ACM Press, New York (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Engelhardt, K., Moses, Y. (2005). Causing Communication Closure: Safe Program Composition with Non-FIFO Channels. In: Fraigniaud, P. (eds) Distributed Computing. DISC 2005. Lecture Notes in Computer Science, vol 3724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561927_18
Download citation
DOI: https://doi.org/10.1007/11561927_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29163-3
Online ISBN: 978-3-540-32075-3
eBook Packages: Computer ScienceComputer Science (R0)