Check out the new USENIX Web site. next up previous
Next: Dealing with Failures. Up: Using the Strategy Design Previous: Overview of the Paper

Protocol Objects


The BAST framework was designed to help programmers in building reliable distributed systems, and is based on protocols as basic structuring components. With BAST, a distributed system is composed of protocol objects that have the ability to remotely designate each other and to participate in various protocols. A distributed protocol tex2html_wrap_inline777 is a set of interactions between protocol objects that aim at solving distributed problem tex2html_wrap_inline777. We use atex2html_wrap_inline777 Object to name a protocol object capable of participating in protocol tex2html_wrap_inline777, and we say that tex2html_wrap_inline777Object is its protocol class. Each tex2html_wrap_inline777 Object provides a set of operations that interface protocol tex2html_wrap_inline777, i.e., these operations act as entry points to the protocol. Abstract class Protobject is the root of the protocol class hierarchy.

With such broad definitions, any interaction between objects located on distinct network nodes is a distributed protocol, even a mere point-to-point communication. For example, class RMPObject implements a reliable point-to-point communication protocol and provides operations rSend() and rDeliver() that enable to reliably send, respectively receive, any objectgif; callback operation rDeliver() is redefinable and is said to be triggered by the protocol. Note that such an homogeneous view of what distributed protocols are does not contradict the fact that some protocols are more basic than others. Communication protocols, for example, are fundamental to almost any other distributed protocol.

Wed May 14 17:28:46 MET DST 1997