An example is worth a thousand words: Creating graphical modelling environments by example

Domain-specific languages (DSLs) are heavily used in model-driven and end-user development approaches. Compared to general-purpose languages, DSLs present numerous benefits like powerful domain-specific primitives, an intuitive syntax for domain experts, and the possibility of advanced code generation for narrow domains. While a graphical syntax is sometimes desired for a DSL, constructing graphical modelling environments is a costly and highly technical task. This relegates domain experts to a rather passive role in their development and hinders a wider adoption of graphical DSLs. Our aim is achieving a simpler DSL construction process where domain experts can contribute actively. For this purpose, we propose an example-based technique for the automatic generation of modelling environments for graphical DSLs. This way, starting from examples of the DSL likely provided by domain experts using drawing tools like yED, our system synthesizes a graphical modelling environment that mimics the syntax of the provided examples. This includes a meta-model for the abstract syntax of the DSL and a graphical concrete syntax supporting spatial relationships like containment and adjacency. Our system, called metaBUP, is implemented as an Eclipse plug-in. In this paper, we demonstrate its usage on a running example in the home networking domain and evaluate its suitability for the construction of graphical modelling environments by means of a user study.

[1]  Mark Rouncefield,et al.  Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure , 2014, Sci. Comput. Program..

[2]  Pau Arumí,et al.  Frameworks Generate Domain-Specific Languages: A Case Study in the Multimedia Domain , 2011, IEEE Transactions on Software Engineering.

[3]  Nicolas Biri,et al.  JSMF: a Javascript Flexible Modelling Framework , 2016, FlexMDE@MoDELS.

[4]  Á. Horváth,et al.  Formal validation of domain-specific languages with derived features and well-formedness constraints , 2017, Software & Systems Modeling.

[5]  Houari A. Sahraoui,et al.  Multi-Step Learning and Adaptive Search for Learning Complex Model Transformations from Examples , 2016, ACM Trans. Softw. Eng. Methodol..

[6]  Norbert Seyff,et al.  FLEXISKETCH TEAM: Collaborative Sketching and Notation Creation on the Fly , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[7]  Paolo Bottoni,et al.  A Suite of Metamodels as a Basis for a Classification of Visual Languages , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[8]  Juan de Lara,et al.  Example-based validation of domain-specific visual languages , 2015, SLE.

[9]  Jeffrey G. Gray,et al.  A demonstration-based model transformation approach to automate model scalability , 2013, Software & Systems Modeling.

[10]  Gem Stapleton,et al.  A New Language for the Visualization of Logic and Reasoning , 2005, DMS.

[11]  Juan de Lara,et al.  Example-driven meta-model development , 2015, Software & Systems Modeling.

[12]  Lars Grunske,et al.  Specifying model transformations by direct manipulation using concrete visual notations and interactive recommendations , 2015, J. Vis. Lang. Comput..

[13]  Semih Bilgen,et al.  A framework for qualitative assessment of domain-specific languages , 2015, Software & Systems Modeling.

[14]  Bernhard Hoisl,et al.  Extracting reusable design decisions for UML-based domain-specific languages: A multi-method study , 2016, J. Syst. Softw..

[15]  Fahad Rafique Golra,et al.  Using free modeling as an agile method for developing domain specific modeling languages , 2016, MoDELS.

[16]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[17]  Gem Stapleton,et al.  The Expressiveness of Spider Diagrams , 2004, J. Log. Comput..

[18]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[19]  Gerti Kappel,et al.  Model Transformation By-Example: A Survey of the First Wave , 2012, Conceptual Modelling and Its Theoretical Foundations.

[20]  Marouane Kessentini,et al.  Model refactoring using examples: a search‐based approach , 2014, J. Softw. Evol. Process..

[21]  Juan de Lara,et al.  DSL-maps: From requirements to design of domain-specific languages , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[22]  André van der Hoek,et al.  Software design sketching with calico , 2010, ASE.

[23]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit , 2009 .

[24]  Juan de Lara,et al.  Ludo: A Case Study for Graph Transformation Tools , 2007, AGTIVE.

[25]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[26]  Andrew Fish,et al.  A toolkit for knot diagram sketching, encoding and re-generation , 2016, DMS.

[27]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[28]  Cornelia M. Yoder,et al.  Nassi-Shneiderman charts an alternative to flowcharts for design , 1978 .

[29]  Richard F. Paige,et al.  Programmatic Muddle Management , 2013, XM@MoDELS.

[30]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[31]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[32]  Gem Stapleton,et al.  What Makes an Effective Representation of Information: A Formal Account of Observational Advantages , 2017, J. Log. Lang. Inf..

[33]  Marjan Mernik,et al.  Domain-Specific Languages: A Systematic Mapping Study , 2017, SOFSEM.

[34]  Michal Antkiewicz,et al.  Example-Driven Modeling: Model = Abstractions + Examples , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[35]  Jerome Feder,et al.  Plex languages , 1971, Inf. Sci..

[36]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[37]  Andrew Fish,et al.  Coloured Euler Diagrams: A Tool for Visualizing Dynamic Systems and Structured Information , 2010, Diagrams.

[38]  Nicholas Matragkas,et al.  Constraint programming for type inference in flexible model-driven engineering , 2017, Comput. Lang. Syst. Struct..

[39]  Jeffrey G. Gray,et al.  Creating visual Domain-Specific Modeling Languages from end-user demonstration , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[40]  Richard F. Paige,et al.  Eugenia: towards disciplined and automated development of GMF-based graphical model editors , 2017, Software & Systems Modeling.

[41]  Richard F. Paige,et al.  Taming EMF and GMF using model transformation , 2010, MODELS'10.

[42]  Marjan Mernik,et al.  Domain-Specific Languages: A Systematic Mapping Study , 2016, Inf. Softw. Technol..

[43]  Steven Kelly,et al.  Worst Practices for Domain-Specific Modeling , 2009, IEEE Software.

[44]  Juan de Lara,et al.  Towards the Generation of Graphical Modelling Environments Aided by Patterns , 2015, SLATE.

[45]  Houari A. Sahraoui,et al.  Search-based model transformation by example , 2010, Software & Systems Modeling.

[46]  Juan de Lara,et al.  Example-Based Generation of Graphical Modelling Environments , 2016, ECMFA.

[47]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[48]  John C. Grundy,et al.  Generating Domain-Specific Visual Language Tools from Abstract Visual Specifications , 2013, IEEE Transactions on Software Engineering.

[49]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[50]  Juan de Lara,et al.  Scalable model exploration for model-driven engineering , 2017, J. Syst. Softw..

[51]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[52]  Dániel Varró,et al.  Model transformation by example using inductive logic programming , 2008, Software & Systems Modeling.

[53]  Nicolas Hili A Metamodeling Framework for Promoting Flexibility and Creativity Over Strict Model Conformance , 2016, FlexMDE@MoDELS.

[54]  Margaret M. Burnett,et al.  A practical guide to controlled experiments of software engineering tools with human participants , 2013, Empirical Software Engineering.

[55]  Juan de Lara,et al.  Combining unit and specification-based testing for meta-model validation and verification , 2016, Inf. Syst..

[56]  Richard F. Paige,et al.  Assigning Semantics to Graphical Concrete Syntaxes , 2014, XM@MoDELS.

[57]  Richard F. Paige,et al.  EuGENia live: a flexible graphical modelling tool , 2012, XM '12.