Upload
bosso
View
536
Download
1
Embed Size (px)
DESCRIPTION
The slides of the presentation of SEMAPRO2010 in Florence.
Citation preview
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