Ontology-Driven Software Development with Protégé and OWL Holger Knublauch Stanford Medical Informatics Model-Driven Semantic Web.

Slides:



Advertisements
Similar presentations
Major Influences on the Design of ODM Dan Chang (IBM) Elisa Kendall (Sandpiper) MDSW 2004.
Advertisements

1 Copyright ©2007 Sandpiper Software, Inc. Vocabulary, Ontology & Specification Management at OMG Elisa Kendall Sandpiper Software
1 Ontolog OOR Use Case Review Todd Schneider 1 April 2010 (v 1.2)
1 DTI/EPSRC 7 th June 2005 Reacting to HCI Devices: Initial Work Using Resource Ontologies with RAVE Dr. Ian Grimstead Richard Potter BSc(Hons)
Building FHIR Servers on Existing Applications
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
From Ontology Design to Deployment Semantic Application Development with TopBraid Holger Knublauch
Chronos: A Tool for Handling Temporal Ontologies in Protégé
AHRT: The Automated Human Resources Tool BY Roi Ceren Muthukumaran Chandrasekaran.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
LexGrid for cBIO Division of Biomedical Informatics Mayo Clinic Rochester, MN.
An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.
Semantic Web Tools Vagan Terziyan Department of Mathematical Information Technology, University of Jyvaskyla ;
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
ELSE (eLearning for Software Engineering) S. Stojanov ECL, University of Plovdiv.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
Semantic Web Research: Visual Modelling of OWL-S Services Computer Science Annual Workshop September 2004 Charlie Abela, James Scicluna Department of Computer.
Editing Description Logic Ontologies with the Protege OWL Plugin.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
What Can Do for You! Fabian Christ
Knowledge Management in Geodise Geodise Knowledge Management Team Liming Chen, Barry Tao, Colin Puleston, Paul Smart University of Southampton University.
Information Integration Intelligence with TopBraid Suite SemTech, San Jose, Holger Knublauch
Java Beans.
1 Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness and Peter Fox CSCI Week 9, October 27, 2008.
Xactium xDSLs Run Models Not Code Tony Clark
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
A Model-Driven Semantic Web David Frankel (David Frankel Consulting) Pat Hayes ( Institute for Human & Machine Cognition, University of West Florida) Elisa.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Modeling Tools for Healthcare Technical Overview April 8, 2009.
1 Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
Košice, 10 February Experience Management based on Text Notes The EMBET System Michal Laclavik.
Design Management: a Collabortive Design Solution ECMFA 2013 Montpellier, France Maged Elaasar (Presenter) Senior Software Engineer, IBM
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
SEMANTIC WEB FOR A HOSPITAL
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
Semantic Web Constraint Language complement and the editor development in Protégé Piao Guangyuan.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
PHS / Department of General Practice Royal College of Surgeons in Ireland Coláiste Ríoga na Máinleá in Éirinn Knowledge representation in TRANSFoRm AMIA.
-KHUSHBOO BAGHADIYA.  Introduction  System Description  iCAT in use  Evolution of the system  Evolution of modeling  Evolution of features  Evolution.
Working with Ontologies Introduction to DOGMA and related research.
© 2010 by Boeing; made available under the EPL v1.0 | March 23, 2010 | Xtext and GEF deliver editors for the Open System Engineering Environment Ryan Brooks.
Architecture for an Ontology and Web Service Modelling Studio Michael Felderer & Holger Lausen DERI Innsbruck Frankfurt,
6 Dec Rev. 14 Dec CmpE 583 Fall 2008OWL Intro 1 OWL Intro Notes off Lacy Ch. 4 Atilla Elçi.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
TAKE – A Derivation Rule Compiler for Java Jens Dietrich, Massey University Jochen Hiller, TopLogic Bastian Schenke, BTU Cottbus/REWERSE.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Fundamentals of Visual Modeling with UML Module 1: Introduction to Object Technology.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
WonderWeb. Ontology Infrastructure for the Semantic Web. IST Project Review Meeting, 11 th March, WP2: Tools Raphael Volz Universität.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Versatile Information Systems, Inc International Semantic Web Conference An Application of Semantic Web Technologies to Situation.
Model Driven Architecture MDA SE-548 Lale Doğan
Technische Universität München © Prof. Dr. H. Krcmar An Ontology-based Platform to Collaboratively Manage Supply Chains Tobias Engel, Manoj Bhat, Vasudhara.
MEKON & HOBO Java Frameworks for building Ontology-Driven Applications Current use cases:  Almost (!) products:  Knowledge-driven clinical documentation.
Introduction  Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc)  Relations between these elements.
UNIT 1.
Stanford Medical Informatics
Software Design Lecture : 14.
CSCI 360: Software Architecture & Design
Presentation transcript:

Ontology-Driven Software Development with Protégé and OWL Holger Knublauch Stanford Medical Informatics Model-Driven Semantic Web Workshop

Protégé Core System (since 1990s) Generic metamodel (OKBC) Configurable Open platform with “Plugins” OWL Plugin (since 2003) OWL Full metamodel Optimized user interface Built-in reasoning access Several thousand users

Protégé / OWL Plugin

Overview How to develop Semantic Web applications? –Example –Architecture and OWL-Java mapping –Tool support Can we apply this to general purpose MDA? –OWL is often more suitable than UML –Major benefit: Semantics at edit-time & run-time

Example Scenario

Traditional Web Architecture

Semantic Web Architecture

Ontologies Travel Ontology ActivityProvider ContactAddress Activity AdventureActivity providesActivityhasContact BungeeJumpingCaving HeliBungeeJumping Geography Ontology GeographicArea CountryCity hasLocation Travel Extension Ontologies

Software Architecture (1) Travel.owlCustomer.owl HeliBungee.owl... Semantic Web Layer Internal Layer Ontology representation as Java objects ActivityX.owl Reasoners (OWL DL, SWRL,...) End-User Interface (JSP) Web Service Interface (WSDL) Web Service, Control Logic (Java Code) Core Ontologies

Ontology Code in Java OntModel model =...; OntProperty nameProperty = model.getOntProperty(baseURI + “name”); Individual myActivity = model.getIndividual(baseURI + “test”); String name = myActivity.getPropertyValue(nameProperty); Bookings.book(myActivity);... XYModel model =...; Activity myActivity = model.getActivity(baseURI + “test”); String name = myActivity.getName(); myActivity.book();... Typical approach with a generic API (Jena): Nicer approach with a customized API:

UML to Java (conventional) Activity - name : String ActivityProvider providedBy 0..* public class Activity { private String name; private Collection providers; public String getName() public void setName(String name) public Iterator listProviders() public void addProvider(ActivityProvider p) public void removeProvider(ActivityProvider p) }

OWL to Java (Jena) Activity - name : String ActivityProvider providedBy 0..* public class Activity extends OntClassImpl { public String getName() public void setName(String name) public Iterator listProviders() public void addProvider(ActivityProvider p) public void removeProvider(ActivityProvider p) }

Working with Jena Classes Resource OntPropertyOntClass RDF Triple Store CustomerActivity Bungee Generic Level Application Level

Software Architecture (2) Travel.owlCustomer.owl HeliBungee.owl... Semantic Web Layer Internal Layer Activity.java... Customer.java... Dynamic Object Model (Jena) ActivityX.owl Reasoners (OWL DL, SWRL,...) End-User Interface (JSP) Web Service Interface (WSDL) Web Service, Control Logic (Java Code) Core Ontologies

Dynamic Object Model Model is accessible at run-time: –Generic algorithms/reasoners can be executed –Generic test cases available at run-time –Generic serialization, database storage etc. –Generic user interfaces can be generated –Classes can be handled as individuals (Metaclasses are supported) –Instances can have multiple types (dynamic polymorphism using Jena API) –Instances can be classified & change types

Other OWL to Java Benefits Traditional Code: Code based on generated Jena classes: Collection patients = model.getPatients(); for(Iterator it = patients.iterator(); it.hasNext(); ) { Patient patient = (Patient) it.next(); if(patient.isMale()) { patient.doSomething(); } for(Iterator it = model.listIndividuals(MALE, true); it.hasNext(); ) { Patient patient = (Patient) it.next(); patient.doSomething(); }

Generalizing This Approach Every program has a “domain model” –Customers, Accounts, Products –Patients, Diseases, Treatments Domain model is potentially most reusable No real need for UML Paradigm shift to a new dialect of OO Model ViewControl

Dynamic Object Models and MDA MDA taken to extremes Design not only to generate code Design is part of the deployed system –Open ontologies to share between applications –Machine-accessible semantics at run-time –Built-in reflection across metalevels However: Limited expressivity of OWL; Coding needed (procedural attachment).

Advantages of OWL over UML Explicit, sharable modeling artifacts Open architecture of Semantic Web OWL has rich semantics –closer to domain than UML –built-in reasoning support (DL, SWRL) A single language across metalevels

Strengths of tools like Protégé Can be used by domain experts Better scalable than visual UML modeling Reasoning support at edit-time Rapid prototyping of models Individuals can be acquired using forms Open architecture / adaptability Start your application as a plugin

Ontology-Driven Development Model ViewControl Incremental Code Generation Agile Modeling Agile Programming

Future Work with Protégé (1) Embrace UML, encourage use of OWL Incremental OWL-Java code generation 1.Determine optimal mapping OWL to Java, (using an example application) 2.Define rules for updating code in response to changes in the ontology (create, rename, etc). 3.Write Eclipse plugin to perform the updating (either directly or in batch mode)

Future Work with Protégé (2) Use Protégé as an ODM editor Map core Protégé metamodel to RDF(S) Collaborations? ODM Bridge