Axa Assurance Maroc - Insurer Innovation Award 2024
Generating an Ontology Specific Editor
1. Generating an Ontology Specific Editor
Hannes Niederhausen, Sven Windisch, Lutz Maicher
Topic Maps Lab
University of Leipzig
Leipzig, Germany
29.10.2010/SEMAPRO2010
Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 1/24
2. Introduction
The name: Hannes Niederhausen
Working at the Topic Maps Lab
Topic Maps Lab:
Research Group at the University of Leipzig
Developing Tools and Applications for Topic Maps
Website: http://www.topicmapslab.de
Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 2/24
3. 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
4. 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
5. Background: Topic Maps I
The ISO-Standard
Subject centric semantic technologies
ISO Standard Family: Core: TMDM ISO 13250-2
Other parts: Serialisations, Query and Schema Language
Topics represent anything like persons, web pages or abstract types like
colours
Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 5/24
6. Background: Topic Maps II
Topics
Topic has identifier:
item identifier IRI to identify topic map element inside a topic map
subject identifier IRI to description of represented subject
subject locator IRI which leads to the represented subject
Topic has names - typed using other topics
Topics has occurrences - typed using other topics
Topics can be typed by other topics
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
7. Background: Topic Maps III
Associations
Associations connect topics
Associations are typed with topics
A topic plays a role in an association
Roles are also typed with topics
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
8. 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
9. Background: Onotoa
Onotoa is schema editor for Topic Maps
Plug-in based application based on Eclipse RCP
Provides export to Topic Maps Constraint Language (ISO 19756)
Provides schema extensions, called annotation
Current beta: http://onotoa.topicmapslab.de/beta
Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 9/24
10. 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
11. Motivation
Topic Maps can be created by:
Merging different topic maps
A mapping of non-topic-map data to a topic map
Entered by authors
For the latter an editor is needed
Model-Driven-Development generates source code based on model
description like UML
Question: Why not generate the domain model based on a Topic Maps
schema?
After generating the domain model the next logic step was to generate a
whole application.
Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 11/24
12. 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
13. Software Stack of the Generated Editor
Example 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
14. Generated Editor Stack
Eclipse RCP
Aranuka Kuria
Topic Maps
Engine
Generic
Editor
Components
Generated
Domain 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
15. 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
16. Example
Domain
Attendees of SEMAPRO2010 and their employers
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
17. Example
Schema
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
18. Example
Generator Annotations
Annotate types to generate categories
Set names to use as object serialisation
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
19. Example
Generated Editor
Figure: The generated application with some data.
Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 19/24
20. Editor Features
Edit topic maps instances
Store topic maps in a database or files
Easy to modify by generating a new editor model
Extendable with other Eclipse Plug-ins
Application is platform independent
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
21. 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
22. Summary
Generate an editor inside Onotoa very easy
Building the application without any knowledge of Eclipse framework
Outlook
Support more Topic Maps constructs, like reification and scope
Provide layout configuration
Hannes Niederhausen, Sven Windisch, Lutz Maicher (Topic Maps Lab) 29.10.2010/SEMAPRO2010 22/24
23. The Sources
All libraries are Open Source:
Onotoa:
http:
//code.google.com/a/eclipselabs.org/p/onotoa/
Kuria: http://code.google.com/p/kuria/
Aranuka: http://code.google.com/p/aranuka/
Code Generator:
http://code.google.com/p/aranuka-codegenerator/
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