a model-driven json editor · chair of software engineering for business information systems...

20
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 Editor Lucas Köhler – Master’s Thesis Kickoff, 10.07.2017, Munich Advisors: Adrian Hernandez-Mendez, Dr. Jonas Helming

Upload: others

Post on 10-Jul-2020

0 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

• 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

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

[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