Title: Extending UML to Support Ontology Engineering
1Extending UML to Support Ontology Engineering
- Kenneth Baclawski and Mieczylaw K. Kokar
- Northeastern University
- Paul A. Kogut, William S. Holmes III
- and Michael L. Aronson
- Lockheed Martin Management and Data Systems
- Lewis Hart -- GRC International
- Jeffrey Smith -- Mercury Computer
- Jerzy Letkowski -- Western New England College
2Knowledge Representation (KR)
- Data representation language for knowledge-based
systems - Usually based on logic or networks (directed
graphs) - Usually do not rigidly separate meta levels
- Enables reasoning and semantic interoperability
of agents at run-time - Assumes an open rather than closed world.
3Example of a KR
Dog
Company
Person
Vehicle
type
type
type
type
type
Toyota 853
Rover
Berizon
isOwned
George
owns
Ford 243
4Ontology
- Formal, declarative semantic model
- Data (instances) conforming to an ontology are
called annotations. - An ontology may include
- Vocabulary terms
- Taxonomies
- Relations
- Constraints, rules and assertions
5Example Ontology
type
ObjectProperty
Class
Person
type
Ford 243
type
type
Company
type
type
Dog
Vehicle
isOwned
subClassOf
subClassOf
type
onProperty
OwnedByAtMostOne
Toyota 853
type
type
maxCardinality
Berizon
1
Restriction
6UML as an ontology language
- UML class diagrams can define ontologies.
- Constraints such as cardinality constraints can
be mapped to UML constructs or to OCL. - Statecharts and Activity Diagrams are useful for
service and process related ontologies. - See UML for Ontology Development to appear in
Knowledge Engineering Review
7Example Ontology in UML
8Advantages of UML for ontology
- Leverages UML tools and experience in ontology
development. - Provides profiles, packages and other modularity
mechanisms currently lacking in knowledge-based
systems. - Supports an established mechanism for specifying
the behavior associated with knowledge
representations.
9Limitations of UML
- Does not (yet) have a formal semantics.
- Not Web enabled.
- Does not support properties (associations) as
first-class model elements.
10RDF and DAML
- The Resource Description Framework (RDF) and
DARPA Agent Markup Language (DAML) have been
proposed as the basis for the Semantic Web. - DAML supports semantic interoperability between
Web pages, databases, programs and sensors by
autonomous agents at run-time.
11Mapping UML to DAML
12Example ontology in DAML
ltClass ID"Company"/gt ltObjectProperty
ID"isOwned"gt ltinverseOfgt ltObjectProperty
ID"owns"/gt lt/inverseOfgt lt/ObjectPropertygt ltClas
s ID"Person"/gt ltRestriction ID"OwnedByAtMostOne"
gt ltmaxCardinalitygt1lt/maxCardinalitygt
ltonProperty rdfresource"isOwned"/gt lt/Restrictio
ngt ltClass ID"Vehicle"gt ltsubClassOf
rdfresource"OwnedByAtMostOne"/gt lt/Classgt ltClass
IDDog"gt ltsubClassOf rdfresource"OwnedByAtM
ostOne"/gt lt/Classgt
13First-Class Properties
- In KR languages, properties are first-class model
elements they can be defined independently of
any associated classes. - UML associations must be defined in the context
of the associated classes. - KR properties allow one to define aspects of the
ontology that cut across the boundaries of
classes.
14Why not reify?
- Why not model KR properties as classes?
- It produces complex, unnatural ontologies.
- It puts the burden on the ontology developer to
reconcile this limitation of UML. - The resulting mapping from UML to DAML is
unbounded (i.e., does not stabilize when applied
repeatedly).
15MOF Specification of proposal
16Property Semantics in OCL
- A property is a grouping of Association Ends.
- Properties cross-cut Associations no property
may have more than one Association End of an
Association.
allConnections Set(AssociationEnd) allPropConnec
tions Set(Property) self.allConnections-gtinterse
ction(self.allPropConnectionsSet(T))Set(T) size
(T)lt1
17Conclusion
- UML is a viable language for specifying
ontologies and knowledge representations. - We propose a modest extension of UML to make it
more compatible with knowledge-based systems by
supporting first-class properties.
18Example of a KR
Company
TreeNode
Vehicle
type
type
type
type
type
Toyota 853
Node1
Berizon
isOwned
Node2
isOwned
Ford 243
19Example Ontology
ObjectProperty
Class
type
Ford 243
type
type
Company
type
type
TreeNode
Vehicle
isOwned
subClassOf
subClassOf
type
onProperty
OwnedByAtMostOne
Toyota 853
type
Berizon
type
maxCardinality
1
Restriction
20Example Ontology in UML
21Example ontology in DAML
ltClass ID"Company"/gt ltObjectProperty
ID"isOwned"gt ltinverseOfgt ltObjectProperty
ID"owns"/gt lt/inverseOfgt lt/ObjectPropertygt ltRest
riction ID"OwnedByAtMostOne"gt
ltmaxCardinalitygt1lt/maxCardinalitygt ltonProperty
rdfresource"isOwned"/gt lt/Restrictiongt ltClass
ID"Vehicle"gt ltsubClassOf rdfresource"OwnedBy
AtMostOne"/gt lt/Classgt ltClass ID"TreeNode"gt
ltsubClassOf rdfresource"OwnedByAtMostOne"/gt lt/C
lassgt