Measuring Incrementally Developed Model Transformations Using Change Metrics

Thumbnail Image
Paen, Eyrak
Model-Based Software Engineering , Incremental Development , Model-Driven Engineering , Model Transformation , Change Metrics
Transformations play a central role in Model Based Software Engineering. Similar to the development of other types of software, a transformation's specification and implementation does not necessarily remain static over the course of a project's lifetime; the transformation may develop incrementally and evolve. The goal of this thesis is to propose metrics that can be used to characterize the evolution of model transformations. To perform an initial demonstration of the metrics, this thesis considers an incrementally defined model transformation task. The transformation is implemented using two model transformation languages, a textual language and a graphical language, and metrics are extracted from the historical artifacts. The thesis defines a set of change metrics based on an abstract syntax difference model. Language feature metrics are also defined for both transformation languages. A process for extracting model-based change metrics and language metrics from the abstract syntax of the transformation languages is introduced. The applicability of the metrics in characterizing changes is demonstrated using exploratory clustering analysis on a transformation task. We show how, for this transformation task using both languages, metrics derived from the difference model result in clusters that reflect characteristics of individual changes, in contrast to clusters obtained with language metrics.
External DOI