Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EuGENia Live: A Flexible Graphical Modelling Tool

Louis Rose
October 01, 2012

EuGENia Live: A Flexible Graphical Modelling Tool

Today, we have powerful tools for implementing DSLs. But, what about tools for designing DSLs? We present EuGENia Live, which is our first attempt at providing a flexible and web-based tool for designing DSLs.

This talk was presented at the 2012 eXtreme Modelling (XM) workshop co-located with MoDELS in Innsbruck, Austria.

Louis Rose

October 01, 2012
Tweet

Other Decks in Technology

Transcript

  1. DOMAIN-SPECIFIC LANGUAGES The good news: powerful tools for implementing DSLs

    2 Language definition (e.g. metamodel) Programs (e.g. models) Execution / Processing (e.g. model transformations) Tools (e.g. model editors)
  2. OVERVIEW • What can we learn from flexible modelling tools?

    • Demonstration of a flexible modelling tool for creating DSLs • What next? 9
  3. FLEXIBLE & RIGID MODELLING Rigid Flexible Such as... GMF (EuGENia)

    MetaCase+ Xtext Smart office Demonstration / by-example Technical expertise Metamodelling / BNF Drawing / data entry Change management Hard! (Retroactive?) Easier (Reactive?) Model representation Explicit structure Implicit / inferred structure 12
  4. FLEXIBLE & RIGID MODELLING Rigid Flexible Such as... GMF (EuGENia)

    MetaCase+ Xtext Smart office tools By-example (Cho, Desmond) Technical expertise Metamodelling / BNF Drawing / data entry Change management Hard! (Retroactive?) Easier (Reactive?) Model representation Explicit structure Implicit / inferred structure 13
  5. EUGENIA LIVE Rigid Flexible Such as... GMF (EuGENia) MetaCase+ Xtext

    Smart office tools By-example (Cho, Desmond) Technical expertise Metamodelling / BNF Drawing / data entry Change management Hard! (Retroactive?) Easier (Reactive?) Model representation Explicit structure Implicit / inferred structure 14
  6. EUGENIA LIVE • Technical expertise: Focus on concrete syntax Bootstrap

    a new DSL with a built-in DSL Runs in a browser (no installation) 15
  7. EUGENIA LIVE • Technical expertise: Focus on concrete syntax Bootstrap

    a new DSL with a built-in DSL Runs in a browser (no installation) • Change management: Metamodel defined on-the-fly at same time as a model 16
  8. EUGENIA LIVE • Technical expertise: Focus on concrete syntax Bootstrap

    a new DSL with a built-in DSL Runs in a browser (no installation) • Change management: Metamodel defined on-the-fly at same time as a model • Model representation: Exports to Ecore & a GMF editor 17
  9. { "name": "Guest", "elements": [ { "figure": "circle", "size": {

    "width": 10, "height": 10 }, "fillColor": "white", "borderColor": "black", } ] } Changing the “guest” concept 35
  10. { "name": "Male Guest", "elements": [ { "figure": "circle", "size":

    { "width": 10, "height": 10 }, "fillColor": "white", "borderColor": "black", }, { "figure": "circle", "size": { "width": 6, "height": 6 }, "fillColor": "blue", "borderColor": "blue", } ] } Changing the “guest” concept 36
  11. OPPORTUNITIES & CHALLENGES • Incremental model migration Immediately propagate changes?

    • Switching syntaxes • Language quality How to reduce duplication? • Closer collaboration How to reduce duplication? • Choosing level of flexibility 43
  12. FUTURE WORK • Graphical notation for the palette editor •

    Comparison to demonstration & by-example approaches • Contribute flexible modelling tools to Eclipse Modeling Project 44
  13. DOMAIN-SPECIFIC LANGUAGES DSLs are key for model-driven engineering UML DSL

    (own) BPMN DSL (tool provider) SysML Matlab / Simulink Other 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Percentage of respondents using each modelling language [Hutchinson 2011]. 48