Next: Design Alternatives
Up: Extending the BAST Framework
Previous: Overview of the Protocol.
A five steps methodology guides programmers in extending the BAST
framework using the Strategy pattern. We illustrate each of these
steps below, by presenting how the methodology was applied to the design of
class DTMObject. Figure 5 summarizes the methodology.
- Establish what services the new protocol class DTMObject
provides, i.e., what operations are given to programmers wanting to use
DTMObject; those operations are dtmcast(), dtmReceive()
and dtmInterpret().
- Choose an algorithm implementing DTM and determine what services it
requires, by decomposing it in a way that allows to reuse as many
existing protocols as possible; those services are: consensus, failure
detections, as well as reliable point-to-point and reliable multicast
communications (see [11] for algorithmic details).
- Implement the chosen algorithm in some DTMAlgo class; all calls
to the above required services are issued to an instance variable
representing the context object, i.e., an instance of class
DTMObject.
- Choose the protocol class that will be derived to obtain new class
DTMObject; the choice of class CSSObject is directly inferred
from step 2, since the chosen superclass has to provide at least
all the services required by protocol DTM.
- Implement class DTMObject by connecting services provided by
class DTMAlgo to new DTM-specific services of class
DTMObject, and by connecting services required by class DTMAlgo
to corresponding inherited services of class DTMObject.
Figure 5: Extending BAST with protocol class DTMObject
Benoit GARBINATO
Wed May 14 17:28:46 MET DST 1997