Systems Programming --- Designing and Developing Distributed Applications Richard John Anthony Reader in self-managing computer systems University of Greenwich, UK