Skip to main content

Causing Communication Closure: Safe Program Composition with Non-FIFO Channels

  • Conference paper
Distributed Computing (DISC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3724))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Article  MathSciNet  Google Scholar 

  2. Elrad, T., Francez, N.: Decomposition of distributed programs into communication-closed layers. Science of Computer Programming 2(3), 155–173 (1982)

    Article  MATH  Google Scholar 

  3. 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

  4. 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

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Janssen, W.: Layered Design of Parallel Systems. PhD thesis, University of Twente (1994)

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 7, 558–565 (1978)

    Article  Google Scholar 

  12. Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)

    MATH  Google Scholar 

  13. 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)

    Google Scholar 

  14. Stomp, F.A., de Roever, W.-P.: A principle for sequential reasoning about distributed algorithms. Formal Aspects of Computing 6(6), 716–737 (1994)

    MATH  Google Scholar 

  15. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics