Model-Driven Engineering (MDE) is an established engineering paradigm that promotes a way to develop and maintain software systems using models as primary artifacts of the software life cycle. The relevance of this discipline lies in the tools, resources, and methods which help to tackle the inherent complexities of systems and the software development processes in general, by raising the level of abstraction in which they are addressed.
Historically, model transformations and code generation from abstract models have been among the main MDE applications. Nevertheless, the range of systems and domains in which MDE tools and techniques are applied is considerably expanding. Models are now also used to analyze information systems, guide their evolution, or to address some of their critical security or interoperability issues. The emergence of new technologies and paradigms, such as the growth of artificial intelligence, the proliferation of IoT devices and applications, the adoption of DevOps practices and processes, or the increasing use of cyber-physical systems and digital twins in industry, are opening new opportunities for MDE. Under the low-code brand, some of the MDE techniques have also shown their outstanding capability to provide practical solutions in many business domains.
Despite its growing adoption, success stories about MDE applications are not often found in the literature. Researchers tend to focus on investigating more conceptual or theoretical aspects of modeling, disregarding the relevance of assessing the overall discipline in terms of its application to real-scale and complex scenarios. While these solid theoretical contributions are of paramount importance, showcasing the success (and inherent challenges) of applying MDE in widely varied domains is essential to increase adoption of MDE ideas and tools across industry and practice. Applications of more disparate domains using real scenarios can also reveal new directions for theory development, as well as lessons of transferable value for future MDE practice, thus helping to advance MDE research.
Addressing these problems, a Special Issue on Success Stories in MDE was published in 2014. However, MDE technology and research have advanced significantly over the past decade, and it is, therefore, time to reflect, as a community, on how this has improved the cost-benefit ratio of what MDE can contribute to real-world case studies.
For this special issue, we invite contributions that show how MDE techniques can be successfully applied in practice, showing experiences, and providing insights on issues encountered when applying these approaches in real case studies. Thus, we call for high-quality experience reports focused either on industrial practice and applications of MDE techniques and tools or in interdisciplinary or novel applications (not necessarily contextualized in the industry). Papers representing the results of MDE projects based on a partnership between industry and academia are considered highly relevant.
This Special Issue is sponsored by MDENet, the expert network on model-driven engineering and it will be published in the Journal of Science of Computer Programming