Extending 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
Knowledge 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.
Example of a KR
Dog
Company
Vehicle
type
Person
type
type
type
Toyota 853
isOwned
Ford 243
type
Rover
Berizon
George owns
Ontology
 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
Example Ontology
type
Class
type
Ford 243
type
Person
type
Company
type
Vehicle
subClassOf
type
ObjectProperty
type
Dog
subClassOf
onProperty
isOwned
OwnedByAtMostOne
Toyota 853
type
maxCardinality
1
type
Berizon
Restriction
UML 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
Example Ontology in UML
owns
Com pany
Vehicle
0..1
owns
Person
Dog
0..1
Advantages 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.
Limitations of UML
 Does not (yet) have a formal semantics.
 Not Web enabled.
 Does not support properties (associations)
as first-class model elements.
RDF 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 runtime.
Mapping UML to DAML
Example ontology in DAML
<Class ID="Company"/>
<ObjectProperty ID="isOwned">
<inverseOf>
<ObjectProperty ID="owns"/>
</inverseOf>
</ObjectProperty>
<Class ID="Person"/>
<Restriction ID="OwnedByAtMostOne">
<maxCardinality>1</maxCardinality>
<onProperty rdf:resource="#isOwned"/>
</Restriction>
<Class ID="Vehicle">
<subClassOf rdf:resource="#OwnedByAtMostOne"/>
</Class>
<Class ID=”Dog">
<subClassOf rdf:resource="#OwnedByAtMostOne"/>
</Class>
First-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.
Why 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).
MOF Specification of proposal
Property 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);
allPropConnections: Set(Property);
self.allConnections->intersection(self.allPropConnections:Set(T)):Set(T);
size(#T)<=1
Conclusion
 UML is a viable language for specifying
ontologies and knowledge representations.
 We propose a modest extension of UML to
make it more compatible with knowledgebased systems by supporting first-class
properties.
Example of a KR
Company
TreeNode
Vehicle
type
type
type
type
Toyota 853
isOwned
Ford 243
type
Node1
Berizon
Node2
isOwned
Example Ontology
Class
Ford 243
type
ObjectProperty
type
type
Company
type
type
Vehicle
TreeNode
subClassOf
subClassOf
onProperty
type
isOwned
OwnedByAtMostOne
Toyota 853
type
maxCardinality
1
type
Restriction
Berizon
Example Ontology in UML
owns
Com pany
Vehicle
0..1
TreeNode
0..1
owns
Example ontology in DAML
<Class ID="Company"/>
<ObjectProperty ID="isOwned">
<inverseOf>
<ObjectProperty ID="owns"/>
</inverseOf>
</ObjectProperty>
<Restriction ID="OwnedByAtMostOne">
<maxCardinality>1</maxCardinality>
<onProperty rdf:resource="#isOwned"/>
</Restriction>
<Class ID="Vehicle">
<subClassOf rdf:resource="#OwnedByAtMostOne"/>
</Class>
<Class ID="TreeNode">
<subClassOf rdf:resource="#OwnedByAtMostOne"/>
</Class>
Descargar

No Slide Title