a model-driven json editor · chair of software engineering for business information systems...
TRANSCRIPT
![Page 1: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/1.jpg)
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
![Page 2: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/2.jpg)
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
![Page 3: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/3.jpg)
Motivation
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 3
Manual Implementation
![Page 4: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/4.jpg)
Motivation
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 4
Editor Generation
Framework
View
ModelView
Model
?
![Page 5: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/5.jpg)
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
![Page 6: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/6.jpg)
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
![Page 7: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/7.jpg)
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.
![Page 8: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/8.jpg)
Requirement Prioritization
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 8
Literature
Research
Tool Analysis
(9 editors)
Prioritized
Requirements
Expert
Interview
![Page 9: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/9.jpg)
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
![Page 10: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/10.jpg)
Implementation – Prototype
© Lucas Köhler170710 Köhler A Model-Driven JSON Editor 10
![Page 11: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/11.jpg)
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
![Page 12: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/12.jpg)
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.
![Page 13: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/13.jpg)
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
![Page 14: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/14.jpg)
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
![Page 15: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/15.jpg)
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
![Page 16: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/16.jpg)
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
![Page 17: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/17.jpg)
• 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
![Page 18: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/18.jpg)
• 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
![Page 19: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/19.jpg)
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
![Page 20: A Model-Driven JSON Editor · Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München A Model-Driven JSON Editor](https://reader036.vdocuments.us/reader036/viewer/2022070900/5f364feccd160a176d08a2bf/html5/thumbnails/20.jpg)
[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