Post on 18-Dec-2014
description
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