extending uml to support ontology engineering
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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 levelsEnables reasoning and semantic
interoperability of agents at run-timeAssumes an open rather than closed world.
Example of a KR
PersonCompanyVehicle
BerizonRover
GeorgeFord 243
Toyota 853type
type typetype
type
isOwnedowns
Dog
Ontology
Formal, declarative semantic modelData (instances) conforming to an ontology
are called annotations.An ontology may include:
Vocabulary terms Taxonomies Relations Constraints, rules and assertions
Example Ontology
Class ObjectProperty
DogCompany
Vehicle
Restriction
isOwned
OwnedByAtMostOne
1
type
typetype
type
type
maxCardinality
onPropertysubClassOf
Berizon
type
Ford 243
Toyota 853
type
type subClassOf
Persontype
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
Company Vehicle
0..1
owns
0..1
Person Dog
0..1
owns
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 run-time.
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 knowledge-based systems by supporting first-class properties.
Example of a KR
TreeNodeCompany
Vehicle
BerizonNode1
Node2Ford 243
Toyota 853type
type typetype
type
isOwnedisOwned
Example Ontology
Class ObjectProperty
TreeNodeCompany
Vehicle
Restriction
isOwned
OwnedByAtMostOne
1
type
typetype
type
type
maxCardinality
onPropertysubClassOf
Berizon
type
Ford 243
Toyota 853
type
type subClassOf
Example Ontology in UML
Company Vehicle
0..1
owns
0..1
TreeNode
0..1
owns
0..1
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>