Software development for distributed computer systems has now become an important topic that deserves dedicated treatment in a textbook for advanced undergraduates, beginning graduates, and software professionals. That is ...