The starting point is a paper on "Non-blocking atomic commitment" by Babaoglu and Toueg, from Mulender's book on Distributed Systems. They present an algorithm for distributed atomic commitment that enjoys different sets of properties depending on what type of broadcast is used. They give an informal correctness proof which they claim is compositional, although I'd rather call it incremental (when the algorithm is modified, the proof is modified accordingly, some parts being reused).
A. Datta, A. Derek, J. Mitchell, and A. Roy. Electronic Notes in Theoretical Computer Science, 172 (0):
311 - 358(2007)<ce:title>Computation, Meaning, and Logic: Articles dedicated to Gordon Plotkin</ce:title>.
R. Canetti, L. Cheung, D. Kaynar, M. Liskov, N. Lynch, O. Pereira, and R. Segala. PROCEEDINGS THE 20TH INTERNATIONAL SYMPOSIUM ON DISTRIBUTED COMPUTING (DISC 2006). VOLUME 4167 OF LNCS., SPRINGER (2006) 238–253 INVITED PAPER, page 238--253. Springer, (2006)
M. Kühnrich, and U. Nestmann. Proceedings of the Joint 11th IFIP WG 6.1 International Conference FMOODS '09 and 29th IFIP WG 6.1 International Conference FORTE '09 on Formal Techniques for Distributed Systems, page 198--212. Berlin, Heidelberg, Springer-Verlag, (2009)