Part 1 Design by contract, Bertrand Meyer: scope; mothion of contract; assertion - contracting for software; class invariant and class correctness; more on assertions; dealing with abnormal situations; principles of exception handling; a disciplined exception handling mechanism; inheritance and dynamic binding; a plea for partial functions. Part 2 The new culture of software developments - reflections on the practice of object-oriented design, Bertrand Meyer: the two cultures; cohabitation; generalization; some organization aspects; lifecycle - the clester model. Part 3 An object-oriented approach to domain analysis, Sally Shlaer and Stephen Mellor: conceptual entities and associations; state models; interactions between objects; process models; experiences with object-oriented analysis. Part 4 Active software objects in a knowledge-based lifecycle support environment, Axel van Lamswerde: overview of the ALMA environment kernel; an architecture for generic lifecycle support; putting more semantics in SLC models - constraints; making SLC objects active by rule attachment. Part 5 On eclectic specification environments, Carlo Ghezzi and Dino Mandrioli: some examples on the eclectic use of models in specification; from the methodology to an environment - a few preliminary steps. Part 6 Distributed software design techniques, Mehdi Jazayeri: history and motivation for distributed systems; approaches to building distributed software; design techniques for reliability and efficiency; examples of distributed algorithms; summary and conclusions. Part 7 A tour of Hybrid - a language for programming with active objects, Oscar Nierstrasz: objects and threads; an overview of Hybrid; communication and concurrency in Hybrid; implementation; observations. Part 8 An object-based architecture for real-time applications, Libero Nigro and Francesco Tisato: objects; grouping and controlling objects; building a system. Part 9 Eiffel network simulator a development in Eiffel - design and implementation of a network simulator, Cyrille Gindre and Frederique Scola: the application - a communication network simulator; design and implementation; applying object-oriented concepts; qualitative assessment; quantitative assessment.