All ETDs from UAB

Advisory Committee Chair

Jeff Gray

Advisory Committee Members

Barrett Bryant

Aniruddha Gokhale

Marjan Mernik

Chengcui Zhang

Document Type

Dissertation

Date of Award

2009

Degree Name by School

Doctor of Philosophy (PhD) College of Arts and Sciences

Abstract

One of the biggest challenges of software evolution is to adapt a software system to the ever-changing requirements from users or operating environments. An ideal goal is to encapsulate these requirements into a high-level abstraction, which can drive large-scale adaptation of the underlying software implementation. Model-Driven Engineering (MDE) is one of the enabling techniques that support this objective, in that it allows the application designers to synthesize various software artifacts from high-level models. The state-of-the-art MDE techniques, however, lack support for advanced processes and constructive methods for software evolution. With respect to large legacy systems written in disparate programming languages, the primary problems of evolution are the difficulty of adapting the legacy source to match the evolving requirements specified in the models and the incapability of developing evolutionary tasks in a modular way. In order to overcome such difficulties, this dissertation introduces a Model-Driven Aspect Adaptation (MDAA) framework that unites the MDE and Aspect-Oriented Software Development (AOSD) approaches to support modular software evolution. AOSD offers an advanced technique that supports invasive adaptation by weaving aspect modules that encapsulate the evolutionary crosscutting changes into the software system. By combining MDE and AOSD, the evolutionary change requirements are specified in the high-level aspect models, which drive the generation of the low-level aspect code used to perform legacy system evolution. This way, the whole software evolution process is performed in a modular manner, which enables the changeability, comprehensibility and independent development of the evolved implementation. Two case studies are provided to demonstrate the applicability and benefit of the approach. One is based on the paradigm of Domain-Specific Modeling (DSM), which leverages a DSM modeling environment, a model transformation engine and a program transformation system to provide evolution support for legacy systems from domain models. Another case study is based on UML activity modeling. An Aspect-Oriented Activity Modeling (AOAM) approach is implemented to facilitate modular evolution for activity models. In addition, the corresponding AspectJ code is generated from the aspect-activity models to enable evolutionary adaptation of the underlying legacy source.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.