Roberto De Prisco, Alan Fekete, Nancy Lynch and Alex Shvartsman
We present a new formal automaton specification, \dvs, for the safety guarantees made by a practical group communication service providing a dynamic notion of primary view. We demonstrate the value of \dvs\ by showing both how it can be implemented and how it can be used in an application. First, we present based on a group membership algorithm of Lotem, Keidar and Dolev; our version integrates communication with the membership service, uses information from the application processes saying when a view has been prepared for computation by the application, and uses a static view-oriented service internally. We prove that this algorithm implements \dvs. Second, we present an application algorithm that is a variant of an algorithm of Amir, Dolev, Keidar, Melliar-Smith and Moser, modified to use \dvs\ instead of a static service. We prove that it implements a (non-group-oriented) totally-ordered-broadcast service.