All ETDs from UAB

Advisory Committee Chair

Jeff Gray

Advisory Committee Members

Barrett Bryant

Marjan Mernik

Jules White

Chengcui Zhang

Document Type

Dissertation

Date of Award

2011

Degree Name by School

Doctor of Philosophy (PhD) College of Arts and Sciences

Abstract

Domain-Specific Modeling (DSM) is an innovative software development methodology that raises the specification of software to graphical models at a high-level of abstraction using domain concepts available in a language that is defined by a metamodel. Using DSM, models become first-class entities in the construction of software systems, and therefore model evolution becomes as important as code evolution in traditional software development. Model transformation is a core technology of DSM that converts a source model to a target model, which plays a significant role in supporting model evolution activities. A common approach toward model transformation is to write transformation rules in a specialized model transformation language. Although such languages provide powerful capabilities to automate model transformations, their usage may present challenges to those who are unfamiliar with a specific model transformation language or a particular metamodel definition. In addition, in the collaborative modeling situations when model evolution knowledge needs to be exchanged and reused, most model transformation languages do not support sharing of existing model transformation rules across different editors among different users, so reusing the existing rules to support model evolution activities becomes difficult. Finally, most transformation languages do not have an associated debugger for users to track errors, or the debugger is not at the appropriate level of abstraction for end-users. This dissertation focuses on three aspects related to supporting model evolution activities: 1) simplify the creation of model transformations in a demonstration-based approach by recording and analyzing the operational behavior exhibited by an end-user as they perform a transformation task manually; 2) improve model evolution knowledge sharing, exchange and reuse through tool support; and 3) enable an end-user centric approach to debug the execution of a model transformation. The overall goal of the research in this dissertation is to enable end-users to create their desired model evolution tasks without any knowledge of model transformation languages or metamodel definitions, share and reuse existing model evolution tasks, and check and trace errors in a user-friendly manner when performing model evolution tasks. Each of these objectives will be explained in detail in this dissertation, combined with case studies from different domains to illustrate how a user-centric approach can support common model evolution activities in practice.

Share

COinS