Modern database and software system technology must respond to a wide variety of needs. Advanced applications such as office automation, CAD, or software engineering have new requirements in design environments, transaction mechanisms, and data types. This comprehensive volume by designers, implementors and users covers all aspects of building an object-oriented software system from data model through system implementation, interfaces, and applications. Utilizing techniques from databases, object-oriented languages, programming environments, and user interfaces, O2 is a landmark object-oriented database system representing a new generation of database technology. This guide will help researchers, database designers, and users to assess the nature and potential of object-oriented technology for themselves.