Model-Driven Engineering (MDE) is a paradigm that uses models todevelop software. These models conform to metamodels, and aretransformed to other models or to code, building an ecosystem of relatedartifacts. In this context, maintainability becomes crucial to keep thedifferent artifacts in sync. Evolution of an artifact should ripple along thedependent artifacts who are said to ¿co-evolve¿.Within the MDE ecosystems, transformations play a preponderant role.This pivotal place makes them also specially prone to evolution. Modelto-model transformations are coupled to metamodels, and model-to-texttransformations, to platform. This implies that upgrades in either ofthese two dependencies can make the transformation break apart. Thisis exacerbated by two main considerations. First, transformations tend tobe complex programming artifacts. Unlike metamodels, transformationlanguages are far from being fully declarative, and still exhibit analgorithmic flavor. This makes transformation not only difficult to writebut also to debug and maintain. Second, transformations tend to exhibitexternal dependencies, i.e. dependencies with artifacts which are outsidethe realm of the transformation programmer himself. In the case of modelto-model transformations, it is not odd for the metamodel team not tooverlap with the transformation team. Skills are different, and this maylead to teams being split based on their familiarization with the domain(meta-modelers) versus the competence with transformation languages.Similarly for model-to-text transformations, platforms are often managedby third parties.This Thesis addresses techniques and tools that help in maintainingtransformations, specially focusing on keeping them in sync with therest of the MDE ecosystem. Specifically, this Thesis¿ main contributionsinclude:1. a semi-automatic process to co-evolve model-to-modeltransformations upon metamodel evolution,2. an adapter approach to make model-to-text transformations resilientupon platform evolution,3. assisting in the testing of model-to-text transformations, measuringthe completeness of the input model test suite, and debugging thedetected errors.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados