Constraint analysis for the design of semantic database update operations
Susan Darling Urban, Lois Delcambre · 1987
As more emphasis is placed on expressing the semantics of an application in a declarative form, as in a semantic data model with an associated constraint language, it is important for a designer to understand how such constraints affect operations against the data. This research investigates the analysis of constraints as a tool for the definition of update semantics against abstract objects in an object-oriented database. The inherent constraints of a semantic data model are made explicit by using the model as a self-describing data model. The inherent constraints coupled with explicit constraints, expressed in a first order logic constraint language, form the complete set of constraints to be analyzed, uniformly represented in Horn clause form. To support the analysis of constraints, a representation known as constraint graphs is introduced based on a relationship between the clauses of a constraint known as the dominates relation. Constraint graphs provide a way to analyze the clauses of a constraint in a controlled and logical manner. Constraint graphs are augmented with an additional representation known as assumption lists. An assumption list provides a way to organize the predicates of a clause and its dominated clauses to support the analysis process. The structure of an assumption list is shown to correctly support the analysis of a set of clauses and to support the detection of design alternatives associated with satisfying the clauses. The research also demonstrates how recursive constraint analysis coupled with symbolic evaluation can be used to enhance the explanation of constraints. A tool for viewing abstract objects, known as perspectives, is also introduced. Constraint analysis is used to support the formation of perspectives and to define actions to be taken in response to constraint violations on operations against perspectives.