Skip to main content

Safe Composition of Distributed Programs Communicating over Order-Preserving Imperfect Channels

  • Conference paper
Distributed Computing – IWDC 2005 (IWDC 2005)

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

Included in the following conference series:

  • 599 Accesses

Abstract

The fundamental question considered in this paper is when program Q, if executed immediately after program P, is guaranteed not to interfere with P and be safe from interference by P. If a message sent by one of these programs is received by the other, it may affect and modify the other’s execution. The notion of communication closed layers (CCLs) introduced by Elrad and Francez in 1982 is a useful tool for studying such interference. CCLs have been considered mainly in the context of reliable FIFO channels (without duplication), where one can design programs layers that do not interfere with any other layer. When channels are less than perfect such programs are no longer feasible. The absence of interference between layers becomes context-dependent. In this paper we study the impact of message duplication and loss on the safety on the safety of layer composition. Using a communication phase operator, the fits after relation among programs is defined. If program Q fits after P then P and Q will not interfere with each other in executions of P ∗ Q. For programs P and Q in a natural class of programs we outline efficient algorithms for the following: (1) deciding whether Q fits after P; (2) deciding whether Q seals P, meaning that Q fits after P and no following program can communicate with P; and (3) constructing a separatorS that both fits after P and satisfies that Q fits after P ∗ S.

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Chou, C.T., Gafni, E.: Understanding and verifying distributed algorithms using stratified decomposition. In: Dolev, D. (ed.) PODC 1988, pp. 44–65. ACM Press, New York (1988)

    Chapter  Google Scholar 

  2. de Roever, W.-P., de Boer, F., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification. Cambridge University Press, Cambridge (2001)

    MATH  Google Scholar 

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

  4. Engelhardt, K., Moses, Y.: Causing communication closure: Safe program composition with non-FIFO channels. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 229–243. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  5. Engelhardt, K., Moses, Y.: Single-bit messages are insufficient in the presence of duplication. In: Pal, A., Kshemkalyani, A.D., Kumar, R., Gupta, A. (eds.) IWDC 2005. LNCS, vol. 3741, pp. 25–31. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

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

  7. Gerth, R., Shrira, L.: On proving communication closedness of distributed layers. In: Nori, K.V. (ed.) FSTTCS 1986. LNCS, vol. 241, pp. 330–343. Springer, Heidelberg (1986)

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

  11. Koo, R., Toueg, S.: Effects of message loss on the termination of distributed protocols. Information Processing Letters 27(4), 181–188 (1988)

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  13. Meenakshi, B., Ramanujam, R.: Reasoning about message passing in finite state environments. In: Welzl, E., Montanari, U., Rolim, J.D.P. (eds.) ICALP 2000. LNCS, vol. 1853, pp. 487–498. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  14. Meenakshi, B., Ramanujam, R.: Reasoning about layered message passing systems. Computer Languages, Systems & Structures 30(3-4), 171–206 (2004)

    Article  MATH  Google Scholar 

  15. Moses, Y., Kislev, O.: Knowledge-oriented programming. In: PODC 1993, pp. 261–270. ACM Press, New York (1993)

    Chapter  Google Scholar 

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

  17. Pratt, V.R.: Modelling concurrency with partial orders. International Journal of Parallel Programming 15(1), 33–71 (1986)

    Article  MATH  MathSciNet  Google Scholar 

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

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). Safe Composition of Distributed Programs Communicating over Order-Preserving Imperfect Channels. In: Pal, A., Kshemkalyani, A.D., Kumar, R., Gupta, A. (eds) Distributed Computing – IWDC 2005. IWDC 2005. Lecture Notes in Computer Science, vol 3741. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11603771_4

Download citation

  • DOI: https://doi.org/10.1007/11603771_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30959-8

  • Online ISBN: 978-3-540-32428-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics