Model-Driven Development (MDD) is a software development
life cycle [11] where models are the first-class
citizens. It addresses system complexity by the intense use of
models [12]. Under this paradigm, software development is
treated as a set of model transformations that are conducted
from the earliest steps of the software development process
to the latest stages.