Using the strategy design pattern to compose reliable distributed protocols
Benoît Garbinato, Rachid Guerraoui · 1997
Reliable distributed systems involve many complex protocols. In this context, protocol composition is a central concept, because it allows the reuse of robust protocol implementations. In this paper, we describe how the Strategy pattern has been recursively used to support protocol composition in the BAST framework. We also discuss design alternatives that have been applied in other existing frameworks. 1 Introduction This paper presents how the Strategy pattern has been used to build BAST 1 , an extensible objectoriented framework for programming reliable distributed systems. Protocol composition plays a central role in BAST and relies on the notion of protocol class. In this paper, we focus on the recursive use of the Strategy pattern to overcome the limitations of inheritance, when trying to flexibly compose protocols. In a companion paper [6], we have presented how generic agreement protocol classes can be customized to solve atomic commitment [10] and total order multicast [20...