I. Introduction
Model-driven engineering (MDE) is a software engineering paradigm based on the systematic use of models as primary artifacts throughout the software development cycle [1]. With the MDE paradigm, models are used to capture and design the characteristics of software systems: models can be run and interpreted at run-time, automatically transformed into code, or used to design and derive other software artifacts. Major players in the software engineering field and in the requirements engineering field foresee a broad adoption of MDE techniques [2], [3], since they improve the productivity, quality, and performance of software in industrial scenarios that require more abstract approaches than mere coding [1].