Effective Ontology Development using the UML and Enterprise Architect

Similar documents
Designing a Semantic Repository

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Requirements Management with Enterprise Architect

Requirements Management with Enterprise Architect

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

dcml Data Center Markup Language Data Center Markup Language Framework Specification

Ontological Modeling: Part 6

Information Management Metamodel

Semantic Modeling of Mortgage Backed Securities: Case Study. Mike Bennett, Enterprise Data Management Council Yefim Zhuk, Sallie Mae

A Quick Chat about SOMF Capabilities Page1 Service-Oriented Modeling Framework (SOMF) Building Attribution Models

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Object-Process Methodology as a basis for the Visual Semantic Web

Enterprise Architect

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Chapter 2 AN INTRODUCTION TO THE OWL WEB ONTOLOGY LANGUAGE 1. INTRODUCTION. Jeff Heflin Lehigh University

Auditing UML Models. This booklet explains the Auditing feature of Enterprise Architect. Copyright Sparx Systems Pty Ltd

Sparx Enterprise Architect for Business Analysts

An Ontological Approach to Oracle BPM

Enterprise Architect 9.3

Talend Metadata Manager. Reduce Risk and Friction in your Information Supply Chain

Umbrello UML Modeller Handbook

Using Enterprise Architect UML Modeling Tool

SysML Modelling Language explained

DDI Lifecycle: Moving Forward Status of the Development of DDI 4. Joachim Wackerow Technical Committee, DDI Alliance

RDF Resource Description Framework

Sparx Systems Enterprise Architect for Team Players

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Defining a benchmark suite for evaluating the import of OWL Lite ontologies

Semantic Web based e-learning System for Sports Domain

Requirements Exchange: From Specification Documents to Models

FHIM Model Content Overview

Using UML Part One Structural Modeling Diagrams

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

Developing Business Architecture with TOGAF

Rules and Business Rules

Model Driven Business Architecture. Pete Rivett CTO, Adaptive

BPEL. A Step by Step Guide: Model-Driven Generation with. Enterprise Architect. T his document will teach you how to use the Business Process

Business Rule Standards -- Interoperability and Portability

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Business Process Ontologies: Speeding up Business Process Implementation

Semantic Web OWL. Acknowledgements to Pascal Hitzler, York Sure. Steffen Staab ISWeb Lecture Semantic Web (1)

CDC UNIFIED PROCESS PRACTICES GUIDE

Which Enterprise Architect Edition Should I Purchase?

Open Ontology Repository Initiative

BUSINESS VALUE OF SEMANTIC TECHNOLOGY

business transaction information management

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Software Developers' Kit

Business Process Modeling and Standardization

Writing Use Case Scenarios for Model Driven Development

Enterprise Architect 11

Guideline for Implementing the Universal Data Element Framework (UDEF)

What is a metamodel: the OMG s metamodeling infrastructure

Transformation of OWL Ontology Sources into Data Warehouse

Eclipse SoaML: a Tool for Engineering Service Oriented Applications

StarUML Documentation

Getting Started Guide

Process Modeling using BPMN 2.0

Secure Semantic Web Service Using SAML

Working with BPMN 2.0 in Enterprise Architect version 11 / 12

Metamodels and Modeling Multiple Kinds of Information Systems

1. Visual Paradigm for UML

A pragmatic approach to modeling large systems

Semantic Modeling with RDF. DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo

Business Process Redesign and Modelling

eb Service Oriented Architecture Catalog of Patterns

Source Code Translation

Lecture 9: Requirements Modelling

Representing XML Schema in UML A Comparison of Approaches

White Paper What Solutions Architects Should Know About The TOGAF ADM

DISCOVERING RESUME INFORMATION USING LINKED DATA

UML PROFILING AND DSL

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.

Services Modeling Using BPMN It s Not Just Boxes and Arrows Anymore! - Presented By Lloyd Dugan September 11, 2013

Applying 4+1 View Architecture with UML 2. White Paper

Universiteit Leiden. Opleiding Informatica

Data Modeling Basics

Paul Zenden Sioux Technische Software Ontwikkeling Science Park Eindhoven EP Son Tel: +31 (0)

Big Data Systems and Interoperability

A Collaborative System Software Solution for Modeling Business Flows Based on Automated Semantic Web Service Composition

Analysis of the Specifics for a Business Rules Engine Based Projects

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Performance Analysis, Data Sharing, Tools Integration: New Approach based on Ontology

An industry perspective on deployed semantic interoperability solutions

Transcription:

Effective Ontology Development using the UML and Enterprise Architect All material (c) Sparx Systems 2013 http://www.sparxsystems.com Sparks Systems 2013 Page:1

Table of Contents INTRODUCTION...3 WHY USE ONTOLOGIES?...3 THE ONTOLOGY DEFINITION METAMODEL...3 MDG TECHNOLOGY FOR ODM...5 ONTOLOGY EXAMPLES...5 W3C METADATA...6 Classes...7 Properties...8 Semantics...9 Facts...11 IMPORT/EXPORT...12 Diagram Tip...12 DIAGRAM FILTERING...13 CONCLUSION...15 REFERENCES...15 Sparks Systems 2013 Page:2

Introduction When modeling across a diverse group of organizations that are exchanging information you need to have consistent definitions of terms and the relationships between terms. Using an Ontology you can define what you know about your domain and refer to these definitions within your information models. Originally, the Web Ontology Language (OWL) and the Resource Definition Framework (RDF) were defined purely to provide a machine-to-machine interchange of metadata and semantics. Now, OWL and RDF have been combined to form the Ontology Definition Metamodel (ODM), that supports a more human readable, abstract modeling of these languages. provides a wide range of modeling capabilities for interacting with metadata in a variety of ways, for a variety of purposes. This paper introduces the MDG Technology for ODM, providing a definition of ontologies and showing how they can be integrated with other features to address the key challenges of developing large-scale ontologies within the fully-integrated modeling environment. Why use Ontologies? The real value of ontologies lies in their ability to formally define standardized knowledge in an industry domain. Creating such ontologies, however, can quickly become a daunting task both logistically and technically. Four key challenges are: Stakeholder Enablement: The ability to engage subject matter experts, analysts, managers, practitioners and implementers to contribute value to ontologies Maintainability: The ability to update, compare and revise ontologies against predecessor baselines Reusability: The ability to define ontology templates for repeated use across development projects Traceability: The ability to drill down or drill up within ontology elements to visualize their interrelationships. Addressing such challenges within the ontology development environment very quickly goes beyond the scope of traditional, XML-based ontology tools. It requires the investment of additional applications that operate outside the core development activity. This is why supports the integration of ontology development within the visual modeling platform using ODM, to simplify modeling on a more abstract level whilst maintaining the necessary details defined in the OWL and RDF specifications, and providing connectivity to other modeling languages used in system development. The Ontology Definition Metamodel Ontologies define a common vocabulary for practitioners who share information in a domain. They provide a standardized, machine-interpretable definition of basic concepts within the domain, and of relationships between them. Sparks Systems 2013 Page:3

Sparks Systems 2013 Page:4

Benefits Using formally defined ontologies, stakeholders can: Share a common understanding of the structure of information between stakeholders or software agents Re-use domain knowledge Explicitly codify domain assumptions Separate domain knowledge from operational knowledge Analyze domain knowledge effectively The Ontology Definition Metamodel (ODM) was formalized as a standard modeling notation for ontology definition by the Object Management Group (OMG). This extension of the UML defines an important set of capabilities used in Model Driven Architecture for a formalized representation of business semantics, taxonomies and knowledge. To better understand how and why this custom modeling capability is achieved by extending the UML, you could visualize a modeling language stack as shown in Figure 1: (Taxonomies, Architectures, Systems) OWL RDF SOAML BPMN SysML UML Figure 1: The Modeling Languages Stack Each of the various domain-specific modeling languages extends the UML by defining additional metadata, semantics and notation to represent a domain-specific entity. Using these extensions to the UML, domain practitioners are more focused on capturing and visualizing their designs as an industry accepted model. Similarly, models that depict other design aspects of a system can be defined using other language Sparks Systems 2013 Page:5

extensions, with interrelationships between models defining how one part of a design relates to another. MDG Technology for ODM In the MDG Technology for ODM, the Web Ontology Language (OWL) extends the Resource Definition Framework (RDF) to define model entities that represent OWL taxonomies and semantics, or RDF web resources. Those models can then be referenced by other Architecture models, such as the Services-Oriented Architecture defined using SoaML, to describe the underlying metadata used between services. Alternatively, they could be used to define semantics between different System Blocks using the Systems Modeling Language (SysML). OWL and RDF extensions to the UML provide practitioners with the scope to not only define their Ontologies or Resource Definitions, but also to link their designs with others that describe different parts of a broader architecture or system. The MDG Technology for ODM provides: The UML Profile for the Resource Description Framework (RDF), used to represent data, properties and formal semantics of information in the web The UML Profile for Web Ontology Language (OWL), used to represent terms in vocabularies and their relationships; OWL extends the RDF to define both the domain information and the relevant domain meaning Customized diagram types and toolboxes for convenient access to elements and relationships to model ontologies and resources effectively Model templates to quickly get started with ontology modeling Model scripts to import and export RDF and OWL files Ontology Examples The Ontology Definition Metamodel provides a way to express the meaning and understanding of your operating domain, by defining an ontology that contains: Classes Properties Semantics Facts An Owl Ontology consists of an Owl package containing Owl Classes with specific properties and restrictions, along with facts related to these. The main Owl package defines the Namespaces used in the ontology. See the example in Figure 2. Sparks Systems 2013 Page:6

Figure 2: An Example Namespace This namespace declaration for the Ontology package can consist of a set of namespaces that are defined in the Tagged Values window (Ctrl+Shift+6). Sparks Systems 2013 Page:7

Figure 3: Namespace Declaration of the Main Ontology Package For details on each of these namespaces see WC3 namespaces. W3C Metadata ODM, being based on W3C OWL specifications, relies on metadata that is stored with the elements and relationships. These ODM properties are stored as Tagged Values and are accessible from the Tagged Values window (Ctrl+Shift+6). Figure 4: Metadata stored in Tagged Values Classes Ontology is very useful in its ability to make inferences about an individual based on what group it belongs to - its Classification or 'Class'. To work with this you use a method of grouping objects based on common properties. Any Class can be a member collection under a higher Class a parent Class. Where a Class is a 'subclass', its properties can be inherited from its parent Class(es). Sparks Systems 2013 Page:8

So, as with the UML, a Class defines a Classification, but there can also be instances of that Classification (an Object representing an artifact); for example 'Jane' might be an instance of the Classification Woman. With a child Class, any properties inherited from its parents can be viewed in the Tagged Values window. Figure 5: Properties defined in the Tagged Values window showing inheritance from parent elements Properties With Properties, you can define characteristics of Classes. The Properties can be either: Datatype properties, or Object properties Based on the RDF, the ODM uses element triples equivalent to entity relationships; rather than Entity-Attribute-Value it uses Subject-Predicate-Object. The Subject and Object are defined with rdfsclass and the Predicate is defined with an rdfproperty. For example, to represent the statement 'The Sky is Blue' the triple consists of a Subject Sky, a Predicate Has Color and an Object Blue, as shown in Figure 6. Sparks Systems 2013 Page:9

Figure 6: Example of the OWL/RDF Subject-Predicate-Object Triple defining a Property Semantics With the ODM, the OWL semantics are defined using relationships between Classes (elements). These relationships are accessible from the Diagram Toolbox, as shown in Figure 7. Figure 7: OWL Semantics available from the Diagram Toolbox As an example of using semantic relationships, consider the English statement: 'A Vegetarian pizza can consist of a union of a number of non meat-based pizza toppings'. The primary set of possible toppings are defined as subclasses of PizzaToppings, which includes vegetarian, meat and fish toppings, as shown in Figure 8. Sparks Systems 2013 Page:10

Figure 8: The set of Pizza toppings In the OWL, the vegetarian toppings are stated as owl:unionof. Figure 9 shows this in ODM form. Figure 9: Using the Union semantic relationship An example of using a different OWL semantic, owl:complementof, is shown in Figure 10. Sparks Systems 2013 Page:11

Figure 10: Example of the complimentof relationship The complementof relationship shows, in Figure 10, that meat or fish based toppings are not vegetarian toppings. Restrictions An OWL restriction is used to define a restricted set similar to an SQL Where condition. It defines a rule based on onproperty, and a Value Constraint such as allvaluesfrom or somevaluesfrom. This is typically used in conjunction with one of the other semantic relations, such as subclassof. For example, continuing the theme of pizza toppings, for the Artichoke Topping Class: <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hasspiciness"/> <owl:somevaluesfrom rdf:resource="#mild"/> </owl:restriction> </rdfs:subclassof> Figure 11 shows how this is represented in an ODM diagram. Sparks Systems 2013 Page:12

Figure 11: Example of an owl:restriction This reads as: 'an artichoke topping is a vegetable topping with the hasspiciness property mild'. Facts The Fact model is used to define specific facts about certain objects that are instances of Classes. Figure 12 shows facts about Paulene, an instance of Woman, concerning her relationship to her parents. Specifically, it shows the fact that she has a male parent Tim. Sparks Systems 2013 Page:13

Figure 12: Working with facts about an Instance of a Class Import/Export The MDG Technology for ODM supports the import and and export of.owl and.rdf files. These facilities are accessible from the Main menu: Extensions ODM. Once imported to the model, these files can be interchanged with other UML models using the XMI Import/Export facilities, which include diagram specific details. As.owl and.rdf files do not include graphical detail there is no initial diagram generated for the imported data. Diagram Tip Two useful features for setting up diagrams are: For a small ontology you can drag, from the Project Browser, the complete set of elements onto a diagram and format the diagram (main menu: Diagram Layout Diagram) For a large ontology it is better to maintain a set of smaller, readable diagrams based around the key Classes; you can do this by dragging a specific element onto a new diagram and then using the Add Related Elements option to create the diagram around your key element From the Project Browser, drag onto the diagram a Class that is likely to be a key object (like Publication, as opposed to Newspaper) Sparks Systems 2013 Page:14

Right-click on the Class in the diagram Select Add Related Elements from the context menu Set the Levels to import and tick the the Layout option if preferred Figure 13: Creating a Diagram using the Insert Related Elements feature Diagram Filtering A simple OWL file can involve a complex set of relationships that you might find difficult to interpret. Using Diagram Filters you can simplify your diagrams, setting a specific connector type to be displayed. Figure 14 is an example of an unfiltered diagram with many disjointwith connectors. Sparks Systems 2013 Page:15

DomainConcept Food «rdfssubclasso f» «rdfssubclasso «rdfssubclassof» f» Pizza «disjo intwith» «o wlclass» PizzaTopping «disjointwith» «disjointwith» PizzaBase «rdfssubclassof» «rdfssu bclassof» «rdfssubclassof» «rdfssubclassof» «rdfssubclasso f» «rdfssub ClassOf» «rdfssub ClassOf» «owlcla ss» SauceTopping MeatTopping NutTopping FishTopping HerbSpiceTopping FruitTopping CheeseTopping «disjointwith» «disjointwith» «disjointwith» isjointwith» «disjointwith «disjointwith»» «disjointwith» «disjointwith» «d isjointwith» «disjointwith» «disjo in «disjointwith» «disjointwith» «disjointwith» «disjo in twith» «disjointwith» «disjointwith» «disjointwith» «disjointwith» «disjointwith» Figure 14: Diagram without filtering, showing 'disjointwith' Figure 15 shows a cleaner view of the same diagram, using a diagram filter set to only display the connectors of the rdfssubclassof connector type. Figure 15: Diagram filtered to display only 'rdfssubclassof' For more information on using this filter option, see the Diagram Filters Help topic. Sparks Systems 2013 Page:16

Conclusion The use of ontologies in model driven development provides a means of expressing a more formal definition of terms in the conceptual model. With each term having the ability to have specific relationships to other terms, ontologies provide a more concise and in-depth representation of the terminology that the model uses to reflect real world concepts. Using 's MDG Technology for ODM, you can now integrate ontologies into the visual modeling environment. This provides a standard, welldefined process for modeling the ontology, as well as allowing for interoperability with models based on other languages such as UML, SysML and UPDM. References For access to the ODM specification see: http://www.omg.org/spec/odm/1.0/ For more information on the W3C OWL ontology see: http://www.w3.org/tr/owl-ref/ For a comprehensive list of ontologies accessible from the web see: http://owl.man.ac.uk/library/ontologies.txt Sources for example Owl Ontologies used in this document: Pizza: http://www.co-ode.org/ontologies/pizza/2005/10/18/pizza.owl Mad Cows ontology http://www.cs.man.ac.uk/~horrocks/owl/ontologies/mad_cows.owl Sparks Systems 2013 Page:17