extending uml to support ontology engineering

21
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

Upload: thina

Post on 09-Jan-2016

26 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Extending UML to Support Ontology Engineering

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

Page 2: Extending UML to Support Ontology Engineering

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.

Page 3: Extending UML to Support Ontology Engineering

Example of a KR

PersonCompanyVehicle

BerizonRover

GeorgeFord 243

Toyota 853type

type typetype

type

isOwnedowns

Dog

Page 4: Extending UML to Support Ontology Engineering

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

Page 5: Extending UML to Support Ontology Engineering

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

Page 6: Extending UML to Support Ontology Engineering

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

Page 7: Extending UML to Support Ontology Engineering

Example Ontology in UML

Company Vehicle

0..1

owns

0..1

Person Dog

0..1

owns

0..1

Page 8: Extending UML to Support Ontology Engineering

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.

Page 9: Extending UML to Support Ontology Engineering

Limitations of UML

Does not (yet) have a formal semantics.Not Web enabled.Does not support properties (associations)

as first-class model elements.

Page 10: Extending UML to Support Ontology Engineering

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.

Page 11: Extending UML to Support Ontology Engineering

Mapping UML to DAML

Page 12: Extending UML to Support Ontology Engineering

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>

Page 13: Extending UML to Support Ontology Engineering

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.

Page 14: Extending UML to Support Ontology Engineering

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).

Page 15: Extending UML to Support Ontology Engineering

MOF Specification of proposal

Page 16: Extending UML to Support Ontology Engineering

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

Page 17: Extending UML to Support Ontology Engineering

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.

Page 18: Extending UML to Support Ontology Engineering

Example of a KR

TreeNodeCompany

Vehicle

BerizonNode1

Node2Ford 243

Toyota 853type

type typetype

type

isOwnedisOwned

Page 19: Extending UML to Support Ontology Engineering

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

Page 20: Extending UML to Support Ontology Engineering

Example Ontology in UML

Company Vehicle

0..1

owns

0..1

TreeNode

0..1

owns

0..1

Page 21: Extending UML to Support Ontology Engineering

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>