Next: 2.2 Formalization of various
Up: 2 Specifications: Rigorous and
Previous: 2 Specifications: Rigorous and
The object-oriented ``way of doing things" has been introduced, in part, to provide a more natural path from business to system specifications, and then to system design and code. Nevertheless, the concepts of the traditional (message-oriented) object model are quite far from concepts naturally and conveniently used in business (and often system) specifications. Specifically, the traditional object model imposes a mindset of using a single hierarchy of subclasses of isolated objects exchanging messages and typically underestimates relationships between objects. It also requires properties of collections (both collective state and collective behavior) to be expressed in terms of their refinement using (attributes of) individual objects. This approach leads to quotes like ``The object-oriented way does add a certain amount of clutter to the specification and does mean that certain things are more awkward to express. This is because it is moving, even if only slightly, towards implementation." [Hal94b].
The shortcomings of the classical, traditional, object model have been recognized for some time and have been formulated in standardization documents [ANS91]. The generalized object model is free of these shortcomings, although it has far fewer available implementation mechanisms. However, a specification - be it a business or a system one - should not be based on available implementation mechanisms: this consideration clearly follows from separation of concerns and has been known in computing science for quite a while (from the work of E. W. Dijkstra [Dij65] and others).
Fortunately, there exist significant international standards based on the same ideas, specifically on the concept of abstraction. RM-ODP and GRM are important examples of these standards and will be considered in this paper. RM-ODP emphasizes common fundamental concepts encountered in any open distributed system, including distribution-independent concepts! It is used for descriptions of any system, not just software; and it includes both viewpoint-specific concepts, as well as - perhaps, more importantly - concepts common to all viewpoints - enterprise, information, computational, and so on. In doing so, RM-ODP stresses commonalities in specifications - from business to systems - and as such is ideally suited to serve as a basis for specifying the semantics of any system. Additionally, the semantics of some concepts which have been only ``lightly touched" by RM-ODP, can be expressed using the same approach. This has been accomplished for relationship specifications in [ISO95c] where the emphasis is on concepts used to understand and specify relationships in a representation-independent manner.
For communication, the value of a specification structured in accordance with the user's conceptual model and expressed in his terminology cannot be over-emphasized. This is true even if the implementation is structured or described differently. Fortunately, the generality and power of the concepts in RM-ODP and GRM often provide suitable material for this user-oriented style.
Randolph Johnson and Hiam Kilov