Generating an Ontology Specific Editor

Post on 18-Dec-2014

535 views 1 download

description

The slides of the presentation of SEMAPRO2010 in Florence.

Transcript of Generating an Ontology Specific Editor

Generating an Ontology Specific Editor

Hannes Niederhausen, Sven Windisch, Lutz Maicher

Topic Maps LabUniversity of LeipzigLeipzig, Germany

29.10.2010/SEMAPRO2010

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 1/24

Introduction

I The name: Hannes Niederhausen

I Working at the Topic Maps LabI Topic Maps Lab:

I Research Group at the University of LeipzigI Developing Tools and Applications for Topic MapsI Website: http://www.topicmapslab.de

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 2/24

Outline

Background: Topic Maps

Background: Onotoa

Motivation

Software Stack of the Generated Editor

Example

Summary

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 3/24

Outline

Background: Topic Maps

Background: Onotoa

Motivation

Software Stack of the Generated Editor

Example

Summary

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 4/24

Background: Topic Maps IThe ISO-Standard

I Subject centric semantic technologies

I ISO Standard Family: Core: TMDM ISO 13250-2

I Other parts: Serialisations, Query and Schema Language

I Topics represent anything like persons, web pages or abstract types likecolours

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 5/24

Background: Topic Maps IITopics

I Topic has identifier:I item identifier IRI to identify topic map element inside a topic mapI subject identifier IRI to description of represented subjectI subject locator IRI which leads to the represented subject

I Topic has names - typed using other topicsI Topics has occurrences - typed using other topicsI Topics can be typed by other topicsI Example Topic: "http://topicmapslab.de/people/Hannes_Niederhausen"

has the Name "Hannes Niederhausen" of type "wiki:Fullname" and is a"wiki:Person".

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 6/24

Background: Topic Maps IIIAssociations

I Associations connect topics

I Associations are typed with topics

I A topic plays a role in an association

I Roles are also typed with topics

I Example: "Hannes Niederhausen" plays role "Employee" in association"works for"

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 7/24

Outline

Background: Topic Maps

Background: Onotoa

Motivation

Software Stack of the Generated Editor

Example

Summary

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 8/24

Background: Onotoa

I Onotoa is schema editor for Topic Maps

I Plug-in based application based on Eclipse RCP

I Provides export to Topic Maps Constraint Language (ISO 19756)

I Provides schema extensions, called annotation

I Current beta: http://onotoa.topicmapslab.de/beta

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 9/24

Outline

Background: Topic Maps

Background: Onotoa

Motivation

Software Stack of the Generated Editor

Example

Summary

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 10/24

Motivation

I Topic Maps can be created by:I Merging different topic mapsI A mapping of non-topic-map data to a topic mapI Entered by authors

I For the latter an editor is needed

I Model-Driven-Development generates source code based on modeldescription like UML

I Question: Why not generate the domain model based on a Topic Mapsschema?

I After generating the domain model the next logic step was to generate awhole application.

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 11/24

Outline

Background: Topic Maps

Background: Onotoa

Motivation

Software Stack of the Generated Editor

Example

Summary

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 12/24

Software Stack of the Generated EditorExample for a Generated Editor

Figure: A generated application with some data.

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 13/24

Generated Editor Stack

Eclipse RCP

Aranuka Kuria

Topic MapsEngine

Generic Editor

Components

GeneratedDomain Specific

Component

Figure: The components of a generated editor application.

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 14/24

Outline

Background: Topic Maps

Background: Onotoa

Motivation

Software Stack of the Generated Editor

Example

Summary

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 15/24

ExampleDomain

I Attendees of SEMAPRO2010 and their employers

I If an attendee gives one or more presentations persist it too

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 16/24

ExampleSchema

Figure: The domain in the abstract domain diagram of Onotoa.

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 17/24

ExampleGenerator Annotations

I Annotate types to generate categories

I Set names to use as object serialisation

I Do not generate fields in talk and company for persons

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 18/24

ExampleGenerated Editor

Figure: The generated application with some data.

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 19/24

Editor Features

I Edit topic maps instances

I Store topic maps in a database or files

I Easy to modify by generating a new editor model

I Extendable with other Eclipse Plug-ins

I Application is platform independent

I Upload the topic map to Maiana(http://maiana.topicmapslab.de)

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 20/24

Outline

Background: Topic Maps

Background: Onotoa

Motivation

Software Stack of the Generated Editor

Example

Summary

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 21/24

Summary

I Generate an editor inside Onotoa very easy

I Building the application without any knowledge of Eclipse framework

I OutlookI Support more Topic Maps constructs, like reification and scopeI Provide layout configuration

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 22/24

The Sources

I All libraries are Open Source:I Onotoa:http://code.google.com/a/eclipselabs.org/p/onotoa/

I Kuria: http://code.google.com/p/kuria/I Aranuka: http://code.google.com/p/aranuka/I Code Generator:http://code.google.com/p/aranuka-codegenerator/

I Generic Editor SDK:http://code.google.com/a/eclipselabs.org/p/genny/

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 23/24

Questions??

Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 24/24