Title Using the Strategy Design Pattern to Compose Reliable Distributed Protocols Authors Beno\^{\i} Garbinato, Pascal Felber, Rachid Guerraoui ^^^^^^ (-> read as if you were a LaTeX compiler... ;-) Contact Benoit Garbinato Laboratoire de Systemes d'Exploitation (LSE) Departement d'Informatique (DI) Ecole Polytechnique Federale de Lausanne (EPFL) CH-1015 Lausanne (Switzerland) phone + 41 21 693 52 74 fax + 41 21 693 67 70 e-mail garbinato@lse.di.epfl.ch Abstract. When building reliable distributed systems, one has to deal with many complex protocols, e.g., failure detection, distributed consensus, atomic commitment, and being able to reuse robust protocol implementa- tions based on well-tested code is a key feature. In this context, flexible composition of reliable distributed protocols is a central concept, because it allows to customize complex protocols and to build new protocols from existing ones. This paper describes how the Strategy design pattern has been extensively used to support protocol composition, where inheritance alone was not adequate.