On the management of computer aided design databases (object-oriented, refinements, alternatives, generalization, data model)

This dissertation provides a framework for effective management of databases for computer aided design (CAD) applications. The framework facilitates efficient organization and retrieval of design data, supports the iterative and tentative nature of the design process, and provides a data model for design databases. An implementation technique for design databases is introduced. The technique is based on an abstraction mechanism called component aggregation, which allows structural properties of design objects to be explored, and utilized in order to achieve an efficient organization of design data. A mathematical formalism for component aggregation is developed. A simplified relational database is outlined, and used to demonstrate the benefits of component aggregation in the execution of frequent operations in design applications. The iterative and tentative nature of design process is studied with respect to the composite structure of design objects. Different types of refinements are distinguished, and an abstract model of refinements is developed. A CAD database architecture is proposed, one which integrates the abstract model and the practical requirements of design applications into an operational environment. An object oriented data model (ODM) is presented. ODM integrates the functional data models and the actor model of computation. ODM increases the productivity of CAD operations by providing modeling facilities which closely mirror the designers' logical view of the data. ODM emphasizes the maintenance of refinements and alternatives, availability and extensibility of the metadata, and data and operation abstractions. The concept of Generalization Per Category (GPC) is formalized. It is shown that GPC imposes lattice structures on entity types and their subtypes. A high-level application-oriented data definition language based on the GPC is outlined, one which allows the system to derive general entity types and organize their instances. GPC can be used in the design of databases, such as parts libraries, which are about entity types with rich varieties and high populations. Some of the important applications of GPC are discussed.