All ETDs from UAB

Advisory Committee Chair

Alan P Sprague

Advisory Committee Members

Barrett R Bryant

Marjan Mernik

Jeff Gray

Chengcui Zhang

Document Type


Date of Award


Degree Name by School

Doctor of Philosophy (PhD) College of Arts and Sciences


In software engineering, new technologies and methodologies have been developed with the aim of simplifying the software development process and improving software productivity. Model-driven engineering (MDE) is considered as one potential alternative to the classical code-based software development and domain-specific modeling (DSM) is a MDE methodology that declaratively defines a software system using a Domain-Specific Modeling Language (DSML). In MDE, metamodels and models are created as the main software artifacts instead of code. Metamodels often evolve to address new concerns of customers resulting in the inapplicability of existing model instances, a condition known as the model evolution problem. Therefore, maintaining the fidelity between metamodels and their conforming instances becomes a challenging issue. A variety of model-driven technologies have been widely researched and applied both in academia and industry to address the model evolution problem. Most research applies model transformation to update models with different techniques and tools to co-evolve models with the evolved metamodel. However, there are remaining problems impeding the application of model transformation effectively and the proposed research aims at removing those problems. Reverse engineering technologies have proved to be applicable and useful in addressing the software evolution problem. This dissertation investigates a reverse engineering approach towards solving the model evolution problem; specifically, a three-step approach applying the inference technology is presented. As an extension to MARS (MetAmodel Recovery from models System), Metamodel Inference from Models (MIM) addresses the problem of a lost metamodel; in order to evaluate the inference result of MIM, a metamodel differentiation tool called MMDiff is presented to compute the differences between two metamodels; towards increasing the model transformation automation degree, a model transformation inference tool named AutoMT is presented to infer the model transformation definition given differences detected by MMDiff serving as the model transformation intension. This dissertation describes the design and implementation details of each step and it also provides the experimental results of applying the approach on diverse domains Finally, there is a discussion of the evaluation of the presented research in terms of its accuracy, generality, and practicality compared with related techniques.