by Mohamed G. Gouda
A formal and abstract introduction to designing and evaluating communication protocols for information exchange among processes.