Canonical Forms for Data-Specifications

Semantic data-specifications, like Chen's Entity-Relationship specification mechanism ([Ch 76]) have been used for many years in the early stages of database design. More recently, they have become key ingredients of objectoriented software development methodologies ([Co 90, VB 91]). Since most of the data-specification mechanisms used in practice have only weak expressive power, we may hope to find an algorithm to decide wether two specifications are equivalent, in the sense that they have essentially the same models. In this paper, we present a categorical data-specification mechanism, and we show that, for an important subset of these specifications, equivalence is indeed decidable: we show that every specification (in the abovementioned subset) can be transformed to a canonical form such that two specifications are equivalent iff they have isomorphic canonical forms. This property is of utmost importance if r e u s e of data-specifications among software engineers is ever to be put in practice: it ensures us that two specifications of different parts of a given reality can always be combined by identifying the overlapping parts of their canonical forms.