Data model for extensible support of explicit relationships in design databases

Joan Peckham, Bonnie MacKellar, Michael Doherty
1995 The VLDB journal  
We describe the conceptual model of SORAC, a data modeling system developed at the University of Rhode Island. SORAC supports both semantic objects and relationships, and provides a tool for modeling databases needed for complex design domains. SORAC's set of built-in semantic relationships permits the schema designer to specify enforcement rules that maintain constraints on the object and relationship types. SORAC then automatically generates C+ + code to maintain the specified enforcement
more » ... s, producing a schema that is compatible with Ontos. This facilitates the task of the schema designer, who no longer has to ensure that all methods on object classes correctly maintain necessary constraints. In addition, explicit specification of enforcement rules permits automated analysis of enforcement propagations. We compare the interpretations of relationships within the semantic and object-oriented models as an introduction to the mixed model that SORAC supports. Next, the set of built-in SORAC relationship types is presented in terms of the enforcement rules permitted on each relationship type. We then use the modeling requirements of an architectural design support system, called ArchObjects, to demonstrate the capabilities of SORAC. The implementation of the current SORAC prototype is also briefly discussed. 158 monitoring, and analysis of these projects. Methodologies developed for other domains often do not scale well to the complexities inherent in large design environments. Here we describe the use of semantic modeling to design object-oriented databases needed to support design systems. To illustrate the techniques, we show how the prototype Semantic Objects, Relationships" and Constraints (SORAC) system at the University of Rhode Island can be used to specify and automatically generate an object-oriented database for the support of the ArchObjects architectural design system (MacKellar and Ozel, 1991) . A data model with a rich set of built-in relationship types is needed to model the complex and non-standard relationships of the ArchObjects system, because the standard semantic models are inadequate for such applications. For example, relationships that are usually supported by semantic data models include IS-A, aggregation, association, and classification (Peckham and Maryanski, 1988). Relationship types needed in design systems include is-part-of, role, and alternate (MacKellar and Peckham, 1992) . Also, much of the information that needs to be represented in a design database is procedural in nature. However, many semantic data models do not provide support for data encapsulation. Their emphasis is on the description of the static structure of the database, and the associated dynamic structure is often not addressed. Another alternative is to construct an object-oriented database. Object-oriented data models (OODMs; Kim, 1990; Zdonik and Maier, 1990) have become very popular for modeling design applications due to their ability to represent procedural knowledge as a part of an object class definition. Through the use of a sound programming language paradigm, object-oriented models can support the design of objects and methods necessary for the support of complex relationships. This is adequate for the development of unique relationships. However, with the exception of IS-A, the canonical object-oriented data models currently do not offer relationships with built-in semantics. Thus, the developer of a design database would be required to construct ad hoc relationships in support of the application, even when the relationships are of established types. As Rumbaugh (1987) pointed out, this buries the relationship in the code and makes it much more difficult to describe and to understand the structure of the system. Both semantic and object-oriented data models are lacking in their support for the analysis of the semantics of complex relationships. Built-in relationships are useful in that they provide a vehicle for the careful analysis of database semantics. Since semantics can take the form of intra-object and inter-object constraints, they can have wide-ranging effects on the database. Design tools that support analysis and modification of these semantics can prevent errors in the logical design of complex schema. Another problem arises when attempting to construct a data model for the support of design databases. While the relationships necessary for these systems possess an agreed upon structure and set of core semantics, they are not completely standard. Even the semantics of frequently used design relationships can easily VLDB Journal 4 (2) Peckham: Support of Relationships in Design Databases 159
doi:10.1007/bf01237919 fatcat:gcw25gcqgbgotfehl4jaxsgy4u