Simon MILTON. Department of Information Systems,. The University of Melbourne, Vic. 3010, Australia. Ed. KAZMIERCZAK. Department of Computer Science ...
On the Study of Data Modelling Languages using Chisholm’s Ontology Simon MILTON Department of Information Systems, The University of Melbourne, Vic. 3010, Australia Ed. KAZMIERCZAK Department of Computer Science and Software Engineering, The University of Melbourne, Vic. 3010, Australia Chris KEEN School of Information Systems, The University of Tasmania, GPO Box 252-87 Hobart, Tas 7001, Australia Abstract. Information modelling is a fundamental tool in the development of information systems. Numerous data modelling languages, such as the Entity Relationship Model, Functional Data Model or Object Oriented Data Model, have been proposed over the years with each purporting to have qualities and advantages not shared by their rivals. The claims are typically qualitative in their nature and it is difficult to provide rigorous support for these claims. The aim of this paper is to provide a methodological framework for the analysis of data modelling tools and for sharpening our understanding of those tools. The framework proposed here is based on ontology, which is the philosophical study of the fundamental categories of “what exists''. The framework uses a given ontology as a “lense'' through which to compare the world views embodied within specific data modelling tools. We propose the Method of Conceptual Comparison and the Method of Conceptual Evaluation for the qualitative analysis of data modelling languages and show how Chisholm’s ontology can be used as an underlying theory for these methods. We briefly sketch the application of the method of conceptual comparison and summarise our findings for various data modelling languages.
1. Introduction Data modelling has been with us for many years and numerous data modelling tools or languages have been proposed over that time [1-10]. Some have flourished while others have struggled to gain acceptance, but all purport to have key advantages over their rivals. The claims are usually qualitative and testing such claims is difficult. Further, the usual benchmark of public or commercial acceptance does not always reveal the true strengths and weaknesses of a data modelling language. This paper is the result of our attempts to find more structured methods for the qualitative analysis of data modelling languages and, in effect, to sharpen our understanding of those languages. What we seek is a framework in which we can lay bare the core elements of a data modelling language, assess its capacity to “capture our reality” and to compare different data modelling languages on their ability to do this. Capturing reality is subjective and clearly depends on who is doing the capturing and who will use the resulting model. This brings us to another point. Data modelling languages are used to create models of real world information systems; we then explore those models, and use those models to develop real systems that must be put into practice. Further, we often make guarded predictions about the behaviour of our information system based on our model. Ideally, our models should be consistent enough with our perceptions of reality that predictions made from the model should be good indicators of how an actual information system will behave in practice. The question then becomes ‘how can we guarantee this’?
The goal of our research has been to develop qualitative methods for comparing and evaluating a range of data modelling languages [7] in order to understand their strengths and weaknesses for modelling information systems. Not many candidate theoretical frameworks lend themselves easily to a qualitative analysis of data modelling languages but one class of frameworks that do are those based on ontology. Ontology is a mature philosophical discipline and is concerned primarily with what exists in reality. As a philosopher understands it, the study of ontologies deals with the ‘categorial structure of reality’ [11]. An ontology also provides a description of fundamental terms, which one uses to describe reality, and the ways in which these terms relate to the categories. In these ontologies basic questions are asked concerning the constituents of reality and what fundamental categories of things exist in reality, together with the terms that one needs to construct a description of a ‘state of affairs’. For example, the categories of Chisholm’s ontology include Entities, Individuals, Substances, and Events, but not categories such as Land vehicle and Sea vehicle which may be found in more domain specific ontologies, although there is a relationship between the two types of ontology. If a thing (be it physical or conceptual) is said to exist then it can be classified and described within the taxonomy. Terms additional to the categories, such as class, set, and relation, are defined and described in relation to the categories. Ontologies not only tell us what exists, according to a certain philosophical viewpoint, but also how we would classify and describe those things and thus the ontology can be thought of as an intellectual “lense” through which to view reality. Ontologies are perfectly suited to provide us with a qualitative framework in which to classify and describe the same things that data modelling languages are designed to model. We may then ask questions such as: • What features do data modelling languages have in common with each other and with an ontology, and which features differ between data modelling languages and the ontology? • How well does the data modelling language capture reality relative to an ontology? • Which models are most natural to stakeholders as assessed through an ontology? • How can specific data modelling languages be improved to reflect the views and understanding of stakeholders? Recent work by [12] suggests that data modelling languages have an inherent ontology that is assumed by the modelling constructs provided by the language. The ontology in this case is being used to relate the sorts of things that exist from an ontological point of view with the sorts of things that can be modeled using the constructs available in a data modelling language (and with their tacit ontology [12]). If the ontology, or at least a good portion of it, is shared among stakeholders then we may compare and evaluate data modelling languages for the purpose of finding the most “natural” language for our practitioners. This ontological view of data modelling languages can however, provide us with still more information. A specific ontology can be thought of as a “lense”, or “filter”, through which we view the universe of discourse and the relationships between things in that universe. The lense of ontology will help to highlight the things and relationships that our data modelling language expresses most naturally as well as those that it can’t. By changing lenses, through selecting a different ontology, and repeating these comparisons and evaluations we start to learn the specific strengths and deficits of data modelling languages across a range of different world views and from different philosophical traditions. Doing this, we believe, will ultimately help to create sharper, more effective languages. Methodology is another facet to our discussion of ontology and data modelling languages. Our desire to qualitatively compare and evaluate data modelling languages against ontologies requires a proper consideration of methods if we are to trust our analyses. In this paper we discuss two methods: the methods of conceptual evaluation and conceptual comparison; an earlier version of the method of conceptual comparison appeared in [13]. The aim of this paper is to therefore to present a framework for the qualitative evaluation and comparison of data modelling languages relative to a given ontology. In this paper we choose and ontology by Roderick Chisholm as the basis for our methods and present our Evaluative and Comparative methods for the qualitative analysis of data modelling languages. The idea of using ontologies to underpin theory in information systems is not new. The use of Bunge’s ontology [14, 15] to underpin theories about the representational parts of the analysis and design of information systems has already been suggested [16-21]. Our work has similar aims in that we wish to compare and evaluate the representational parts of information
system modelling, but we differ from [14, 15] in a number of key aspects. • We focus specifically on data modelling languages and not on the broader systems analysis context as in [18, 20]. • Our discussion of Evaluative and Comparative methods and the analyses that these methods yield, differ from those in [18, 20]. • We base our analyses on an ontology by Roderick Chisholm rather than on the ontology proposed by Bunge [14, 15]. This yields a qualitatively different analysis to that given in [18, 20]. Other work in area of ontology and information systems includes the work of Mylopoulos [12] that seeks to uncover the ontology inherent in various modelling languages. Our work differs in that we seek a framework, or unifying theory, in which to compare and evaluate the ontology inherent within data modelling languages with an external ontology. ]. Our work is based around existing ontologies in the same manner as that of [16-21]. The external ontology plays the role of the reference that forms the basis of the evaluation and the comparison. We also differ in our use of ontology to that found in the Artificial Intelligence community [43]. Our use of ontology is closer to the philosophical tradition in that we use ontology to provide a categorisation of “what exists” and from this categorisation we extract the concepts relevant for our evaluation and comparison. Our paper is organised as follows. In sections 2 we elaborate on the ontological viewpoint of reality and relate it to data modelling languages. In section 3 we turn our attention to Chisholm's ontology before turning our attention to method. Deriving suitable methods is extremely important for us because a good method provides us with a rigorous and systematic way of extracting useful information about specific data modelling languages. In section 5 we illustrate the comparative method on the analysis of a number of different data modelling languages and in section 6 we give our conclusions. 2. Relating Ontology and Data Modelling Languages We will begin by elaborating on our understanding of ontology and discussing our ontological view of data modelling languages. Our treatment of ontology in this paper stems from the philosophical tradition and a good definition of ontology for our purposes can be found in [11]. Definition 1 – Ontology “Ontology, understood as a branch of metaphysics, is the science of being in general, embracing such issues as the nature of existence and the categorical structure of reality. ... Different systems of ontology propose alternative categorical schemes. A categorical scheme typically exhibits a hierarchical structure, with ‘being’ or ‘entity’ as the topmost category, embracing everything that exists”. We will also need to carefully distinguish the “expressions” which we use to refer to elements of the ontology, from the meaning that is intended interpretation of those expressions within the ontology. For the purpose of distinguishing expressions from their intended interpretation we will use the word Term to mean the description of an element from the ontology and the word Concept to mean the interpretation that the ontology gives the term. Thus, terms constitute the expressions that we use to refer to concepts while concepts give meaning to terms in specific ontologies. If we again return to the philosophical perspective, then a concept is defined as follows. Definition 2 – Concept “[A] concept is a way of thinking about something -- a particular object, or property, or relation, or some other entity.” [24] Concepts give meaning to terms. As an example consider the term entity as used in the entity relationship (ER) model. The concept associated with the term entity in the ER model is “... something which involves information. It is usually identifiable. Each entity has certain characteristics, known as attributes. A grouping of related entities becomes an entity set.” [25] Other similar definitions can be found in many related texts, including the classical paper by Chen [23]. For data modelling languages, the concept associated with a term can be synthesised from seminal and original sources. The problem then shifts to one of expressing the concept to others.
We will link terms to concepts via signifiers as found in Eco’s semiotic theory [22] and to emphasize the conceptual nature of our methods we will speak of the concepts but refer to them using the terms of the ontology. Note that an analysis of a data modelling language is achieved using both terms and concepts but that it is the concepts, embodied in the ontology, which exposes the ontological underpinnings of any given data modelling language. To describe an ontology we require the following elements. • We need a categorisation of what constitutes reality, and what fundamental categories of things exist. • We need terms to construct descriptions of the current “state of affairs” and the concepts that fully define those terms. • We need a means of relating the terms back to the fundamental categories of the ontology. Notice that an ontology provides us with the terms needed to describe “what there is”, whether physical or non-physical. Terms, however, are typically not restricted to the just those that describe the fundamental categories of the ontology and the set of terms used by the ontology may well be a superset of the terms used to identify the fundamental categories. Using Chisholm's ontology as an example, we may have terms individual, attribute, event, set and class even if the fundamental categories consist only of individual, attribute and event. The ontology clarifies the terms needed for making sense of what there is and all terms are related back to the categories in the ontology. Data modelling languages use terms, in the same sense as used above, to describe modelling elements. As an example, the Entity Relationship model [23] uses the terms entity, relationship and attribute and these terms also signify specific modelling concepts within the context of the Entity Relationship model. Further, the terms, and their underlying concepts, that are used to describe a given data modelling language may also constitute an ontology of the type described above. But, are these concepts the same as those found in a philosophical ontology? We claim that the terms and concepts used to define a data modelling language constitute a Meta-model for the modelling language. It is by no means the only meta-model that can be derived for a given data modelling language, but the terms and concepts used to define a data model form an Ontological Meta-model for the language. An answer to the question above now yields a comparison of the ontological meta-model associated with the data modelling language to an external, or Reference, ontology. A comparison of this sort, using ontology, yields a qualitative analysis of the similarity and difference between the view of the world that can be captured by the data model and that embodied in the ontology. We wish to compare concepts and not just the terms used to label concepts. In standard philosophical texts, a concept is expressed using a possession condition. A possession condition essentially embodies that which is required for sufficient understanding of the concept to be conveyed to another person. Definition 3 – Possession condition A possession condition is “[a] statement which individuates a concept by saying what is required for a thinker to possess it.” [24] Again, in the Entity Relationship model, we can represent the concept associated with entity using a possession condition that conveys the essence of the concept for entity. Some concepts, however, are compound consisting of several parts. To understand compound concepts we first consider its core. Definition 4 - Core Concept A core concept is one such that its absence would render the definition of an entire concept meaningless [26]. For example, the concept of a knife would be meaningless without a blade and some handle that fits within the palm of one’s hand. Other parts of the concept, if absent, do not have the effect of rendering the concept meaningless. In the case of entity from the classic ER modelling language, we can represent the concept in the two-part compound possession condition that represents the concept shown in Table 1. If we view data modelling languages through our ontological “lense” then we can observe if the models built using our data modelling languages exhibit the a world view embodied by an ontology by having observed how well the meaning of terms found in the data modelling language matches the ontology. An evaluation of the ontological meta-model derived from the data modelling language can be conducted by comparing the concepts in the ontological
meta-model with those of the ontology. An examination of the results would reveal the overlap between the ontology and the data modelling language. The method for conducting such conceptual evaluations and comparisons is described in section 4. Before this, we require a concrete ontology with which to conduct our study. This ontology is described in the next section. Entity
Core
ER allows for significant entities, or objects (either physical or conceptual) to be modelled. These must be grouped into entity classes. Each entity cannot depend upon other entities to be classed as an entity
Identity
Each member of an entity class must have a unique identity called a key.
Table 1 – The concept “entity” from the classic ER modelling language
3. Chisholm’s Ontology Chisholm has written extensively in the areas of ontology, metaphysics, and epistemology [28-34] and these works provide a backdrop to his 1996 monograph. Consequently, we must necessarily be brief in introducing Chisholm’s ontology. Interested readers are encouraged to refer to the monograph by Chisholm [27] for a much more comprehensive treatment of the ontology. Recall from Definition 1 that an ontology is a categorisation of what exists. Chisholm’s categorisation of the structure of reality is organised into the taxonomy shown in Figure 1 . Chisholm adheres to the theory that establishes the dichotomy dividing the world into entities that are ‘contingent’ and don’t have to exist, and those that are ‘necessary’ entities and must exist in order for the theory to be consistent [11]. This is reflected in the first branch in Figure 1 where the entire universe consists of entities divided in those that are contingent and those that are necessary. There are two categories of state, contingent states and necessary states. Contingent states describe the states of contingent individuals, whereas non-contingent substances (perhaps God [27]) that neither ceases to exist nor comes into being are described by necessary states. Our interest in data modelling will be contingent states and individuals. Entities Contingent
States
Events
Necessary
Individuals
Boundaries
States
Substances
Non-states
Attributes
Substance
Figure 1—The Categories for Chisholm’s Ontology [27]
Note that the nodes in the taxonomy are labelled by terms. These terms form a subset of terms from the ontology, for example, the terms individual and attribute. In fact individuals and attributes are central to Chisholm’s ontology. Further, other terms that we need are defined only using attributes in relation to individuals, that is, ‘individual’ and ‘attribute’ have descriptions that show not only their individual nature, but also their roles in the description of other terms – specifically, class and relation. In this section we introduce the key terms from Chisholm’s ontology that we use in ontological studies of data modelling languages. The paragraphs describing each term convey the concept associated with the term. We conclude with a tabular summary of the concepts.
Individual An individual is a discernable and transient object. It need not be material (or physical) in nature. Examples of individuals are an accountant named Freda, the annual financial statements for Ericsson, and Orly International Airport. Individuals are identified using attributes that only they exemplify, and may have constituents thereby giving them structure. Constituents may be other individuals (called parts) or may be boundaries (the other constituents). For example, consider Orly Airport. It has several rent-a-car franchises, bars, restaurants, and departure gates. Each of these are parts of Orly Airport and are also individuals. Attribute An individual may exemplify attributes. Each attribute may be exemplified by many individuals. Orly Airport is very busy; Nokia’s balance sheet is good; Freda, our accountant, is of age 43. Some attributes may never be exemplified and others cannot be exemplified. For example, Orly Airport may never be green. We can be sure that Orly Airport can never be a liquid. It is clear in the ontology that it is possible to have attrributes that can never be exemplified. We can talk about the attribute, but nothing can exemplify it. Two attributes are considered to be equivalent if one of the attributes is exemplified by the individual then the other is also, and visa versa. This concept is called conceptual entailment in the ontology. This can be illustrated by considering Orly Airport. The attribute very busy may involve a conceptual entailment with the attribute of having the number of aircraft movements an hour exceeding a certain rate. Conceptual entailment can also be useful when two people observing something use different attributes, that are conceptually equivalent, to describe the state of affairs. One may be a well-known attribute, the other more obscure yet equivalent to the first. The example Chisholm uses is pulchritudinous and beautiful - they are equivalent although one person may not be aware of the meaning of puchritudinous. Chisholm allows for compound attributes. Compound attributes may consist of other compound attributes or simple attributes. He suggests that an attribute may be the conjunction or disjunction of several attributes. For example, the attribute of ‘being good’ with respect to Nokia’s financial statements may be the conjunction of being in surplus (profit) and being of good credit rating. Chisholm also indicates that there may be alternative mechanisms for providing compound attributes. Philosophically and logically it makes little sense to talk about when an attribute came into being. According to Chisholm’s ontology, attributes are enduring, thus avoiding the problem of declaring when an attribute comes into being. For example, when did the attribute ‘being green’ first come into being? Since we cannot know and since raising its genesis brings about certain problems it is better to adopt the position that attributes are non contingent, they exist perpetually. This, together with the fact that an attribute can be exemplifed by many individuals implies a loose coupling of individuals and attributes. Classification In Chisholm’s ontology, attributes are used to restrict membership of sets and classes. Chisholm’s ontology reduces the discussion of classes to the discussion of attributes by adopting Russell’s reduction of classes to attributes [35]. This has the effect of building classes and sets from individuals through the exemplification of an individual’s attributes and not by constructing elaborate class structures. For example, suppose we are maintaining a taxonomy of plants. Periodically, the taxonomy may change quite drastically without a change in the majority of attributes exhibited by the plants involved. Using Chisholm’s ontology classes can change radically through a change in membership criteria based on attribute exemplification. Classes and sets can be selected based upon attributes that are conjunctions and disjunctions of other attributes, and in this sense complex class relationships can be realised, that are essentially class structures. Classes are reflections of attributes exemplified by individuals due to the fact that they exemplify the attributes that are used to select the class. Relation Individuals may be related. Chisholm says: “To know what relations are, we must understand the concept of the direction of relations” [27]. Chisholm means that relations may not be
reciprocated, or alternatively must be carefully considered from the viewpoints of all individuals concerned. For example, I may be interested in a job with Nokia. Nokia may not be interested in employing me. It is for this reason that relations are unidirectional in the ontology. Further, in the ontology, relations are formed from the attributes that individuals exemplify, and may be represented by ordered pairs of individuals. This results from the fact that ordered pairs are related to sets of a specific form and therefore can be reduced to a discussion of attributes in the maner noted above. Concept
Part
Description
Individual
Core
Chisholm allows for discernable and transient objects. These are called individuals. Individuals come into being ( created) and pass away (destroyed). In this sense they are transient.
Identity
Each individual possesses an attribute (or several attributes) that uniquely identifies it.
Structure
Individuals may have constituents. These are either other individuals (known as parts) or boundaries (the other constituents.) Individuals that make up parts of others are still thought of as being individuals.
Core
Attributes are exemplified by individuals. Further, attributes are enduring, in the sense that they don’t come into being and don’t pass away. Attributes must be loosely coupled with individuals.
Conceptual Entailment
Attributes can be conceptually entail each other in the sense that if something exhibits one attribute then it exhibits the other.
Complexity
Attributes may be simple or complex. Complex attributes are combinations of either simple or other complex attributes. The mechanism suggested by Chisholm is one involving conjunction and disjunction of attributes. He feels there may be other ways of providing for this complexity.
Classification (classes and sets)
Core
Classes and sets are provided using attributes. Specifically, it is through the attributes that membership of classes is determined.
Relation
Core
Individuals may be related. Specifically, relations are attributes (an ordered pair). The ontology requires that attributes that identify the participating individuals are required. Further, that the relations are unidirectional (not bidirectional). Clearly, bidirectional relations can be established through two unidirectional ones.
Attribute
Table 2—Concepts for Statics in Chisholm’s Ontology
For an ordered pair to represent unidirectional relations, attributes that uniquely describe and thereby identify each individual need to be found. For example, suppose that Freda (our accountant) is recruited to audit Nokia’s books then an attribute being an ordered pair of identifying attributes for Freda and Nokia would have to be exhibited by Freda. A reciprocal attribute representing the reverse relation would need to be exhibited by Nokia, if the reciprocal applies. In the simplest case an individual may be related to another (binary). More complex relations between three individuals (ternary) or more (n-ary) are allowed. Mathematically it is proven that these all can be reduced to a series of binary relations [36]. Table 2 summarises the relevant terms and concepts from Chisholm’s ontology
4. Method Chisholm’s ontology provides the fundamental concepts, according to which the things that exist can be classified, and it provides a definition of those concepts which give the categories their meaning and communicate to us the exact nature of the things in the world. The role of our methods is to compare and to contrast the ontological meta-model embodied in our data modelling languages with a reference ontology. In the discussion below we will assume that we have not yet selected the ontology to be used and refer to a fixed but arbitrary ontology as our reference ontology. The reader can however, consider Chisholm’s ontology as our intended target. We present two methods for evaluating data modelling languages against an ontology: (1) the method of conceptual evaluation, which in turn forms the basis of the second method which is, (2) the method of conceptual comparison. In this paper we present the results of an application of the latter method. 4.1 The Method of Conceptual Evaluation The aim of the method of conceptual evaluation is to compare the ontology embodied in a data modelling language with a reference ontology. The presentation of the method given here is a substantial refinement of that first presented in [13] and refined in [26]. In conducting a conceptual evaluation we are seeking to provide qualitative answers to the questions listed in section 1 for a specific data modelling language. Reference ontology
Conceptual evaluation
Data model ontology
{
Qualitative understanding of similarities and differences
Figure 2 – the method of conceptual evaluation
As indicated in Figure 2 the inputs to the method are the reference ontology and the ontology derived from the meta-language of the data modelling language. The output of the method is a list of similarities and differences between the two sets of concepts and a qualitative analysis of those similarities and differences. The method of conceptual comparison has four basic steps. Step 1: Determine the set of concepts from the reference ontology to be used in the forward evaluation. This set of concepts we call the reference concepts. Step 2: Determine the set of concepts from the ontology embodied in the data modelling language to be used in the backward evaluation. This set of concepts we call the data modelling concepts. Step 3: Perform a forward and backward evaluation of the two sets of concepts and tabulate the results. Step 4: Perform the analysis step in which the results are analysed. The first step is to determine the basic set of concepts on which the forward evaluation will be based. The method does not prescribe which set of concepts from the reference ontology should be chosen. For example, one may wish to study the concept of state in UML by reference to Chisholm’s ontology, and consequently the fundamental concepts of states and events may be the only relevant concepts that need to be considered for such a limited study. Nevertheless, the chosen concepts must be appropriate for the modelling language under study. In this study, for example, only the static or structural concepts are required because that is the nature of the data modelling languages under examination. The concepts for the reference ontology used in this study are shown in the previous section. The second step resembles the first and involves determining the set of concepts from a particular data modelling language. Each data modelling language will have different concepts using which sense is made of reality. The third step involves the comparison of concepts from each of the reference ontology and the ontology embodied in concepts from a data modelling language. It is performed utilising concepts from the data modelling language as well as the reference ontology according to our
philosophy – the reference ontology is only one ontology which could be chosen and is not the only theory in that other reference ontologies could be used. Nor is the ontology necessarily better than the data modelling languages. The presentation of the results of the comparison utilises the semiotic theory of Umberto Eco [22]. Each concept from a reference ontology or the ontology of a data modelling language spans part of a semantic field. Through the idea of a semantic field we can express the similarities and differences between concepts in the reference ontology and those embodying the ontology from the data modelling language. Specifically, we use a graded indicator based to express the similarities and difference. In essence, when comparing a concept c (from the ontology) with a specific data modelling language, there are three broad categories of results. Firstly, the data modelling language may have total overlap with respect to c. Total overlap may be provided by one concept (for example, d) or perhaps by several concepts (for example, two concepts d and e). That is, there may be one concept or several concepts that together provide total overlap, in terms of semantic field, with the concept from the ontology. The second possibility is where the overlap is partial. Finally, it may be that there is no overlap at all between the data modelling language and c from the ontology. Figure 3 shows the three categories pictorially. While the coverage of a specific concept is depicted in this figure as a sharp rectangle, the nature of semantic fields dictates that the boundaries between semantic fields are quite imprecise. d
d
c
c
c e √—full coverage
e √p—partial coverage
X—no coverage
Figure 3—Degree of Overlap in Coverage of Semantic Field
Each of these categories of results can be indicated using symbols so that an idea of the results of the comparison can be conveyed easily in tabular form. This is called the indicative results. The three symbols for full coverage, partial coverage and no coverage are (√) (√p) and (X) respectively. The final step in the method is to analyse the results considering more deeply the implications of the indicative results from step 3. The analysis considers issues beyond the direct comparison of concepts and discusses such as the nature of the gaps in coverage that are evident from the results as presented in Step 3 and the implications of these on the data modelling languages. 4.2 The Method of Conceptual Comparison The method of conceptual comparison seeks to compare a number of data modelling languages by conducting a series of conceptual evaluations against a reference ontology. In essence this indicates the degree to which a reference ontology is reflected in the ontology of a range of data modelling languages and utilises the reference ontology as a benchmark against which the data modelling languages can be assessed. In conducting the series of conceptual evaluations we are testing each language against the selected and independent view of reality as represented by a reference ontology. The method can be used to determine how wide spread and to what degree a reference ontology is reflected in the ontologies implied in a range of data modelling languages. Depending on the analysis of the results found comment can be made on the applicability of the reference ontology to a range of data modelling languages. In the following section we present the results of such a conceptual comparison with a range of data modelling languages. 5. Results and Discussion We selected five representative data modelling languages for a conceptual comparison with Chisholm’s ontology. Apart from the classical Entity-Relationship (ER) model [23], we also
selected the Functional Data Model (FDM) [6, 37], the Semantic Data Model (SDM) [38, 39], NIAM [40], and Object Modelling Technique (OMT) [41]. These are described in the following sub-section. Following this, we present the results of the comparison. 5.1 The Data Modelling Languages Entity-Relationship Model The Entity-Relationship (ER) family of modelling languages (sometimes called EntityAttribute-Relationship models) were first proposed in the late 1960s, and the most popular of which is the model proposed by Chen [23]. Chen’s modelling language has since been augmented with extra constructs [44,45] to form the Extended ER Model. For the sake of completeness we will include elements of the extended model. ER models are centred around three fundamentals concepts: entity-type, relationship-type, and attribute-type [4]. Members of the entity-type are identifiable entities (either physical or conceptual) from the world. ‘An entity is a “thing” which can be distinctly identified.’ and these are then classified into entity sets [23]. Attributes are properties held by all members of a given entity-type or relationship-type. A relationship is an association among entities. [23] The concept of a relation is fundamental to all ER approaches. The concepts introduced by the ER model are summarised in Table 3. Concept
Part
Description
Entity
Core
ER allows for significant entities, or objects (either physical or conceptual) to be modelled. These must be grouped into entity classes. Each entity cannot depend upon other entities to be classeed as an entity.
Identity Relationship
Core
Cardinality
Each member of an entity class must have a unique identity called a key. Relationships are defined over entity classes. Members of specified classes may participate in the relationship Each relationship has cardinality. This specifies the minimum and maximum numbers of entities from the participating entity classes that can engage in relationships
Generalisation
Core
A special category of relationship that allows for is-a types of relationships. It allows for classification of entity classes, although it is forced in this technique
Attribute
Core
Attributes are specified over entity and relationship classes. They are tightly bound to these classes.
Table 3—Concepts for the Entity-Relationship Model
Functional Data Model The functional data modelling language [6,37] is one of the simplest in the family of semantic data models, and is also “recognized as the first semantic model centred around functional relationships, that is, attributes” [2]. ‘The basic constructs of [FDM] are the entity and the function.’ [6] Entities are of two types. Firstly, they can be identifiable objects or things called object-type entities or they can be attributes or properties, called attribute-type entities. An example of an object-type entity is the pilot of an aeroplane. The number of years a pilot has been flying is an example of an attribute-type entity. Functions are used to express relationships between object-type entities (object to object mapping) or to associate attributes with object-type entities (object to attribute mapping.) Functions represent unidirectional relationships are unidirectional. Bidirectional relationships are modelled using inverse functions. One key strength of FDM is its simplicity, in that it limits the modelling constructs required to entity and function and this provides a ‘simple language for data definition and manipulation.’
[4]. The use of entities to include both attribute-type and object-type entities is unusual, but it is in this way that attributes are loosely coupled with entities and linked through functions. Concept
Part
Description
Entity
Core
An entity is either a significant thing in reality, or it is an attribute. Firstly, identifiable objects are entities (object type). Secondly, the values of attributes are entities (attribute type).
Object type Attribute type
Function
Core
Relationship mapping
This models significant and distinguishable objects from reality. This type of entity records attributes of object-type entities. These are loosely coupled with the object-type entities they describe. Functions map from entity to entity. It supports several types of concepts. Firstly, relationships; Secondly, attributes; Thirdly, classification; Fourthly, crude aggregation Functions may map from object-type entities to other object-type entities. These are relationships. They are unidirectional. Bidirectional relationships are modelled using inverse (or reverse) functions.
Attribute mapping
Mappings from object-type entities to attribute-type entities represents the exemplification of attributes by object-type entities.
Aggregation mapping
Mappings from two or more object-type entities to one attribute-type entity. Each mapping representing an attribute of the aggregated entity.
Classification mapping
Mapping from object-type entities to a list of object-type entities. Can be used to group like entities or to select entities based on some qualification. This can mimick generalisation/specialisation
Table 4—Concepts for the Functional Data Model
Semantic Data Model The semantic data model (SDM) [39] was designed to improve the modelling of semantics in data modelling languages. It is one of the first data modelling languages to incorporate the concept called class. [2] “The following principles of database organization underlie the design of SDM. (1) A database is to be viewed as a collection of entities that correspond to the actual objects in the application environment. (2) The entities in a database are organized into classes that are meaningful collections of entities. (3) The classes of a database are not in general independent, but rather are logically related by means of interclass connections. (4) Database entities and classes have attributes that describe their characteristics and relate them to other database entities. An attribute value may be derived from other values in the database. (5) There are several primitive ways of defining interclass connections and derived attributes, corresponding to the most common types of information redundancy appearing in database applications. These facilities integrate multiple ways of viewing the same basic information, and provide building blocks for describing complex attributes and interclass relationships.” [6] SDM is centred on abstract entities that can be collected into classes of meaningful collections of entities. Classes are named and have entities as members. Entities can be concrete objects, events, categorisations or names. Attributes are defined in terms of classes. Firstly, member attributes are used to describe members of a class. Further, class attributes describe properties that the class as a whole possess. [4]
Concept
Part
Entity
Core
SDM has entities. Entities can be objects, events, categorisations (known as higher-order entities), or names.
Class
Entities are collected into classes of “meaningful collections of entities.” These classes are named. Two types of classes are established. Base classes are fully independent of any other class. Non-base classes are derived from other classes. The data is only extant in base classes.
Attribute
Description
Identity
Base classes use identifiers that are groups of attributes (see below) that uniquely identify member entities. There may be several different unique identifiers specified.
Interclass Connection
These connect non-base classes to base classes. There are two types of interclass connections. Firstly, a subclass connection is where entities of the subclass are a subset of the entities in the superclass. A predicate is used to restrict membership of the subclass. Secondly, a grouping connection establishes a class whose members are classes themselves.
Subclass
These are selected three ways. Firstly, using a predicate on the member attributes of the superclass. Secondly, ‘where specified’ to create an ad hoc collection. Thirdly, from a third class where membership is specified using an attribute’s value for members of the third class.
Grouping Class
This establishes a class whose members are classes themselves. Three ways of selecting members is possible. Firstly, by attribute where an attribute establishes the member classes. Secondly, enumeration. Thirdly, user control.
Core
Attributes are specified over classes of entities. That is, they are tightly bound to these classes. Further, they may apply to members of the class (member attribute) or be for the class as a whole (class attribute)
Values
Values of entities are taken from a value class according to rules. Attributes can be single valued (one value from the value class) or multi-valued (several values from the value class)
Restrictions
Attributes may be restricted according to recognised rules. Specifically, these concern what values may be selected for an attribute, how the values are calculated, etc.
Table 5—Concepts for the Semantic Data Model
Classes are divided into base classes and non-base classes where base classes are modelling primitives and entities only really exist in base classes [6]. Base classes have associated groups of attributes called identifiers that can be used to uniquely identify member entities. Nonbase classes are derived from base classes in that non-base classes are linked to base classes using interclass connections. Interclass connections fall into two categories. Firstly, an inter-class connection can be a predicate on the member attributes of the superclass. The second type of interclass connection is a grouping connection where a grouping class can be constructed. There is a degree of user control in selecting arbitrary classes. Attributes in SDM are associated with classes and each attribute has a unique name [6]. Further, they can have a value which is either an entity in the model or a collection of entities. The value of an attribute is selected from its underlying value class. This contains the permissible values for the attribute concerned. Attributes can be either multi-valued or single-valued. SDM has the advantage of allowing a high degree of freedom with construction of classes together with the ability to construct a wide variety of classes from base classes [2]. It suffers from being somewhat difficult to manage with particularly complex attribute derivation rules and it is possible that a modelling example would not fit the class rigidity that is presented. Flexibility in the face of change is not high with SDM.
NIAM NIAM [40] is a fact oriented design method. A subset of the method concerns data modelling. We concentrate on the elements which could be described as being responsible for data modelling. A NIAM data model consists of facts, entities, constraints, and derivation rules. Each of these have several facets which are described in Table 6. Facts describe elements of a data model. Firstly, they can record properties that an object (entity) possesses. Secondly, they could register the participation of an entity in a relationship. Essentially facts are assertions made about elements of the model. [40] Facts can be derived by being based on other facts in the model. ‘An entity may be a tangible object (e.g. the person Felix) or an abstract object (e.g. the subject CS112).’ [40] Entity types define groups of like entities. Facts that are properties are loosely coupled with entities. That is they can be considered to be conceptually separate from the entities they describe. Relationships can exist between entities and in NIAM relationships are bidirectional by default. Concept
Part
Description
Fact
Core
Not essentially a part of the modelling framework, but underpins the philosophy of the framework in key ways. Most notable is the basis for facts in predicates. From these information about other concepts are gathered for specific modelling cases.
Entity
Core
NIAM allows for significant entities, or objects (either physical or conceptual) to be modelled. These are grouped into entity classes. Each entity cannot depend upon other entities to be classed as an entity.
Identity
Each member of an entity class must have a unique identity called a label. It may be several properties (see below).
Classification
Essentially a fact gathering technique for determining the sorts of allowable properties, nevertheless identification of classes based on the attributes exhibited or by selection is important in the process of modelling in NIAM
Constraints
Constraints on entities and their classes can be expressed in NIAM. Essentially, where alternative entity types are permitted, and exclusive selection is made based on a group of choices. Further, constraints on allowable entities in a class can be defined. Additionally, limits can be placed on the numbers of entities allowed in a specific class. Constraints on the behaviour or selection of properties for an entity within a class can be made.
Relationship
Property
Core
Relationships are defined over entity classes. Members of specified classes may participate in the relationship. Each relationship is bidirectional.
Constraints
Each relationship may have a number of constraints placed upon it. Specifically these concern the minimum and maximum numbers of entites allowed to participate in the relationship. These constraints may extend to exact numbers of each allowed to participate.
Core
Properties help describe entities. In NIAM, they are loosely bound to entity classes.
Complexity
Properties may be calculated based on other properties. Further, it is not unforseen that properties could be complex in nature. NIAM does not explore such possibilities since it is as much a method for business data modelling as it is a modelling framework.
Table 6—Concepts for NIAM
Entities can be divided into subclasses (or subtypes). Interestingly, ‘[i]n NIAM, subtypes are introduced to express constraints on what is recorded in the database, rather than to provide a complete picture of natural classification in the real world.’ [40]. Nevertheless, the subclass structures it has is based on set theoretic basics. Essentially, it differentiates between those properties that are only for certain subclasses of entity and the rest. Further, it constrains
descriptions for entities where appropriate. Essentially, the class structure exists as subtypes after description. In other words, it is an optimisation technique rather than a modelling technique. It appears that the intent of NIAM through this discussion is to allow classes to emerge from entities. Additional to the static elements described here, there are a number of constraints that are designed to control and maintain the veracity of information modelled and to convey the meaning of specific models created using the data modelling framework. The details can be found in [40]. OMT’s Object Model OMT is a multi-faceted language. In this paper we concentrate on the object model [1,41]. There are similarities between OMT and UML. OMT’s object model is centred on the idea of classes of objects. A class is a description that defines all objects in the class. All objects in a class have similar attributes (properties), behaviour, relationships, and semantics. Each object in a class has an identity, and it is ‘that property of an object which distinguishes each object from all others.’ [41] In OMT the object model is dominated by structural constructs. Attributes assume lesser importance with respect to classes and relationships. An instance of an attribute is called a value. “An operation is a function or procedure that is applied by or to members of a specific class.” [41] They can also be defined to apply to an entire a class of objects (this is a much rarer occurrence). They are often used to calculate values based on one or more objects. Functions can be viewed in a similar way to attributes. Operations can also have side-effects, by changing the state of an object. Concept
Part
Object
Core
UMLs OM supports objects. These are grouped into classes for which common attributes, behaviour, relationships, and semantics can be defined.
Attribute
Attributes are specified over object classes. Specifically, they are tightly bound to the classes. They are conceptualised for a class and then operationalised in an instance of the class (object).
Identity
Each member of a class must has a unique identity within that class. The identity is a subset of the attributes defined for an object.
Operation
LinkAssociation
Class Hierarchy
Description
An operation may be applied to or by objects in a class. They are functions or procedures. These apply for all objects in a class. They can play the role of a derived value for an object. Alternatively, they can specify changes in state for an object (see the dynamic model later in the thesis.) Note: a method is an implementation of an operation for a specific class.
Core
Links between objects are supported in UMLs OM. The concept embodied in links are instantiated through associations. Attributes can be specified for links.
Multiplicity
In a similar way to other modelling frameworks, UMLs OM require the specification of multiplicities for links. These indicate the minimum and maximum number of objects that can be linked in the way indicated.
Aggregation
A specialised form of link or association. It is from instance of object to instance of object showing part-whole relationships. That is, where an object is made up of a number of different objects. Each part-whole relationship is modelled using a different link and association.
Core
An elaborate class hierarchy is established allowing for specialisation /generalisation. Properties, operations, and associationss may be inherited from superclasses. Further, they may be overridden according to need.
Table 7—Concepts for the Statics of OMT (OMT’s Object Model)
Objects can be related, and in OMT, these are through links and associations. A relationship is a physical or conceptual connection between objects, and must relate at least two objects.
An association is a description of a group of links with common structure and semantics. A link is an instance of an association. Relationships can show multiplicity where an object of one class is related to multiple objects of another class. The ideas Generalisation and Specialisation allows for subclasses of classes to be created. Subclasses more specifically define the objects that are members. For example, the class of aircraft type may have as a subclass the categories or specialisations of jet-aircraft, and propeller-aircraft. The subclass represents a specialisation of the superclass. Alternatively, the class is the generalisation of its subclasses. Critical to class hierarchies is the notion of inheritance. Specifically, it is the relationship between classes of objects where attributes, operations, and associations are inherited by subclasses directly from the superclass. Inherited properties may be overridden by subclasses. More complex is multiple inheritance where properties from several superclasses are inherited by a subclass. A strong form of association is that of aggregation where an object is made up of a number of parts. Together it may be said that the parts aggregate to form the whole. The key advantage with the object model for OMT is the breadth of concepts available for modelling. Further, it has more tightly defined semantics when compared with other modelling frameworks. Despite this, object models, suffer from having a rigid class hierarchy with attributes of objects within these classes being spread through the hierarchy. This rigidity is reminiscent of that found in ER modelling frameworks. 5.2 Results Table 8 shows the indicative results for the comparison of Chisholm’s ontology with the data modelling languages. Ontological Concept
ER
FDM
SDM
NIAM
OMT
Individual
√p
√p
√
√p
√
Core
√
√
√
√
√
Identity
√
√
√
√
√
Structure
X
√p
√
X
√
Attribute
√p
√p
√p
√p
√p
Core
√p
√
√p
√
√p
Entailment
X
X
X
X
X
Complexity
√p
√
√
√p
√
Classification
√p
√
√p
√p
√p
Relation
√p
√
√
√p
√p
Table 8—Indicative Results of the Comparison of Selected Data Modelling Languages Using Chisholm’s Ontology
Chisholm’s ontology views the world as a collection of individuals and relations between them, and the ontology uses attributes to describe both individuals and relations. Attributes are universals and endure, and, consequently they are loosely coupled with individuals. Attributes are also used to determine class and set membership. Our comparison suggests that this is to a large extent a similar world-view as those imparted by the languages and there is a significant level of agreement with the ontology and the modelling languages that we’ve studied, but the data modelling languages lack the full generality of Chisholm’s ontology. The major departures are in the structural aspects of individuals and more subtly, attitudes to the nature of attributes and relations and the implications of a lacking of loose coupling between individuals and attributes (particularly implications concerning classification). Individual structure, that is, part-whole relationships defined at the individual level, is
supported by some but not all data modelling languages. This approach is useful in cases where structure cannot be generalised to the class level due to a high degree of diversity in individual structure. Secondly, the loose-coupling evident in the ontology between attributes and individuals has an effect on the level of support for attributes in the data modelling languages. Some data modelling languages support Chisholm’s approach while others do not. Nevertheless most have a reasonable coverage of the core and complexity parts of attribute. Loose coupling allows for a high degree of diversity in the types of attributes that similar individuals exemplify. Consequently, individuals where such diversity is evident are no longer constrained to classes of like individuals all exemplifying a fixed range of types of attributes. Attribute equivalence is completely absent from all data modelling languages. Classification and relations are concepts recognised by all data modelling languages. Classification in the ontology is evident through the attributes exemplified by members of classes. In the ontology, classes are related to each other by the intersections and unions of the attributes used to select them and thereby can simulate class hierarchies. This approach to classification structure is entirely different from the most common classification approaches used by most data modelling languages where instead, rich and rigid class hierarchies are prevalent. Essentially, in the ontology there exists a sea of individuals from which classes are built. This provides flexibility in cases where the classes of individuals that are required change drastically without very much changing in the nature of the individuals themselves. The reference ontology also requires relations to be unidirectional, thus allowing for nonreciprocation of relations. However, we have found that relations are not bidirectional in several of the data modelling languages but the concept is fully supported by FDM and SDM. The consequence of the departures from the ontology by the data modelling languages that we have observed is that it is likely one can model a narrower range of situations using the studied data modelling languages than Chisholm’s ontology, although this requires further investigation. Further, Chisholm’s ontology has the potential to change our view of data modelling by its increased flexibility achieved through bidirectional relations and through its loose-coupling of attributes with respect to individuals. In turn, this has positive implications for the flexibility of models which are subject to radical change. It is the formation of classes through attributes as a direct consequence of loose coupling that is most beneficial for flexibility. We can see from the results that the modelling languages share the world view of the ontology to a large degree. The areas of departure tend to be of the nature of a difference in emphasis rather than complete absence of support. Also, all concepts had a high degree of emphasis with respect to their core. On the basis of this, we can say that the ontology may be a good candidate for a unifying theory for data modelling languages. Work is proceeding to further deepen our understanding of this theory and to formalise it in a way appropriate for data modelling languages. There are some issues that need investigation. The importance of conceptual entailment and the implications of the universality of attributes need to be investigated in practical situation, and there are possible efficiency gains by examining this. Apart from the universality of attributes, the area of most concern is that of classification. Clearly, the rigidity of classes and the presence of rigid class hierarchies is not supported in the ontology. As modelling features there appears to be little support in traditional realistic philosophy for such an approach. 6. Conclusions We have sketched how ontology can be used to more deeply understand data modelling languages, and that it can be used to construct methods that are effective for comparing and evaluating data modelling languages. We have found that the ontology used in this study, Chisholm’s ontology, shares to a significant degree the world view of the data modelling languages we have studied. It is important that we reflect upon the role of that ontology as theory in the way we discussed in the introduction, and also reflect on the quality of the methods based on Chisholm’s ontology. We selected the ontology by Roderick Chisholm based on what appeared to be a commonality with a representative group of classical data modelling languages. We have found that because of the quality of terms and concepts found in the ontology it was very useful in analysing the
data modelling languages. Further, there is a good degree of overlap between the five data modelling languages that we have studied and Chisholm’s ontology. The overlap is not total but does cover the core parts of terms and concepts from the ontology. We found that there were parts of the theory that were not appropriate. Specifically, we found that those aspects concerning cosmology, theology, and spatial boundaries to be inappropriate for our comparison, because data modelling languages don’t have terms related to these concepts. An ontology should consider those areas, but clearly data modelling languages should not, and we discussed the role of these sorts of concepts from an ontology in our method when selecting concepts for evaluation. Chisholm’s ontology also considers dynamics. Consequently, investigating the concepts of events and states is an area for ongoing research into dynamic and process models in information systems. We have learned by applying the methods that data modelling languages should be able to model a reasonably diverse range of states of affairs. Chisholm’s ontology, in its role as theory, has also predicted areas in which the modelling languages can be extended or strengthened for them to apply more broadly than they have thus far. These predictions need further investigation. The methods developed as part of this study represent a significant advance over previous approaches in that they recognise the important role played by terms and concepts in qualitatively comparing data modelling languages with ontologies. We have argued that studies of data modelling languages can be undertaken using ontological terms and concepts. In the methods we analyse the relationship between terms in a data modelling language and an ontology using a restricted part of a broad semiotic theory. By using semiotic theory in this way we highlight the importance of meaning of terms in the ontology and of an ontology implied in data modelling languages. This in itself is an important advance over past approaches. The comparison of the ontology with each of the modelling languages requires a deep understanding of the ontology and of each data modelling language. Further, it is on the basis of the terms described in the ontology that the comparison with each candidate modelling language is undertaken. It takes time to understand an ontology as dense as Chisholm’s and to relate each term and its associated concept to the modelling languages. We cannot conceive of a more algorithmic way in which to undertake such a work. Further, there is clearly a subjective element to the methods and consequently the results of the comparison may vary to a degree between researchers. This, however, is the very nature of the type of research and is not of itself grounds enough to doubt its applicability. There is no algorithmic comparison of concepts. However, given the types of research questions that we pursue in the research, our approach is quite appropriate. Further, the approach has the potential to greatly enhance our understanding of the nature of data modelling languages. Beyond theoretical work completed, we are interested in examining the role of the ontology in suggesting how clients approach various parts of the modelling process. Consequently, we are undertaking research that examines the attitudes to classification structures by practitioners and clients using Chisholm’s ontology as a theoretical reference. Concluding, we have reason to believe that both Chisholm’s ontology and the methods developed for applications of ontologies of this style have much to offer research into data modelling in information systems. References [1] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, Object-Oriented Modeling and Design. Englewood Cliffs, New Jersey: Prentice-Hall, 1991. [2] R. Hull and R. King, “Semantic Database Modelling: Survey, Applications, and Research Issues,” ACM Computing Surveys, vol. 19, pp. 201–260, 1987. [3] M. Boman, J. A. Bubenko, P. Johannesson, and B. Wangler, Conceptual Modelling. London: Prentice Hall, 1997. [4] J. Peckham and F. Maryanski, “Semantic Data Models,” ACM Computing Surveys, vol. 20, pp. 153–189, 1988. [5] J. Banerjee, H.-t. Chou, J. F. Garza, and W. Kim, “Data Model Issues for Object-Oriented Applications,” ACM Transactions on Office Information Systems, vol. 5, pp. 3–26, 1987. [6] D. W. Shipman, “The Functional Data Model and the Data Language DAPLEX,” ACM Transactions on Database Systems, vol. 6, pp. 140–173, 1981. [7] R. G. G. Cattell, Object Data Management. Menlo Park: Addison-Wesley, 1991. [8] G. Dobbie, “Object Oriented Database Systems: A Survey,” Department of Computer Science, The University of Melbourne, Melbourne, Technical Report 90/28, 1990. [9] C. Lécluse, P. Richard, and F. Velez, “O2, and Object-Oriented Data Model,” presented at Advances in Database
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39]
[40] [41] [42] [43] [44] [45]
Technology 88, 1988. E. Yourdon, Modern Structured Analysis. New Jersey: Prentice-Hall, 1989. T. Honderich, “The Oxford Companion to Philosophy,” . Oxford: Oxford University Press, 1995, pp. 1009. J. Mylopoulos, “Information Modeling in the Time of the Revolution,” Information Systems, vol. 23, pp. 127–155, 1998. S. Milton, E. Kazmierczak, and C. Keen, “Comparing Data Modelling Frameworks using Chisholm's Ontology,” presented at 6th European Conference on Information Systems, Aix-en-Provence, 1998, pp.260-272. M. Bunge, Treatise on Basic Philosophy: Vol. 3: Ontology I: The Furniture of the World. Boston: Reidel, 1977. M. Bunge, Treatise on Basic Philosophy: Vol. 4: Ontology II: A World of Systems. Boston: Reidel, 1979. Y. Wand and R. Weber, “An Ontological Model of an Information System,” IEEE Transactions on Software Engineering, vol. 16, pp. 1282–1292, 1990. Y. Wand, V. C. Storey, and R. Weber, “Analyzing the Meaning of a Relationship,” Faculty of Commerce and Business Administration, The University of British Columbia, Vancouver Working Paper 92-MIS-011, February 1993 1993. Y. Wand and R. Weber, “On the Deep Structure of Information Systems,” Information Systems Journal, vol. 1995, pp. 203–223, 1995. Y. Wand, D. E. Monarchi, J. Parsons, and C. Woo, “Theoretical Foundations for Conceptual Modelling in Information Systems Development,” Decision Support Systems, vol. 15 (1995), pp. 285–304, 1995. Y. Wand, “Ontology as a Foundation for Meta-modelling and Method Engineering,” Information and Technology Software, vol. 38, pp. 182–287, 1996. P. Green, “An Ontological Analysis of Information Systems Analysis and Design (ISAD) Grammars in Upper Case Tools,” PhD Dissertation,The University of Queensland, 1996. U. Eco, A Theory of Semiotics. Bloomington: Midland, 1976. P. Chen, “The Entity-Relationship Model—Toward a Unified View of Data,” ACM Transactions on Database Systems, vol. 1, pp. 9–36, 1976. J. Dancy and E. Sosa, “A Companion to Epistemology,” in Blackwell Companions to Philosophy. Oxford: Blackwell Publishers, 1992, pp. 541. B. Thalheim, Entity-Relationship Modeling: Foundations of Database Technology. Berlin: Springer-Verlag, 2000. S. Milton, “Ontological Studies of Data Modelling Languages,” PhD Dissertation, The University of Tasmania, 2000, pp. 153. R. M. Chisholm, A Realistic Theory of Categories—An Essay on Ontology, 1 ed: Cambridge University Press, 1996. R. Chisholm, On Metaphysics. Minneapolis: University of Minnesota Press, 1989. R. Chisholm, Theory of Knowledge, 3rd ed. Englewood Cliffs: Prentice-Hall, 1989. R. Chisholm, Perceiving: A Philosophical Study. Ithaca: Cornell University Press, 1957. R. Chisholm, Person and Object: A Metaphysical Study. La Salle: Open Court, 1976. R. Chisholm, The Foundations of Knowing. Minneapolis: University of Minnesota Press, 1982. R. Chisholm, “Objects and persons: revisions and replies,” Grazer Philosophische Studien, vol. 7/8, pp. 317–88, 1979. R. M. Chisholm, “The Basic Ontological Categories,” in Language, Truth, and Ontology, K. Mulligan, Ed. Dordrecht: Kluwer Academic Publishers, 1992, pp. 211. B. Russell, “Mathematical Logic as Based on the Theory of Types,” American Journal of Mathematics, vol. XXX, pp. 222-263, 1908. W. V. O. Quine, Word and Object. Cambridge Massachusetts: MIT Press, 1960. L. Kerschberg and J. E. S. Pacheco, “A functional database model,” Pontificia Univ. Catholica do Rio de Janeiro, Rio de Janeiro, Brazil 1976. M. Hammer and D. McLeod, “Database Description with SDM: A Semantic Database Model,” ACM Transactions on Database Systems, vol. 6, pp. 351–386, 1981. M. Hammer and D. McLeod, “Database Description with SDM: A Semantic Database Model,” in Research Foundations in Object-oriented and Semantic Database Systems, A. F. Cárdenas and D. McLeod, Eds. Englewood Cliffs: Prentice Hall, 1990, pp. 341. G. M. Nijssen and T. A. Halpin, Conceptual Schema and Relational Database Design: A Fact Oriented Approach. New York: Prentice-Hall, 1989. M. Blaha and W. Premerlani, Object-Oriented Modeling and Design for Database Applications. Upper Saddle River: Prentice Hall, 1998. S. Milton and E. Kazmierczak, “Enriching the Ontological Foundations of Modelling in Information Systems,” presented at IS Foundations - Ontology, Semiotics, and Practice, Macquarie University, Sydney, 2000, pp. 55-65. N. Guarino, “Formal Ontology and Information Systems” in Formal Ontology in Information Systems, N. Guarino (Editor), IOS Press, 1998. Batini, C., Lenzerini, M. and Navathe, S. B., “A comparative analysis of methodologies for Database schema integration” in ACM Computing Surveys, 18 (4), pp. 323–346, 1986. Teorey, T. J., Yang, D. and Fry, J. P. “A Logical Design Methodology for Relational Databases Using the Extended Entity-Relationship Model” ACM Computing Surveys, 18 (2), pp. 197–222, 1986.