220 likes | 332 Views
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
E N D
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 Person Vehicle type type type type type Toyota 853 Rover Berizon isOwned George owns Ford 243
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 ObjectProperty Class Person type Ford 243 type type Company type type Vehicle Dog isOwned subClassOf subClassOf type onProperty OwnedByAtMostOne Toyota 853 type type maxCardinality Berizon 1 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
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.
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).
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 Company TreeNode Vehicle type type type type type Toyota 853 Node1 Berizon isOwned Node2 isOwned Ford 243
Example Ontology ObjectProperty Class type Ford 243 type type Company type type Vehicle TreeNode isOwned subClassOf subClassOf type onProperty OwnedByAtMostOne Toyota 853 type Berizon type maxCardinality 1 Restriction
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>