Terms and Conditions:
The author(s) wrote:Reproduced with the permission of the Publisher, Prentice Hall (a Pearson Education company). This work is protected by copyright and may not be reproduced other than when downloaded and viewed on a single Central Processor Unit (CPU) for private use only. It is not otherwise to be reproduced or transmitted or made available on a network without prior written permission of Prentice Hall. All other rights reserved.
Object-Oriented Software Composition adopts the viewpoint that object-oriented technology is essentially about composing flexible software applications from software components. Although object-oriented languages, tools and methods have come a long way since the birth of object-oriented programming, the technology is not yet mature. This book presents the results of a series of research projects related to object-oriented software composition that were carried out within the Object Systems Group
at the University of Geneva
, or by partners in collaborative research projects, during a period of about ten years. As such, this book is an attempt to synthesize and juxtapose ideas that were developed by a group of people working closely together over several years.
Although many different topics are treated, by presenting them together, the authors intend to show how certain ideas and principles are closely related to software composition, whether one considers programming language design, formal specification, tools and environments, or application development. Common threads running throughout the book include plug compatibility as a way of formalizing valid ways of composing components, active objects as being fundamental to the development of open systems, protocols as a necessary aspect of plug compatibility for active objects, higher-order functional composition as complementary to object composition, and evolution of objects and object frameworks as an essential aspect to capture in the software lifecycle.
This book should appeal to researchers and practitioners familiar with object-oriented technology, who are interested in research trends related to software composition. Although this book was not designed as a textbook, it would be suitable for an advanced seminar on object-oriented research. Individual chapters can be read independently. The order of presentation has been selected mainly to illustrate a progression of ideas from programming language design issues to environments and applications. Not only is the "Geneva view" of object-oriented development presented, but considerable effort has gone into placing the work in context, and several of the chapters contain extensive surveys of related work.