1 Introduction

With the common goal of producing higher quality systems at lower costs, model-driven engineering (MDE) is becoming an integral part of all areas and disciplines related to Software Engineering. Far from the initial role of (UML) models as mere sketches of the structure of software systems, models have become primary artefacts in most software engineering activities, ranging from specification and design to analysis and synthesis of applications, including also deployment, testing, and maintenance of software systems. In addition to models, MDE elements such as domain-specific languages, model transformations, and metamodelling are now part of any MDE practitioner’s toolkit, indispensable for leveraging the potential advantages that MDE brings to the software industry.

Although significant advances have happened around MDE during the past 10 years, the ever-increasing complexity and cost of developing new kinds of applications, together with the stronger requirements on the systems being developed, impose new challenges on the discipline as well as open areas for dedicated research.

With the goal of advancing in the field of MDE, the “European Conference on Modelling: Foundations and Applications” (ECMFA) started in 2005, first as the “European Conference on Model Driven Architecture—Foundations and Applications” (EC-MDA) and since 2010 using its current name and acronym. ECMFA has become the premier European conference aiming at the advancement of techniques and further underlying knowledge related to model-driven engineering. ECMFA has a strong industrial bias, and since its inception, it has provided the ideal venue for the interaction among people interested in MDE, both from the academia and industry.

The 2012 European Conference on Modelling Foundations and Applications (ECMFA 2012) was held at the Technical University of Denmark (DTU), Kgs. Lyngby, Denmark, during July 2-5, 2012. The eighth edition of the conference covered major advances in foundational research and industrial applications of MDE. As part of the technical program, 31 papers (20 in the foundations track and 11 in applications track) were presented. A selection of the best ones, according to the feedback of the reviewers and to their impact in the audience during the presentations, was invited to submit extended versions of their conference papers for this special issue in the SoSyM journal.

The papers presented in this special issue are the result of this effort. The included papers not only indicate the current breadth, depth, and maturity of research and application of MDE, but also provide an overview of some of the current open issues and identify potential lines for further research.

2 Selected papers for this special issue

After the initial invitation, all selected papers underwent a thorough peer review process, with at least two rounds of reviews. Following the journal guidelines and requirements, all submitted papers were refereed by at least three well-known experts in the field, which in our case included Fabian Butner, Sebastian Mosser, Rolf-Helge Pfeiffer, Ivan Kurtev, Dimitris Kolovos, Gabor Karsai, Cristina Vicente-Chicote, Vasco Amaral, Roberto Lopez-Herrejón, Esther Guerra, Edward Willink, Duc-Hanh Dang, Benoit Combemale, Colin Atkinson, Zhen Ru Dai, Gehan M. Selim, Jorge Pinna, Tahir Quershi, Sara Tucci, and Javier Canovas.

At the end of the review process, six papers were selected for this special issue:

  • “Formal Verification and Validation of Embedded Systems: the UML-based MADES approach” by Luciano Baresi, Gundula Blohm, Dimitrios S. Kolovos, Nicholas Matragkas, Alfredo Motta, Richard F. Paige, Alek Radjenovic, and Matteo Rossi proposes a formal verification and validation approach that is designer friendly. With MADES, existing tools and notations can be applied, and actual verification and validation are performed when needed automatically and transparently. On modelling side, MADES looks to simplify the complexity of UML and MARTE with a dedicated profile. For verification, it applies a framework that enables closed-loop simulation of the design systems. The proposed approach, evaluated in collaboration with industrial and academic partners, is illustrated with two examples.

  • “Model Transformations for Migrating Legacy Deployment Models in the Automotive Industry” by Gehan M. K. Selim, Shige Wang, James R. Cordy and Jürgen Dingel reports a case study on applying model transformations. General Motors has been using a domain-specific modelling language for control software development and is looking to migrate the existing models to the new automotive software architecture (called AUTOSAR). Authors specify a transformation between the two metamodels using ATL and report their experiences, like modularizing transformations for easier debugging and maintenance, as well as the challenges like time-consuming effort to formalize the transformation rules with the domain experts. A particular challenge for testing the transformations built was that the modelling tool used was not able to ensure that the models already created follow the domain-specific language. In practice, this necessitated that the models were manually checked before applying the model transformations. Since whole AUTOSAR architecture is large, and not fully covered with the case models, the authors see that testing and verification of transformations is a target for future research.

  • “The Design Space of Multi-Language Development Environments” by Rolf-Helge Pfeiffer and Andrzej Wasowski argues that although nontrivial software systems integrate many artefacts expressed in multiple modelling and programming languages, existing development environments do not sufficiently support handling relations between them. They study the design space of textual-based multi-language development environments (MLDEs), i.e., tools that consider cross-language relations as first-class artefacts, and provide a feature model of the MLDE design space, a data set of harvested cross-language relations in a case study system (JTrac) and two MLDE prototypes, TexMo and Coral that implement two radically different choices in the design space.

  • “Lightweight String Reasoning in Model Finding” by Fabian Buttner and Jordi Cabot discusses the need for supporting OCL string operations on a scale which is sufficient for achieving practical model-based testing and validation. They present a lightweight solver that is specifically tailored to generate large solutions for tractable string constraints in model finding and that is suitable for directly expressing the main operations of the OCL datatype String. Their solution is fully integrated into the EMFtoCSP model finder, and the implementation is efficient enough to work on large sets of instances.

  • “Model-Driven Engineering with Domain-Specific Meta-Modelling Languages”, by de Juan de Lara, Esther Guerra, and Jesús Sánchez-Cuadrado highlights the need for domain-specific meta-modelling (DSMM) languages in many MDE applications, beyond general-purpose meta-modelling languages such as MOF. DSMM provides customized primitives for the definition of modelling languages in specific domains, as well as the construction of meta-model families. To simplify the definition and usage of DSMM languages, the authors apply multi-level meta-modelling for the systematic engineering of DSMM architectures. Their approach integrates techniques to control the meta-modelling primitives offered to the users of the DSMM languages, provides a flexible approach to define textual concrete syntaxes for DSMM languages, and extends existing model management languages (for model-to-model transformation, in-place transformation and code generation) to work in a multi-level setting, thus enabling the practical use of DSMM in model-driven engineering. As a proof of concept, authors report on a working implementation of the ideas in the MetaDepth tool.

  • “Resolving model inconsistencies using automated regression planning” by Jorge Pinna Puissant, Ragnhild Van Der Straeten, and Tom Mens discusses the resolution of design model inconsistencies, a critical issue in MDE. They propose to use artificial intelligence techniques of automated planning for the purpose of resolving such inconsistencies through the generation of resolution plans and introduce Badger, a regression planner in Prolog that generates such plans. The scalability, adaptability and metamodel-independence of their approach are illustrated by applying it to different cases, including, e.g., the resolution of code smells in a Java program.

These papers contribute in different aspects to the field of model-driven engineering, providing a deeper understanding of some of the issues that practitioners face when designing and developing nontrivial applications using models and model transformations, and present novel approaches, techniques, and tools for dealing with these issues.