Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick - - PowerPoint PPT Presentation

comparing graphical dsl editors
SMART_READER_LITE
LIVE PREVIEW

Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick - - PowerPoint PPT Presentation

Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick Baetens Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison 2 Introduction Commercial Eclipse


slide-1
SLIDE 1

Comparing graphical DSL editors

AToM3 vs GMF & MetaEdit+ Nick Baetens

slide-2
SLIDE 2

2

Outline

  • Introduction
  • MetaEdit+
  • Specifications
  • Workflow
  • GMF
  • Specifications
  • Workflow
  • Comparison
slide-3
SLIDE 3

3

Introduction

  • Commercial
  • Written in Smalltalk
  • Standalone
  • Eclipse plug-in
  • Depends on &

combines other plug-ins

slide-4
SLIDE 4

4

Outline

  • Introduction
  • MetaEdit+
  • Specifications <=
  • Workflow
  • GMF
  • Specifications
  • Workflow
  • Comparison
slide-5
SLIDE 5

5

MetaEdit+

  • Graph, Object, Port, Property, Relationship

and Role

  • Graph: Top-level structure of meta-model
  • Binding of objects, relationships, roles and

ports within graph = actual semantics

  • Tools for each base type
slide-6
SLIDE 6

6

MetaEdit+

slide-7
SLIDE 7

7

MetaEdit+

  • Information in instance models created with

the older version of the meta-model is not lost when the new version is deployed

  • Conservative approach
  • If concept is removed
  • Creation of new instances impossible
  • Existing instances are not removed from models
  • Generators will still produce working code from
  • ld instances.
slide-8
SLIDE 8

8

Outline

  • Introduction
  • MetaEdit+
  • Specifications
  • Workflow <=
  • GMF
  • Specifications
  • Workflow
  • Comparison
slide-9
SLIDE 9

9

MetaEdit+ Workbench

slide-10
SLIDE 10

10

MetaEdit+ Workbench

slide-11
SLIDE 11

11

MetaEdit+ Workbench

slide-12
SLIDE 12

12

MetaEdit+ Workbench

slide-13
SLIDE 13

13

MetaEdit+ Workbench

slide-14
SLIDE 14

14

MetaEdit+ Workbench

slide-15
SLIDE 15

15

MetaEdit+ Modeler

slide-16
SLIDE 16

16

MetaEdit+ Modeler

slide-17
SLIDE 17

17

MetaEdit+ Workbench

slide-18
SLIDE 18

18

Outline

  • Introduction
  • MetaEdit+
  • Specifications
  • Workflow
  • GMF
  • Specifications <=
  • Workflow
  • Comparison
slide-19
SLIDE 19

19

GMF Specifications

  • Based on Eclipse Modeling Framework (EMF) &

Graphical Editing Framework (GEF)

  • EMF
  • Core: Ecore => XML Metadata Interchange
  • Edit: Adapter classes to view in JFace viewers
  • Codegen: Ecore to Java
  • GEF
  • Rich graphical editors out of domain models
  • No restrictions on underlying model
slide-20
SLIDE 20

20

GMF Specifications

  • GMF = bridge between EMF & GEF
  • No more model independency of GEF:
  • GMF only accepts EMF models
  • 2 parts: extensions of EMF & GEF
  • Runtime environment
  • Generation framework
slide-21
SLIDE 21

21

GMF Specifications

slide-22
SLIDE 22

22

Outline

  • Introduction
  • MetaEdit+
  • Specifications
  • Workflow
  • GMF
  • Specifications
  • Workflow <=
  • Comparison
slide-23
SLIDE 23

23

GMF Workflow

slide-24
SLIDE 24

24

GMF Workflow

slide-25
SLIDE 25

25

GMF Workflow

slide-26
SLIDE 26

26

GMF Workflow

slide-27
SLIDE 27

27

GMF Workflow

  • Constraints:
  • Object Constraint Language
  • Language to define constraints on meta-models
  • Use in mapping
slide-28
SLIDE 28

28

Outline

  • Introduction
  • MetaEdit+
  • Specifications
  • Workflow
  • GMF
  • Specifications
  • Workflow
  • Comparison <=
slide-29
SLIDE 29

29

Comparison

Feature Atom3 MetaEdit+ GMF Multi-user Multi-view Update Cycle Live Updating GraphGrammar Build Models Rules Simulation Code gen Symbol Editor User-friendly

slide-30
SLIDE 30

30

Multi-View

  • Different way’s to look at the same (meta-)

model

  • MetaEdit+
  • Yes: diagram, matrix and text
  • GMF
  • No: only tree representation
  • Atom3
  • Possible
slide-31
SLIDE 31

31

UpdateCycle

  • Time to update the model when meta-model is

changed

  • Consistency Model
  • MetaEdit+ < Atom3 < GMF
slide-32
SLIDE 32

32

LiveUpdating

  • Meta-model changes are propagated to model

without restarting the tool / reopening the model

  • Atom3
  • Need to reopen the model
  • MetaEdit+
  • Yes
  • GMF
  • Regenerate entire plug-in
  • Sometimes model is corrupted
slide-33
SLIDE 33

33

GraphGrammar

  • Is it possible to define a graph grammar?
  • Atom3
  • Yes
  • MetaEdit+
  • ??
  • GMF
  • Yes, but some development should be done.
  • Associate a builder with the project
slide-34
SLIDE 34

34

GMF

slide-35
SLIDE 35

35

GMF

  • You will need:
  • Create new kind of projects: ProjectNature
  • Create a new builder to build the diagram
  • Like in Java, the diagram will be updated

everytime you save.

slide-36
SLIDE 36

36

Build models

  • Can we use the same tool to build models and

meta-models?

  • Atom3 / MetaEdit+
  • Yes
  • GMF
  • Build meta-models in Eclipse + GMF
  • Generate new plug-in
  • Build models in Eclipse + Plug-in
slide-37
SLIDE 37

37

Simulation

  • MetaEdit+ and Atom3
  • Yes, program through API
  • Changes are reflected live in the model
  • Atom3
  • Offers debug window
  • GMF
  • Possible, needs some coding
  • Models can not be accessed directly
slide-38
SLIDE 38

38

Transformation Rules

  • Atom3
  • Yes, even visual
  • MetaEdit+ & GMF
  • Possible, but needs coding
  • Through API, develop class for each rule
  • Not visual
slide-39
SLIDE 39

39

User Friendly

  • Subjective
  • MetaEdit+
  • Different tools are sometimes confusing
  • Information is spread
  • GMF
  • Many wizards are provided
  • Not well documented
  • Atom3
  • Many control combinations
slide-40
SLIDE 40

40

Comparison

Feature Atom3 MetaEdit+ GMF Multi-user Multi-view Update Cycle 2 1 3 Live Updating GraphGrammar Build Models Rules Simulation Code gen Symbol Editor User-friendly 6,5/11 4/11 8,5/11

slide-41
SLIDE 41

41

Conclusion

  • Industrial Environments:
  • Stability
  • Features need to work out of the box
  • MetaEdit+
  • Research Environments:
  • Preferably no licenses
  • Make choice based on goals and habits