give a formal specification and an implementation for a partitionable group
communication service in asynchronous distributed systems. Our specificati
on is motivated by the requirements for building "partition-aware" applicat
ions that can continue operating without blocking in multiple concurrent pa
rtitions and reconfigure themselves dynamically when partitions merge. The
specified service guarantees liveness and excludes trivial solutions, it co
nstitutes a useful basis for building realistic partition-aware application
s, and it is implementable in practical asynchronous distributed systems wh
ere certain stability conditions hold.