The Object Oriented (OO) paradigm is well suited both for description and implementation of distributed systems. The advantages of such an approach are in increased decomposition of systems into modules (refinement), and in data abstraction. Since standards are emerging based round these techniques, this book uses this paradigm implicitly throughout, and explicitly in places.