Introduction
The modeling, storage and processing requirements of
computer-aided design applications are considerably different
from those of business and administrative data processing
applicationsgO1O. One of the major differences is in the data
model itself. A database system that manages computer-aided
design data is characterized by a data model that supports
complex configurations of design objects, A configuration of a
design object, e.g., a circuit, a software module or a mechanical
assembly of parts, is a composition of the object from other
design objects, called its components. Each component
represents an alternative design of a certain object, and also a
certain historical version. Commonly, both alternatives and
historical versions are termed simply as versions.
There are several other differences g*lo between database
systems that are intended for standard business-oriented
applications, and those that support computer-aided design of
integrated circuits, mechanical parts and software systems. But
in this paper, we are mainly concerned with configuration control,
and, in particular, how design configurations must be stored in
order to expedite the processing, and reduce the 110 needed to
materialize a complete design object recursively from its
components. This type of processing is called design expansion,
and is a step that precedes the simulation, analysis and detailed
consistency checks of design objects.
We model the complex interrelationships within a design
configuration by means of a directed acyclic graph (DAG). Each
version of an object appears as a node in such a graph. If an object version is composed from other object versions, the
corresponding nodes are connected with a directed edge. The
nodes, as well as the edges, have properties. For example, a
node that represents a circuit design has properties that describe
the circuit’s interface, behavior, time of creation, etc. An edge
that represents the composition of one circuit in terms of another
may have properties such as the geometrical position of the
component circuit within the containing circuit. Since a circuit can
be a component of multiple other circuits, it is possible for a node
to have multiple edges coming into it.
The advantage of representing design configurations as a
DAG is that their properties and processing requirements can be
explored formally with mathematical rigor. In pursuance of the
performance goals of a database system, we can try to reconcile
the processing needs with storage structures that result in
reduced l/O overheads and better performance. Engineering
design databases are large, and growing in complexity. Despite
the continuing trend of steady decline in the costs of
random-access memory, there is a growing consensus in the
design database community that such databases cannot be fully
accommodated in RAM, at least in the foreseeable future. 数据挖掘研究院
Hence, there will be a continuing need to minimize I/O costs. The
DAG representation of design configurations opens an avenue for
exploring this objective. 数据挖掘研究院

