This work has been partially supported by the National Science Foundation under Grant No
MCS8210193. A later version of this material appeared in IEEE Software Vol.2, No.1, January 1985, pp.6373.
Note: This excerpted portion of Alexander Borgida's document has been extracted from the Postscript source, available on the URL ftp://ftp.cs.rutgers.edu/pub/borgida/CML-features.ps.gz as of 2001-01-25 Please use the canonical document accessible from this location to see the entire text of the article.
[Summary]
A computer system which stores, retrieves and manipulates information about some portion of the real
world can be viewed as a model of that domain of discourse. There has been considerable research
recently on languages which allow one to capture more of the semantics of the real world in these
computerized Information Systems research which has variously been labelled as Semantic Data
Modeling, Semantic Modeling or Conceptual Modeling. This review paper presents a list of the features
which appear to distinguish these languages from those traditionally used to describe and develop
databaseintensive applications, and considers the motivation for these features as well as the potential
advantages to be gained through their use. The paper, which is intended for those familiar with current data
processing practices, also compares in greater detail four programming languages which incorporate
semantic modeling facilities, and discusses some of the methodologies and tools for Information System
development based on these languages.
1. Introduction
The term "Information System" (and the acronym IS) is used in this paper to refer to any computer
system which is intended to assist a class of users in the task of maintaining and accessing a pool of
information on some aspect of a "real world" domain. We follow tradition here by restricting our attention
to "formatted data", in contradistinction with free natural language text, pictures or continuous signals
The view that in an IS
the symbol system in the computer is a model of the real world
has been noted and examined by numerous researchers (e.g., [Abrial 74], [Biller 77], [Langefors 77],
[Tsichritzis & Lochovsky 81]) and much of the work on "conceptual modeling" (abbreviated CM
henceforth) takes this as a fundamental tenet. It is important to note that the IS must model the user's
conceptualization of the application domain, not the designer's independent perception, nor should it be
a model of the way data is stored in the computer.
Given this assumption, what ought to be in a conceptual model of some universe of discourse?
Adopting a rather naive mentalistic philosophy, the mental world is often seen as populated by conceptual
objects/entities, which have associated descriptions and are interrelated in meaningful ways;
furthermore, activities occur over time, with resulting changes in interrelations; all of these are subject to
constraints, which define the terms and/or distinguish "reality" from other possible worlds (e.g., a person
can have only two parents). In this paper we wish to survey several languages which purport to allow the description of an IS in a manner which models the realworld enterprise more naturally and directly than has been the case traditionally. The goal of this approach is to facilitate
the design and maintenance of the IS, by adopting a vocabulary which is more appropriate
for the problem domain, and by structuring the IS description as well as the description
process;
the use of the IS, by making it easier for the user to interpret the data stored, and thus obtain
information.
The remainder of the paper is structured as follows: We first summarize some problems with traditional
IS development languages in Section 2. Then, in Sections 3 and 4, we present some of the facilities for
modeling the static and dynamic aspects of an enterprise which distinguish Conceptual Modeling
Languages (CMLs henceforth). Finally, we consider some aspects of novel methodologies for IS
development which are based on the use of CMLs, as well as computer tools supporting them.
There is currently an extensive and growing literature on "semantic data models", often concerned only
with modeling the information to be stored in the database. Since we cannot hope to give appropriate
attention to all of them in this paper, and since their semantics are notoriously vague, we have chosen to
explicitly consider mainly those CMs which have been incorporated into programming languages, and
thus are more likely to be properly defined and support the full description of an IS, including its activities. The specific languages to be discussed will be ADAPLEX [Adaplex 83], (based on the Semantic
Hierarchy Model [Smith & Smith 77] and Daplex [Shipman 81]), DIAL [Hammer & Berkowitz 80] (based on
SDM [McLeod 78]), GALILEO ([Albano et al 83], [Albano 83]) and TAXIS ([Mylopoulos et al 80], [Wong
81]). In addition, we will occasionally refer to some conceptual models which are important for historic
reasons, such as Abrial's Binary Model ( [Abrial 74]), Chen's EntityRelationship model ([Chen 76]), and Codd's extension to the relational model RM/T ([Codd 79]).
The appendix of this paper contains a brief summary of the fundamental features of each language
together with an example which has been expressed in each of them. The example was meant to
illustrate the special features of these languages and their relative strengths and weaknesses. The
appendix concludes with a comparison of the 4 languages along several dimensions of possible interest.
2. The traditional approach
Sections 2-6 are omitted in this excerpt.
2 The traditional approach
3 Semantic Modeling of Objects/Entities and Associations/Relationships
4 Modeling dynamic aspects of the enterprise in CMLs
5 IS design methodologies and Conceptual Models
6 Computer aids associated with CMLs
7. Conclusions
To summarize the advantages of CMs from the users' point of view, note again that the usefulness of
an IS depends on two general factors:
the accuracy and completeness of the information stored (i.e., how well it models reality), and
the accessibility of the information to the user.
CMs facilitate user access to information by:
modeling directly the entities and activities in the world
using the notion of attribute to access directly from one object all relevant related objects,
rather than having to navigate storagerelated access paths or computed joins
supporting the manipulation of groups of entities through setoriented operators, multivalued
attributes, and appropriate conventions
providing uniform access to generic as well as specific information usually found in the
database.
By incorporating more world semantics, CMs also help control the accuracy of the information.
From the point of view of IS developers, CMs advocate an approach which emphasizes the modelling
of the realworld enterprise, as opposed to consideration of implementation issues, and support it by
providing a vocabulary specifically suited for this purpose. Furthermore, the abstraction hierarchies
supported by the CML features as well as the associated automated tools help the designer in the task of
gathering, structuring and maintaining the IS description. [...]
Remaining sections (including bibliography and appendices) omitted.
Table of Contents
1 Introduction
2 The traditional approach
3 Semantic Modeling of Objects/Entities and Associations/Relationships
4 Modeling dynamic aspects of the enterprise in CMLs
5 IS design methodologies and Conceptual Models
6 Computer aids associated with CMLs
7 Conclusions
I Further details of four CMLs, including an example
I.1 An example
I.1.1 The example in ADAPLEX
I.1.2 The example in GALILEO
I.1.3 A Taxis description
I.1.4 The example in DIAL
I.2 A short note on approaches to implementing CMLs
|