Safe composition of distributed programs communicating over order-preserving imperfect channels

  • Authors:
  • Kai Engelhardt;Yoram Moses

  • Affiliations:
  • CSE, UNSW, and NICTA, Sydney, NSW, Australia;Department of Electrical Engineering, Technion, Haifa, Israel

  • Venue:
  • IWDC'05 Proceedings of the 7th international conference on Distributed Computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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 QsealsP, 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.