a model-driven json editor · chair of software engineering for business information systems...
TRANSCRIPT
Chair of Software Engineering for Business Information Systems (sebis)
Faculty of Informatics
Technische Universität München
wwwmatthes.in.tum.de
A Model-Driven JSON EditorLucas Köhler – Master’s Thesis Kickoff, 10.07.2017, Munich
Advisors: Adrian Hernandez-Mendez, Dr. Jonas Helming
1. Motivation
2. Research Questions
3. Literature Review
4. Requirement Prioritization
5. Implementation
6. Timeline
Outline
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 2
Motivation
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 3
Manual Implementation
Motivation
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 4
Editor Generation
Framework
View
ModelView
Model
?
Research Questions
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 5
• What are the requirements of the model-driven JSON editor?
Research Question 1
• What is the editor’s architecture and design?
Research Question 2
• What are the limitations of the editor to generate modern web forms?
Research Question 3
Literature Review – Process Overview
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 6
Search
Concepts Scopus
Iterative
Search
104 Requirements
16 categories
Additional
Relevant
Article
16 Relevant
Articles
extract
>400
133
61
Literature Review – Requirement Categories
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 7
Model
Representation
Model
UpdateModel
CreationValidation
Model
Transformation
Code Gen.
& TemplatesReferencesMigration
Versioning
Model
Deletion
Compatibility UtilityImport &
Export
Tool
Generation
Quality
AttributesAPI
Prio. 3Prio. 2Prio. 1 1–4 Refs.5–8 Refs.9+ Refs.
Requirement Prioritization
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 8
Literature
Research
Tool Analysis
(9 editors)
Prioritized
Requirements
Expert
Interview
Detail
ConfigsDetail
Configs
Implementation – Preliminary Architecture
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 9
Parser
TreeRenderer
DetailRenderer
JSON
Schema
Tree
Config
Generated
Editor
Editor Generation Framework
Detail
Configs
EditorRenderer
Service
Editor
Config
Customizations
Load &
Save
Implementation – Prototype
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 10
Timeline
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 11
April May Oct.July August Sept.June
Literature Review
Tool Analysis
Requirement Priorities
Basic Prototype
Further Implementation
Evaluation
Writing of Thesis
Thesis Review
Architecture & Design
Registration Today Submission
Technische Universität München
Faculty of Informatics
Chair of Software Engineering for
Business Information Systems
Boltzmannstraße 3
85748 Garching bei München
Tel +49.89.289.
Fax +49.89.289.17136
wwwmatthes.in.tum.de
Lucas Köhler
B.Sc.
Chair of Software Engineering for Business Information Systems (sebis)
Faculty of Informatics
Technische Universität München
wwwmatthes.in.tum.de
BackupLucas Köhler – Master’s Thesis Kickoff, 10.07.2017, Munich
Advisors: Adrian Hernandez-Mendez, Dr. Jonas Helming
Setup of this Master’s Thesis
Title: A Model-Driven JSON Editor
Student: Lucas Köhler ([email protected])
Advisors: Adrian Hernandez-Mendez [Sebis]
Dr. Jonas Helming [industry partner]
Start: 15.04.2017
End: 15.10.2017
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 14
Differentiate between a data and a form model:
• Different forms of the same data needed for different contexts, e.g.:
• Different devices
• Different access rights
• Form(s) may change without data model changes
• Data model may change without form changes
Separation of Concerns
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 15
Renderer
Form 1
Form
Model 1
Data
Model
Renderer
Form 2
Form
Model 2
Separation of Concerns with Multi-Level Modelling
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 16
The separation of concerns can be achieved with the principles of the Cameleon
Reference Framework [1]:
Tasks Concepts
Abstract Interface
Concrete Interface
Final User Interface
View Model
Generated Editor
Data Model
• Requirements
• Deep Meta-Modelling
• Domain-Specific Modelling Languages
• Language Workbenches
• Multi-Level Modelling
• Tool synonyms: tool, ide, editor, framework
Literature Research – Search
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 17
• EMF
• Ecore Editor
• Genmodel Editor
• Instance Editor
• EMF Forms
• Generic Editor
• Ecore Editor
• XML Spy
• XSD Editor
• JSON Schema Editor
• UI Schema Editor
• JSON Schema Editor
Analyzed Editors
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 18
Evaluation
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 19
• Choose two DSLs and generate an editor for each one.
Part 1
• Conduct an usability test of the generated editors in cooperation with the industry partner.
Part 2
• Analyze and document the editor generation process including its advantages and disadvantages.
Part 3
[1] G. Calvary, J. Coutaz, D. Thevenin, Q. Limbourg, L. Bouillon, and J.
Vanderdonckt, “A Unifying Reference Framework for multi-target user interfaces,”
Interact. Comput., vol. 15, no. 3 SPEC., pp. 289–308, Jun. 2003.
References
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 20