Model-driven engineering: A survey supported by the unified conceptual model

During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems starting from those models. These proposals have been classified generically as Model-Driven Engineering (MDE) and share common concepts and terms that need to be abstracted, discussed and understood. This paper presents a survey on MDE based on a unified conceptual model that clearly identifies and relates these essential concepts, namely the concepts of system, model, metamodel, modeling language, transformations, software platform, and software product. In addition, this paper discusses the terminologies relating MDE, MDD, MDA and others. This survey is based on earlier work, however, contrary to those, it intends to give a simple, broader and integrated view of the essential concepts and respective terminology commonly involved in the MDE, answering to key questions such as: What is a model? What is the relation between a model and a metamodel? What are the key facets of a modeling language? How can I use models in the context of a software development process? What are the relations between models and source code artefacts and software platforms? and What are the relations between MDE, MDD, MDA and other MD approaches?

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

[2]  Benoît Combemale,et al.  The Relevance of Model-Driven Engineering Thirty Years from Now , 2014, MoDELS.

[3]  Philip Weaver,et al.  Practical SSADM version 4+: a complete tutorial guide. 2nd edition , 1998 .

[4]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[5]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[6]  Miguel Goulão,et al.  Usability Evaluation of Domain-Specific Languages , 2012, 2012 Eighth International Conference on the Quality of Information and Communications Technology.

[7]  Jochen Ludewig,et al.  Models in software engineering - an introduction , 2004, Informatik Forschung und Entwicklung.

[8]  Jean-Marie Favre,et al.  Towards a Megamodel to Model Software Evolution Through Transformations , 2005, SETra@ICGT.

[9]  Bran Selic Personal reflections on automation, programming culture, and model-based software engineering , 2008, Automated Software Engineering.

[10]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[11]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

[12]  Eelco Visser,et al.  The spoofax language workbench: rules for declarative specification of languages and IDEs , 2010, OOPSLA.

[13]  Branko Perisic,et al.  Sirius: A rapid development of DSM graphical editor , 2014, IEEE 18th International Conference on Intelligent Engineering Systems INES 2014.

[14]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[15]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[16]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[17]  Alberto Rodrigues da Silva,et al.  A domain specific language for spatial simulation scenarios , 2015, GeoInformatica.

[18]  João Saraiva,et al.  Integration of RE and MDE paradigms: the ProjectIT approach and tools , 2007, IET Softw..

[19]  Dragan Gasevic,et al.  Model Driven Engineering and Ontology Development , 2009 .

[20]  Michelle L. Crane,et al.  Towards a UML virtual machine: implementing an interpreter for UML 2 actions and activities , 2008, CASCON '08.

[21]  Kenneth Slonneger,et al.  Formal syntax and semantics of programming languages , 1994 .

[22]  Alberto Rodrigues da Silva,et al.  Preliminary Experience Using JetBrains MPS to Implement a Requirements Specification Language , 2014, 2014 9th International Conference on the Quality of Information and Communications Technology.

[23]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[24]  Ana C. R. Paiva,et al.  PBGT tool: an integrated modeling and testing environment for pattern-based GUI testing , 2014, ASE.

[25]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[26]  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..

[27]  Hassan Charaf,et al.  A Systematic Approach to Metamodeling Environments and Model Transformation Systems in VMTS , 2005, GraBaTs.

[28]  C. Martin 2015 , 2015, Les 25 ans de l’OMC: Une rétrospective en photos.

[29]  Alberto Rodrigues da Silva,et al.  Assessing the Quality of User-interface Modeling Languages , 2015, ICEIS.

[30]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[31]  Richard F. Paige,et al.  A tutorial on metamodelling for grammar researchers , 2014, Sci. Comput. Program..

[32]  Hans Vangheluwe,et al.  AToMPM: A Web-based Modeling Environment , 2013, MoDELS.

[33]  Jean-Marie Favre Megamodelling and Etymology , 2005, Transformation Techniques in Software Engineering.

[34]  Steven Kelly,et al.  Defining Domain-Specific Modeling Languages: Collected Experiences , 2004 .

[35]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[36]  Vasco Amaral,et al.  Classification of Model Transformation Tools: Pattern Matching Techniques , 2014, MoDELS.

[37]  Bernhard Rumpe,et al.  Modeling Languages: Syntax, Semantics and All That Stuff, Part I: The Basic Stuff , 2000 .

[38]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[39]  Gabor Karsai,et al.  Metamodelling - State of the Art and Research Challenges , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[40]  John Krogstie Model-Based Development and Evolution of Information Systems: A Quality Approach , 2012 .

[41]  Nuno Jardim Nunes,et al.  The Meta Sketch Editor , 2006, CADUI.

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

[43]  Kenneth Slonneger,et al.  Formal syntax and semantics of programming languages - a laboratory based approach , 1995 .

[44]  James Martin,et al.  Object-oriented methods , 1994 .

[45]  Alberto Rodrigues da Silva,et al.  XIS-mobile: a DSL for mobile applications , 2014, SAC.

[46]  Hans Vangheluwe,et al.  Explicit transformation modeling , 2009, MODELS'09.

[47]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[48]  Silvia Mara Abrahão,et al.  A systematic review of the use of requirements engineering techniques in model-driven development , 2010, MODELS'10.

[49]  Eelco Visser,et al.  The State of the Art in Language Workbenches - Conclusions from the Language Workbench Challenge , 2013, SLE.

[50]  Bran Selic,et al.  A Systematic Approach to Domain-Specific Language Design Using UML , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[51]  Jochen Göpfert,et al.  Geschäftsprozessmodellierung mit BPMN 2.0: Business Process Model and Notation , 2013 .

[52]  Juha-Pekka Tolvanen,et al.  MetaEdit+: defining and using domain-specific modeling languages and code generators , 2003, OOPSLA '03.

[53]  Alberto Rodrigues da Silva,et al.  A Reference Model for the Analysis and Comparison of MDE Approaches for Web-Application Development , 2010, J. Softw. Eng. Appl..

[54]  Jeffrey G. Gray,et al.  Modeling a Model Transformation Language , 2013, Domain Engineering, Product Lines, Languages, and Conceptual Models.

[55]  Gabor Karsai,et al.  An end-to-end domain-driven software development framework , 2003, OOPSLA '03.

[56]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[57]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[58]  Jean Bézivin,et al.  Towards a precise definition of the OMG/MDA framework , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[59]  Alberto Rodrigues da Silva,et al.  Evaluation of XIS-Mobile, a Domain Specific Language for Mobile Application Development , 2014 .

[60]  Rui Silva,et al.  XIS-UML Profile for eXtreme Modeling Interactive Systems , 2007, Fourth International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES'07).

[61]  Ed Seidewitz,et al.  What Models Mean , 2003, IEEE Softw..

[62]  James Martin,et al.  Object-Oriented Methods: Pragmatic Considerations , 1996 .

[63]  Marjan Mernik,et al.  Domain-specific languages in perspective , 2007 .

[64]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[65]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[66]  Chen C. Chang,et al.  Model Theory: Third Edition (Dover Books On Mathematics) By C.C. Chang;H. Jerome Keisler;Mathematics , 1966 .

[67]  H. Vangheluwe,et al.  An introduction to multi-paradigm modelling and simulation. , 2002 .

[68]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[69]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[70]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[71]  Arie van Deursen,et al.  Domain-Specific Languages in Practice: A User Study on the Success Factors , 2009, MoDELS.

[72]  Mark von Rosing,et al.  Business Process Model and Notation - BPMN , 2015, The Complete Business Process Handbook, Vol. I.

[73]  Alberto Rodrigues da Silva,et al.  Evaluation of MDE Tools from a Metamodeling Perspective , 2008, J. Database Manag..

[74]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[75]  Miguel Goulão,et al.  Do Software Languages Engineers Evaluate their Languages? , 2011, CIbSE.

[76]  Jafar Habibi,et al.  A Survey of Syntax and Semantics Frameworks of Modeling Languages , 2009, 2009 2nd International Conference on Computer Science and its Applications.

[77]  Gabor Karsai,et al.  Challenges and directions in formalizing the semantics of modeling languages , 2011, Comput. Sci. Inf. Syst..

[78]  John McCarthy,et al.  History of LISP , 1978, SIGP.

[79]  Nuno Oliveira,et al.  Comparing general-purpose and domain-specific languages: An empirical study , 2010, Comput. Sci. Inf. Syst..