This volume provides an introduction to software engineering requirements for distributed systems. Concepts which are essential for the development of distributed programs are described in detail. It also explains how methods for distributed and non-distributed programs can be combined.