Academia.eduAcademia.edu

UML as an ontology modelling language

1999

The Department of Information Science is one of six departments that make up the Division of Commerce at the University of Otago. The department offers courses of study leading to a major in Information Science within the BCom, BA and BSc degrees. In addition to undergraduate teaching, the department is also strongly involved in postgraduate research programmes leading to MCom, MA, MSc and PhD degrees. Research projects in spatial information processing, connectionist-based information systems, software engineering and software development, information engineering and database, software metrics, distributed information systems, multimedia information systems and information systems security are particularly well supported.

DUNEDIN NEW ZEALAND UML as an Ontology Modelling Language Stephen CraneÞeld Martin Purvis The Information Science Discussion Paper Series Number 99/01 January 1999 ISSN 1172-6024 University of Otago Department of Information Science The Department of Information Science is one of six departments that make up the Division of Commerce at the University of Otago. The department offers courses of study leading to a major in Information Science within the BCom, BA and BSc degrees. In addition to undergraduate teaching, the department is also strongly involved in postgraduate research programmes leading to MCom, MA, MSc and PhD degrees. Research projects in spatial information processing, connectionist-based information systems, software engineering and software development, information engineering and database, software metrics, distributed information systems, multimedia information systems and information systems security are particularly well supported. The views expressed in this paper are not necessarily those of the department as a whole. The accuracy of the information presented in this paper is the sole responsibility of the authors. Copyright Copyright remains with the authors. Permission to copy for research or teaching purposes is granted on the condition that the authors and the Series are given due acknowledgment. Reproduction in any form for purposes other than research or teaching is forbidden unless prior written permission has been obtained from the authors. Correspondence This paper represents work to date and may not necessarily form the basis for the authorsÕ final conclusions relating to this topic. It is likely, however, that the paper will appear in some form in a journal or in conference proceedings in the near future. The authors would be pleased to receive correspondence in connection with any of the issues raised in this paper, or for subsequent publication details. Please write directly to the authors at the address provided below. (Details of final journal/conference publication venues for these papers are also provided on the DepartmentÕs publications web pages: http://divcom.otago.ac.nz:800/COM/INFOSCI/Publctns/home.htm). Any other correspondence concerning the Series should be sent to the DPS Coordinator. Department of Information Science University of Otago P O Box 56 Dunedin NEW ZEALAND Fax: +64 3 479 8311 email: [email protected] www: http://divcom.otago.ac.nz:800/COM/INFOSCI/ UML as an Ontology Modelling Language  Stephen Cranefield and Martin Purvis Department of Information Science University of Otago PO Box 56, Dunedin, New Zealand E-mail: fscranefield, [email protected] Abstract Current tools and techniques for ontology development are based on the traditions of AI knowledge representation research. This research has led to popular formalisms such as KIF and KL-ONE style languages. However, these representations are little known outside AI research laboratories. In contrast, commercial interest has resulted in ideas from the object-oriented programming community maturing into industry standards and powerful tools for object-oriented analysis, design and implementation. These standards and tools have a wide and rapidly growing user community. This paper examines the potential for object-oriented standards to be used for ontology modelling, and in particular presents an ontology representation language based on a subset of the Unified Modeling Language together with its associated Object Constraint Language. field with many industry standards emerging for distributed computation. The large user community and commercial support for object-oriented standards warrants the investigation of standard object modelling techniques for ontology development. This work is motivated primarily by consideration of the role that ontologies play in agent-based infrastructures for supporting queries over open and dynamic collections of heterogeneous and distributed information sources. Systems such as SIMS [Knoblock and Ambite, 1997], Infosleuth [Bayardo et al., 1997] and Observer [Mena et al., 1999] use ontologies to model the semantic structure of individual information sources, as well as to describe models of a domain that are independent of any particular information source. The challenges for these systems are to support the construction of user queries using domain ontologies that may be initially unfamiliar to the user, and to allow queries to span multiple information sources by representing and computing the mappings between domain ontologies and the ontologies supported by individual information sources. 1 Introduction 2 Common Ontology Modelling Languages In recent years a number of subfields of artificial intelligence have been aiming to increase the ability of their systems to interact with humans and other external agents by developing and sharing ontologies — formally specified models of bodies of knowledge defining the concepts used to describe a domain and the relationships that hold between them. Research areas investigating the design of ontologies include agent-based software interoperability [Genesereth and Ketchpel, 1994], knowledge acquisition [SMI, 1998] and natural language processing [Bateman et al., 1995]. Various formalisms have been developed for expressing ontologies, notably the Knowledge Interchange Format (KIF) [NCITS, 1998] and knowledge representation languages descended from KL-ONE [Brachman and Schmolze, 1985]. In this paper we examine the use of an alternative formalism for representing ontologies: a subset of the Object Management Group’s Unified Modelling Language (UML) together with its associated Object Constraint Language (OCL). Objectoriented analysis, design and implementation is a maturing The most common formalisms used to represent ontologies are the Knowledge Interchange Format (KIF) [NCITS, 1998] and KL-ONE style knowledge representation languages [Brachman and Schmolze, 1985]. KIF provides a Lisp-like syntax for expressing sentences of first order predicate logic and also provides extensions for representing definitions and metaknowledge. KIF is a highly expressive but low-level language for representing ontologies; however, the Stanford University Knowledge Sharing Laboratory’s ontology editing tool, Ontolingua [Farquhar et al., 1996], allows users to build KIF ontologies at a higher level of description by importing predefined ontologies defining concepts such as sets, standard units, time and simple geometrical functions. In particular, the frame ontology [KSL, 1994] allows ontologies to be defined in terms of relations, classes (and subclasses), functions and sets. Much of the research on ontology design and use is performed by researchers using knowledge representation tools descended from KL-ONE [Brachman and Schmolze, 1985]. KL-ONE was the basis for much work in the field of knowledge representation. It implemented “structural inheritance  This paper will appear in the on-line proceedings of the IJCAI99 Workshop on Intelligent Information Integration networks”: networks containing descriptions of named concepts with generalisation/specialisation links between them. Descendants of KL-ONE include LOOM [ISI, 1998] and a family of logics called description logics or terminological logics [Donini et al., 1996; Owsnicki-Klewe, 1990]. The KIF frame ontology discussed above also allows this type of specification to be used in conjunction with more general KIF sentences. In a description logic, concepts can be introduced by simply naming them and specifying where they fit in the generalisation/specialisation hierarchy. The following examples are adapted from Nebel [1990]:  Human  Anything  Set  Anything 3 UML for Ontology Modelling  where  represents concept specialisation and Anything is a predefined concept representing the class of all things. New concepts can also be defined in terms of existing concepts using the operations of concept conjunction: the and operator can be used to specify that the new concept is a common specialisation of a number of other concepts: Male-student =  (and Man Student) New roles may be introduced to represent possible relationships that may hold between instances of a concept and other individuals in the world, for example:  member  anyrelation where anyrelation represents the class of all relations. Concepts may be specialised by operations such as value restriction, where the operator all is used to restrict a role’s possible values to be instances of a certain class, and number restriction, where the operators atleast and atmost are used to restrict the possible number of values that a given role may have. The following example states that a team is a set for which all values for its “member” role are instances of the Human concept with the cardinality of the member role being at least two. Team =  These types of deduction are designed to help the user in incrementally designing a coherent set of concepts and instances to describe a domain. Description logics provide a formal characterisation of the representational and deductive capabilities of KL-ONE style systems and allow their computations to be studied in terms of completeness, computational complexity, etc. Although domain knowledge could be represented using first order predicate logic, the benefit of using a specialised representation is that special-purpose data structures and algorithms can be used to support efficient reasoning. In addition, the structured knowledge base supports efficient processing of declarative queries about the defined concepts. (and Set (all member Human) (atleast 2 member)) Systems such as KL-ONE and LOOM structure their knowledge bases to allow certain types of inferences to be performed efficiently on the user-defined concepts, such as the following list paraphrased from Owsnicki-Klewe [1990]:  Subsumption: Is a given concept description more general or more specific than another, or can no such relation be established?  Coherence: Is a concept description logically coherent, i.e. can there be an instance of this term?  Identity: Do two concept descriptions refer to the same concept?  Compatibility: Can two concept descriptions have common instances?  Common specialisation: What are the properties of the common specialisation of two concept descriptions? Knowledge representation (KR) systems such as LOOM are large and complex systems with a steep learning curve and are little known outside AI laboratories. Instead of using such technology, the authors are investigating the more mainstream and rapidly growing arena of object-oriented technology to construct a distributed information retrieval and processing system. Currently there is no counterpart for the deductive capabilities of KR systems in current object-oriented technology; however, for distributed information systems these capabilities are not necessarily needed. Many of the benefits of KR systems occur during the process of designing an ontology. This support is undoubtedly useful, but in the object-oriented world there is also much support available for the design of models, with mature and commonly used languages, methodologies and tools available. The other function of KR systems — to store highly structured data and answer queries about it — is not an issue in distributed information systems. The point of systems such as SIMS, Infosleuth and Observer is to allow disparate databases and other information sources to be integrated. Nothing can or should be assumed about the underlying databases and information storage systems. In particular, it cannot be assumed that the information sources will be implemented using KR systems. While systems such as LOOM can be used to implement key components of a distributed information system infrastructure (such as query planning agents), it is certainly possible to use other reasoning engines. In the authors’ view, unless a system that uses ontologies is constructed around a tool such as LOOM, there seems to be nothing inherently intuitive or appealing in the use of a description logic formalism to represent ontologies. The ontology representation formalism presented in this paper is a subset of the Unified Modeling Language (UML) [Rumbaugh et al., 1998] from the Object Management Group (OMG) [OMG, 1998], together with its associated Object Constraint Language (OCL) [OMG, 1997b; Warmer and Kleppe, 1998]. Benefits of using UML and OCL include the following:  UML has a very large and rapidly expanding user community. Users of distributed information system infrastructures will be more likely to be familiar with this notation than KIF or description logics. This issue should not be overlooked for its importance in gaining acceptance of distributed information systems technology amongst new end-user communities.  Unlike description logic formalisms, there is a standard graphical representation for models expressed in UML. Such a graphical representation is important to allow users of distributed information systems to browse an ontology and discover concepts that can appear in their queries. In contrast, a description logic has a linear syntax but no standard graphical representation. Although UML currently has no standard linear syntax, the OMG is in the process of adopting XMI (XML Model Interchange) as a standard for stream-based model interchange [DSTC, 1999].  The Object Constraint Language (OCL) is powerful and allows the expression of constraints that cannot be described using description logic. Of course, there is a trade-off between the expressive power of a language and the computational complexity of reasoning about it. This issue is discussed in Section 3.5. 3.1 An Overview of UML and OCL UML defines several types of diagram that can be used to model the static and dynamic behaviour of a system. We have chosen to model an ontology as a static model consisting of a class diagram to depict the classes in the domain and their relationships, and an object diagram to show particular named instances of those classes. A sample class diagram appears in Figure 1. Section 3.1 explains the classes and relationships shown in this diagram. In this section we describe the UML notation used in Figure 1. In a class diagram, classes are represented by boxes with three parts: the name of the class, the attributes of the class (specified by their name, type and visibility) and the operations of the class (specified by name, argument list, return type and visibility). For the purposes of representing ontologies, all attributes can be considered to have public visibility — an ontology is a shared public view of a domain. At present we do not use operations in our ontologies, although these could be used in conjunction with OCL postcondition constraints that specify the result of the operation. If operations are included, it is possible to declare that they are queries, i.e. they will not change the state of the object the operation is invoked on. Figure 1 shows three types of relationship that may be used between classes:  generalisation, represented by lines with large hollow arrow heads pointing to the super class (e.g. see classes Role and InterpretiveRole at the top of the figure);  association, represented by solid lines between two classes with optionally named ends, or roles (e.g. class Realisation in the middle of the figure has an association with class Work to its right);  aggregation, an association with a diamond at the aggregate end of the link (e.g. class CD on the left of the figure has an aggregation relationship with ItemOnCD to its right). UML includes a stronger type of aggregation (composite aggregation, notated by a solid black diamond) which implies ownership of the parts by the aggregate. We do not make a distinction between the two types of aggregation in our ontologies at present. The ends of association and aggregation relationships may be annotated with multiplicity indicators giving a range of numbers (with ‘’ representing infinity) denoting how many instances of the class at that end of the relationship can be associated with each instance of the class at the other end. Also, a small barbed arrow head may be used to specify that an association or aggregation relationship may only be navigated in one direction (this feature is not used in Figure 1). Several other constructs of UML are used in Figure 1. Class CreativeAct in the top right corner is an association class: a class attached to an association. These can be used for associations that require attributes (e.g. an association between two classes student and assignment might have a grade attribute). In the case of Figure 1, association classes are used for associations that themselves participate in an association with another class. Finally, the large rectangles with folded corners are notes: uninterpreted pieces of text that may be anchored with dashed lines to model elements to provide informal clarification. In this case, however, the notes are used to attach OCL constraints to classes and associations. This is necessary as the diagram was produced using Rational Rose 98 which does not provide a general facility for placing OCL constraints on a model. A UML object diagram depicts objects and links between objects — instances of the relationships that hold between the linked objects’ respective classes. The class of each object included in the diagram must be specified and the object may optionally be named. The values of the object’s attributes must be shown. UML itself does not define a standard set of primitive types for attribute and operation declarations; however, the Object Constraint Language does, and it is proposed that these be used for ontology modelling with UML. In a class diagram, OCL may be used to constrain attribute values and possible instances of the relationships. It is beyond the scope of this paper to give a comprehensive discussion on OCL, but a brief overview follows. An OCL expression is written in the context of an instance of a specific type. The name ‘self’ is used to refer to that instance. The value of an instance’s attribute can be expressed by following the expression naming the instance with a dot and the attribute’s name. The dot notation can also be used to traverse an association or aggregation relationship. In this case, the dot is followed by either the name of the class at the far end of the relationship (with the initial letter changed to lower case) or by the name of the role at that end of the relationship (if it is named). The resulting expression can represent a single instance (if the multiplicity of that role has an upper limit of 1), a set of instances (when traversing roles with other multiplicity indicators), or a sequence of instances (for roles labelled with the constraint “ordered”). Given an expression representing a collection (a set, sequence or bag), the arrow operator -> can be used to invoke one of a number of standard functions and predicates on that collection, e.g. collection->size. Role -- The startingTrack of each ItemOnCD is the successor of the -- prev. item's last track <<invariant>> let numTracksPerItem : Sequence(Integer) = self.itemOnCD->collect(movements->size), lastTrackPerItem : Sequence(Integer) = numTracksPerItem->iterate( elt:Integer ; acc:Sequence(Integer)=Sequence{0} | acc->including(elt + acc->last) ).subSequence(2, numTracksPerItem->size + 1), in self.itemOnCD->collect(startingTrack + movements->size - 1) = lastTrackPerItem InterpretiveRole 1..1 0..* 0..* +Interpreter InterpretiveAct Figure 1: UML class diagram for a CD publisher’s catalogue -- Track and Item numbers are -- consecutive starting at 1 <<invariant>> self.track.number->includesAll( Sequence{1..self.track->size} ) <<invariant>> self.item.number->includesAll( Sequence{1..self.item->size} ) CreativeRole 1..1 -- Movements in item are subset of -- those in realisation and aren't repeated <<invariant>> self.realisation.work.movement-> includesAll(self.movements) and self.movements->size = self.movements.asSet()->size Agent 1..* +Creator 1..* Individual Group Ensemble +Interpretation ItemOnCD title : String catalogueNum : String 0..* number : Integer movements : Sequence(Integer) 1..1 1..* startingTrack : Integer {ordered} 0..* Realisation 0..* 1..1 recordingVenue : String date : Date Work title : String 0..* 1..* {ordered} 1..1 1..* Movement {ordered} name : String number : Integer 1..1 0..* 0..* 1..* {ordered} 1..* Label 0..* 1..1 -- Movements in realisation are a subset of -- those in work <<invariant>> self.work.movement.number->includesAll( self.movementRealisation.movement.number) 1..1 1..1 1..1 1..1 -- Movement numbers are consecutive -- starting at 1 <<invariant>> self.movement.number->includesAll( Sequence{1..self.movement->size} ) +Creation 0..* CD CreativeAct Track MovementRealisation number : Integer 0..* -- Specify which tracks belong to which item <<invariant>> self.track[number].number = Sequence{self.startingTrack .. self.startingTrack + self.movements->size - 1} 1..* {ordered} 0..* Tempo 1..1 -- Specify which tracks correspond to which movement realisation <<invariant>> let firstIndex(item:T, s:Sequence(T)) : Integer = s->iterate(elt:T; pos:Integer=0 | if pos <= 0 then if elt <> item then pos-1 else -pos + 1 endif else pos endif ).max(0) in self.track.number = firstIndex(self.movementRealisation.movement.number, self.track.itemOnCD.movements )+ self.track.itemOnCD.startingTrack - 1 1..1 Form 0..1 3.2 Example Figure 1 shows an example UML class diagram modelling the concepts and relationships in the catalogue system for a classical music compact disc publisher. This model concentrates on three classes: Work This class (located centre right) represents a piece of music, i.e. the work of art itself. It is an aggregation of Movement objects (which are ordered sequentially starting at 1) and will have one or more CreativeAct relationships associating it with an Agent and a Role (instances will include roles with name “composer”, “librettist”, etc.). CreativeAct might be better represented as a ternary relationship rather than an association class with an association to Role, but Rational Rose 98 does not support the UML n-ary relationship notation. Realisation This class (located to the left of Work) represents a particular recording of a work (or part of a work) made by the recording company. It consists of MovementRealisation objects that are in turn associated with Movement objects. It has one or more InterpretiveAct relationships that associate it with an agent in some InterpretiveRole such as conductor, performer or narrator. CD This class (centre left) consists of an ordered sequence of objects of class ItemOnCD. An ItemOnCD object represents a whole or partial instance of a work appearing on a CD. Note that a Realisation (in whole or part) may occur on more than one CD. A CD is an aggregate of (ordered) Track objects, and so is an ItemOnCD. The OCL constraint in the lower left corner specifies which of a CD’s tracks belong to each item on the CD (i.e. this constraint restricts the possible instances of the aggregation relationship between ItemOnCD and Label). A CD is also associated with a recording Label (e.g. Naxos). Some of the classes in the diagram are incomplete (containing no attributes) and a full version of the ontology would show more details such as name attributes for the classes Agent, Role, Tempo and Form. 3.3 Required Extensions to UML and OCL UML allows ends (or “roles”) of association and aggregation links to be annotated with the constraint “ordered”, meaning that navigating that role from an object results in a sequence of objects rather than a set. However, there is no syntax defined in an object diagram to specify the actual ordering on the instances of that relationship. This would be simple to include by allowing a new constraint type “precedes” to relate two association links in an object diagram. OCL contains some predefined functions on collections of objects, as well as a simple “mapping” function on bags, sets and sequences called “iterate”. This iterates over the collection, using an expression involving the current element to modify a single accumulator value at each step. However, this function is highly frustrating to use due to its support for only a single accumulator value. This problem could be solved if a tuple type were introduced to OCL. An accumulator could then be a tuple of several different values. OCL lacks the facility to use temporary variables and functions to avoid having to repeat subexpressions in an expression. The example in Figure 1 uses a non-standard “let” construct to solve this problem. The need for a “let” construct has also been noted by Hamie et al. [1998a], along with a number of other shortcomings of OCL and some proposed solutions. 3.4 Semantics of UML As an ontology is a formal model of a domain, it is important that the language used to describe it has formal semantics. Unfortunately the official OMG document ‘defining’ the semantics for UML gives an informal description in English [OMG, 1997a]. This shortcoming is currently being addressed by a number of researchers who have proposed various different forms of semantics for UML, including a direct mathematical model of the system being described in UML [Breu et al., 1997], a description using the specification language Z [Evans et al., 1998] and operational semantics describing how a UML model evolves as new elements are added to it [Övergaard, 1998]. Semantics for OCL, which necessarily include semantics for class diagrams, have been proposed by Richters and Gogolla [1998] and Hamie et al. [1998b]. 3.5 Reasoning about Ontologies in UML When choosing an ontology representation language, it is not sufficient only to consider the ease with which the language can be used to describe the domain. It is also necessary to consider the types of automated reasoning about ontologies that may be required. There is a well-known tradeoff between the representational power of a formalism and the tractability (and even the solvability) of reasoning with it [Levesque and Brachman, 1985]. For example, KIF provides all the expressive power of first order predicate logic, but reasoning about ontologies in plain KIF requires general theorem-proving capabilities. In contrast, description logic provides a much more structured and less general language for describing ontologies, and therefore specialised inferences can be performed on ontologies described using description logic. Much research has been undertaken to investigate the computational properties of various types of inferences on different variants of description logic [Nebel, 1990]. The ontology representation language used in this paper — a UML class diagram (containing OCL constraints) in conjunction with an object diagram — contains both a highly structured model that could support automated reasoning (the basic class and object model, ignoring the OCL constraints) and an expressive language that it would not be practical to attempt general-purpose reasoning reason with. Further research is needed to clarify what types of inference it would be desirable and possible to support for ontologies represented in UML. This partly depends on the type of system the ontologies are intended for. We do not suggest that UML be considered as an alternative to description logic formalisms in all situations. For example, although Haimowitz et al. [1988] found a KR tool to be inadequate for ontology modelling in a medical expert system, UML would not provide a straightforward alternative for modelling ontologies such as this that form part of a deductive system. It would either be necessary to express the semantics of UML class diagrams within the deductive system’s logic (which would increase the complexity and length of its deductions) or a hybrid system would have to be constructed so that inferences that can be made due to the (implicit) semantics of the ontology can be integrated with the explicit deductive reasoning of the system. For systems where the required type of reasoning about ontologies can be restricted to answering specific specialised questions, UML is a stronger candidate. However, it remains to identify the questions we would like answered about our ontologies. Consider the example of a distributed information retrieval system — there are several stages at which particular inferences about ontologies may be needed:  The initial construction of the ontology. This is the area well supported by description logics which provide inference mechanisms for checking the integrity of the ontology as it is constructed. Would similar capabilities be useful for object-oriented modelling with UML and is there a reason why current object-oriented modelling methodologies have not included the use of such mechanisms?  Assisting users to form queries within an ontology. For example, it may be useful for the system to help users discover concepts that can appear in queries, e.g. by finding and displaying all shortest navigation paths from a given class to classes or attributes with names matching a user-supplied pattern.  Decomposing and translating queries expressed in one or more high-level domain ontologies into a query plan involving ontologies for specific data sources. This requires both a representation for the relationships between ontologies and a mechanism for reasoning about them. We expect that the sort of reasoning required for distributed information systems could be performed using the class and object diagrams alone. In many cases the OCL constraints can be regarded as extra detail specifying how systems that implement the ontology should behave. For example, the class diagram in Figure 1 states that a CD contains ItemOnCD objects as well as tracks. Each ItemOnCD object also contains a subset of the CD’s tracks. An OCL constraint specifies which of the CD’s tracks are associated with each item. This constraint is an important part of the ontology when viewed as a specification. Any implemented system that claims to support this ontology must respect this constraint. However, for the purposes of information retrieval, this constraint can be ignored as an implementation detail. Alternatively, it may be possible to define a set of standard OCL constraints forming a language that can be supported by automated reasoning, such as the types of slot constraints provided by description logic. This would be equivalent to using the frame ontology with Ontolingua: KIF plus the frame ontology can be seen as a higher level language that can be translated to other structured formalisms such as LOOM (provided that other, plain KIF sentences, are not also included in the ontology). This is an important subject for future research. MOF Model (a meta-metamodel) UML described using the MOF model (a metamodel) An ontology modelled using UML Another ontology modelling language described using the MOF model Another ontology modelled using UML Figure 2: A MOF-based ontology repository 4 Supporting Multiple Ontology Languages A single ontology representation language is not necessarily convenient for modelling all domains. It may be useful to have several ontology representation languages available to the ontology designer. The Infosleuth project has an interesting approach to supporting multiple modelling languages [Bayardo et al., 1997]. A simple frame-based language is used to define specific ontology representation languages such as object models and entity-relationship diagrams. The actual ontologies are then expressed as instances of these languages. This is a three layer model, with the frame layer acting as a meta-metamodel, the definitions of the ontology representation languages being metamodels and the ontologies themselves being models. A similar facility is offered by the OMG’s Meta Object Facility (MOF) [OMG, 1997c; Crawley et al., 1997; DSTC, 1998]. The MOF defines a standard for CORBA-based services to manage meta-information in a distributed environment. It defines a model (in fact a meta-meta model) that can be used to describe modelling languages such as UML. It also defines interfaces that can be used to populate and query repositories of models defined using various languages. We intend to use this framework to build an ontology server agent with similar capabilities to those of the Infosleuth project. Figure 2 shows the structure of a MOF-based ontology server. The OMG is currently selecting a standard “Stream-based Model Interchange Format” [OMG, 1999] for the interchange of MOF-based models and metamodels. XMI (XML Model Interchange) is likely to be adopted [DSTC, 1999]. 5 Conclusion We have investigated the use of UML and OCL for the representation of information system ontologies and have constructed an example ontology in the domain of a cataloguing system for classical music compact discs. UML and OCL show promise for representing the kinds of relationships and constraints that are familiar to systems builders. Future research includes investigating the potential for reasoning about ontologies expressed using UML — either ignoring the OCL constraints, or by recognising specific forms of constraints that are amenable to automated reasoning. References [Bateman et al., 1995] John A. Bateman, Renate Henschel, and Fabio Rinaldi. The generalized upper model 2.0. http://www.darmstadt.gmd.de/publish/komet/genum/newUM.html, 1995. [Bayardo et al., 1997] R. J. Bayardo, Jr., W. Bohrer, R. Brice, A. Cichocki, J. Fowler, A. Helal, V. Kashyap, T. Ksiezyk, G. Martin, M. Nodine, M. Rashid, M. Rusinkiewicz, R. Shea, C. Unnikrishnan, A. Unruh, and D. Woelk. Infosleuth: agent-based semantic integration of information in open and dynamic environments. In Joan Peckham, editor, Proceedings of the ACM SIGMOD international conference on management of data, SIGMOD Record 26(2), pages 195–206, June 1997. [Brachman and Schmolze, 1985] R. J. Brachman and J. G. Schmolze. An overview of the KL-ONE knowledge representation system. Cognitive Science, 9(2):171–216, April 1985. [Breu et al., 1997] Ruth Breu, Radu Grosu, Franz Huber, Bernhard Rumpe, and Wolfgang Schwerin. Towards a precise semantics for object-oriented modeling techniques. In Haim Kilov and Bernhard Rumpe, editors, Proceedings ECOOP’97 Workshop on Precise Semantics for ObjectOriented Modeling Techniques, pages 53–59. Technische Universität München, TUM-I9725, 1997. [Crawley et al., 1997] Stephen Crawley, Simon McBride, and Kerry Raymond. Meta-Object Facility tutorial (draft). http://www.dstc.edu.au/Meta-Object-Facility/ Tutorial.html, 1997. [Donini et al., 1996] F. Donini, M. Lenzerini, D. Nardi, and A. Schaerf. Reasoning in description logics. In G. Brewka, editor, Principles of Knowledge Representation and Reasoning, Studies in Logic, Language and Information, pages 193–238. CLSI Publications, 1996. [DSTC, 1998] Distributed Systems Technology Centre. Meta Object Facility frequently asked questions. http: //www.dstc.edu.au/Meta-Object-Facility/MOFAQ.html, 1998. [DSTC, 1999] Distributed Systems Technology Centre. XMI spec recommended. News item on Meta-Object Facility Information Web Page, http://www.dstc.edu.au/ Meta-Object-Facility/, January 1999. [Evans et al., 1998] Andy Evans, Robert France, Kevin Lano, and Bernhard Rumpe. Developing the UML as a formal modelling notation. In Pierre-Alain Muller and Jean Bézivin, editors, Proceedings of UML’98 International Workshop, Mulhouse, France, June 3 - 4, 1998, pages 297–307. ESSAIM, Mulhouse, France, 1998. [Farquhar et al., 1996] Adam Farquhar, Richard Fikes, and James Rice. The Ontolingua Server: a tool for collaborative ontology construction. In Proceedings of the 10th Knowledge Acquisition for Knowledge-Based Systems Workshop (KAW’96), 1996. [Genesereth and Ketchpel, 1994] M. R. Genesereth and S. P. Ketchpel. Software agents. Communications of the ACM, 37(7):48–53, July 1994. [Haimowitz et al., 1988] Ira J. Haimowitz, Ramesh S. Patil, and Peter Szolovits. Representing medical knowledge in a terminological language is difficult. In Proceedings of the Symposium on Computer Applications in Medical Care, pages 101–105. IEEE Computer Society Press, 1988. [Hamie et al., 1998a] Ali Hamie, Franco Civello, John Howse, Stuart Kent, and Richard Mitchell. Reflections on the Object Constraint Language. In Pierre-Alain Muller and Jean Bézivin, editors, Proceedings of UML’98 International Workshop, Mulhouse, France, June 3–4, 1998, pages 137–145. ESSAIM, Mulhouse, France, 1998. [Hamie et al., 1998b] Ali Hamie, John Howse, and Stuart Kent. Interpreting the Object Constraint Language. In Proceedings of the 5th Asia Pacific Software Engineering Conference (APSEC’98). IEEE Press, 1998. [ISI, 1998] Information Sciences Institute. Loom project home page. http://www.isi.edu/isd/LOOM/LOOMHOME.html, 1998. [Knoblock and Ambite, 1997] C. A. Knoblock and J. L. Ambite. Agents for information gathering. In J. Bradshaw, editor, Software Agents. AAAI/MIT Press, 1997. [KSL, 1994] Knowledge Systems Laboratory. The Frame Ontology. ftp://ftp.ksl.stanford.edu/pub/knowledgesharing/ontologies/html/frame-ontology/frame-ontology. lisp.html, 1994. [Levesque and Brachman, 1985] Hector J. Levesque and Ronald J. Brachman. A fundamental tradeoff in knowledge representation and reasoning (revised version). In Ronald J. Brachman and Hector J. Levesque, editors, Readings in Knowledge Representation, pages 42–70. Morgan Kaufman, 1985. [Mena et al., 1999] E. Mena, A. Illarramendi, V. Kashyap, and A. Sheth. OBSERVER: An approach for query processing in global information systems based on interoperation across pre-existing ontologies. Distributed and Parallel Databases, 1999. (to appear). [NCITS, 1998] National Committee for Information Technology Standards, Technical Committee T2 (Information Interchange and Interpretation). Draft proposed American national standard for Knowledge Interchange Format. http://logic.stanford.edu/kif/dpans.html, 1998. [Nebel, 1990] B. Nebel. Reasoning and Revision in Hybrid Representation Systems. Lecture Notes in Artificial Intelligence, number 422. Springer-Verlag, 1990. [OMG, 1997a] Object Management Group. UML semantics, version 1.1. ftp://ftp.omg.org/pub/docs/ad/97-08-04.pdf, September 1997. [OMG, 1997b] Object Management Group. Object Constraint Language specification. ftp://ftp.omg.org/pub/docs/ ad/97-08-08.pdf, September 1997. [OMG, 1997c] Object Management Group. MOF specification. http://www.omg.org/techprocess/meetings/schedule/ Technology Adoptions.html#tbl MOF Specification, 1997. [OMG, 1998] Object Management Group. OMG homepage. http://www.omg.org/, 1998. [OMG, 1999] Object Management Group. Streambased model interchange Web page. http://www. omg.org/techprocess/meetings/schedule/Streambased Model Interchange.html, 1999. [Övergaard, 1998] Gunnar Övergaard. A formal approach to relationships in the Unified Modeling Language. In Manfred Broy, Derek Coleman, Tom S. E. Maibaum, and Bernhard Rumpe, editors, Proceedings PSMT’98 Workshop on Precise Semantics for Modeling Techniques. Technische Universität München, TUM-I9803, 1998. [Owsnicki-Klewe, 1990] Bernd Owsnicki-Klewe. A general characterisation of term description languages. In K.-H. Bläsius, U. Hedtstück, and C. Rollinger, editors, Sorts and Types in Artificial Intelligence, Lecture Notes in Artificial Intelligence, number 418, pages 183–189. SpringerVerlag, 1990. [Richters and Gogolla, 1998] Mark Richters and Martin Gogolla. On formalizing the UML Object Constraint Language OCL. In Tok Wang Ling, Sudha Ram, and Mong Li Lee, editors, Proc. 17th Int. Conf. Conceptual Modeling (ER’98). Lecture Notes in Computer Science, number 1507, Springer-Verlag, 1998. [Rumbaugh et al., 1998] James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998. [SMI, 1998] Stanford Medical Informatics. The Protégé project. http://smi-web.stanford.edu/projects/protege/, 1998. [Warmer and Kleppe, 1998] Jos B. Warmer and Anneke G. Kleppe. The Object Constraint Language: Precise Modeling With UML. Addison-Wesley, 1998.