A Method for Specifying and Proving Distributed Cooperative Algorithms

This paper outlines a new approach for specifying, proving, and implementing distributed cooperative algorithms associated with an object-oriented design. There are many examples of distributed algorithms that can be implemented in this way (ordered multicast, routing, spanning tree construction, election, distributed garbage collection). These algorithms present several peculiar aspects due to their parallel and distributed environment. We propose to build a method that gathers three kinds of tools to specify and to prove distributed cooperative algorithms [2].