Modeling concurrency with partial orders
International Journal of Parallel Programming
On proving communication closedness of distributed layers
Proc. of the sixth conference on Foundations of software technology and theoretical computer science
Effects of message loss on the termination of distributed protocols
Information Processing Letters
Understanding and verifying distributed algorithms using stratified decomposition
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Knowledge-oriented programming
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Reasoning about Message Passing in Finite State Environments
ICALP '00 Proceedings of the 27th International Colloquium on Automata, Languages and Programming
Layers as Knowledge Transitions in the Design of Distributed Systems
TACAS '95 Proceedings of the First International Workshop on Tools and Algorithms for Construction and Analysis of Systems
The Need for Headers: An Impossibility Result for Communication over Unreliable Channels
CONCUR '90 Proceedings of the Theories of Concurrency: Unification and Extension
Action Systems and Action Refinement in the Development of Parallel Systems - An Algebraic Approach
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
Layering Techniques for Development of Parallel Systems
CAV '92 Proceedings of the Fourth International Workshop on Computer Aided Verification
Causing communication closure: safe program composition with Non-FIFO channels
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Reasoning about layered message passing systems
Computer Languages, Systems and Structures
Single-bit messages are insufficient for data link over duplicating channels
Information Processing Letters
Causing communication closure: safe program composition with Non-FIFO channels
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Hi-index | 0.00 |
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.