Table of Contents
Previous Chapter 
The Design Representation Working Group's approach to this problem is to define a formal information model (IM) and a programming interface (called the DR-PI) based on the IM. The Information Model identifies the relevant object types in the domain of interest and specifies the attributes of each object type, including its relationships to other objects.
Release 1.0 of the IM and the DR-PI is limited to the domain of ELECTRICAL CONNECTIVITY information. The scope for the IM and the DR-PI is defined by the connectivity information needed for netlisters (EDIF, VHDL, . . .), logic simulators, timing analyzers, synthesis tools, layout tools, and flatteners, all of which work on hierarchical electrical connectivity data.
So, the 1.0 DR Working Group must do two things:
Define a particular means for CAD tools to represent, access, and manipulate design data, and
Achieve a consensus on that particular means among the members of the committee in order to drive the formation of a common guideline for the industry. Both are substantial problems, and they must be solved in parallel.
Note that the IM and the DR-PI do not constitute the design of any particular database facility. The IM is not a data model. Instead, each implementor (or provider) of the DR-PI must perform the appropriate mapping between the data model of their actual database and the organization of the CFI Design Representation Information Model. Particular data models and the transformations behind them can (and likely will) be proprietary to particular vendors.
The DR-PI provides access to actual design information, and it also provides an interface to a particular system's data without revealing the underlying implementation. It is a mask which is "put on" by that system and through which all access and manipulation of the data is provided. There is no implication whatsoever that the underlying data must be physically organized exactly like the IM.
To provide this access to the design information, the DR-PI is "handle-" or Object ID- (OID) based. No data structures are created or returned directly. Instead, the DR-PI defines a set of primitive types: such as integer, float, and string, and enumerated types: such as for specification of port direction, and OIDs that provide the "handles" to instances of the entities defined by the Information Model.
OIDs may not be assumed to be pointers and may never be de-referenced directly by DR-PI users. Access to both the attributes and relationships of a design object is only via DR-PI procedures applied to its OID. In particular, the C structure member operators "." and "->" are never used to access fields of a design object because the OID need not be a pointer (though it may be one in a particular implementation).
The Information Model is presented in the form of diagrams using the EXPRESS-G notation, as English text describing those diagrams, and as EXPRESS language text [1]. Each procedure in the DR-PI corresponds to some operation on design data in the domain specified by the IM. When possible, EXPRESS is used to define the semantics of those operations. When not, English text is used. Both EXPRESS and English are used to state the rules which are to be enforced as the information is manipulated.
This approach is based on democracy and electronic-mail. During meetings, different people will present technical approaches to the problems under consideration. Issues and concerns raised by working group members now must be submitted in writing. Between the meetings, these issues and others are distributed electronically. The issues are presented in a form that allows the members to vote their agreement or disagreement. When disagreement is voted, a member can supply a counter-proposal to be voted on by the group. This approach is proving to be an objective, unemotional procedure for obtaining decisions.