Authors: Edward L. Robertson, Munish Gandhi
Tags: 1992, conceptual modeling
This paper presents a conceptual data model for engineered products ranging from software systems to physical objects. The presented model views the hierarchy of components that constitute a system as layers of alternating specification and implementation. If one considers the principles of abstraction and encapsulation, one can see that this viewpoint is quite natural. Abstraction implies that all implementations are implementations of some specification. Thus specifications may be regarded as directly “above” implementations. Encapsulation implies that implementations, at least conceptually, use specifications rather than other implementations to fulfill their goals. Thus, implementations may be regarded as directly “above” specifications. This viewpoint has other advantages. It keeps specifications and implementations consistent with one another, models an evolving system nicely, and avoids version percolation problems naturally. It also suggests a way to separate local and global issues in system design.Read the full paper here: https://link.springer.com/chapter/10.1007/3-540-56023-8_13