All ETDs from UAB

Advisory Committee Chair

Jeff Gray

Advisory Committee Members

Purushotham Bangalore

Barrett Bryant

Marjan Mernik

Anthony Skjellum

Randy Smith

Document Type


Date of Award


Degree Name by School

Doctor of Philosophy (PhD) College of Arts and Sciences


Legacy software affects critical functions of our daily lives (e.g., general commercial transactions, scientific applications and military defense systems), and represents a significant investment by government, scientific and corporate institutions. As a consequence of the longevity of such systems, existing legacy software is subject to decay over a period of time, making it increasingly difficult to address changing stakeholder requirements. Modern research approaches for software engineering and programming language design, such as aspect-oriented software development (AOSD), have been investigated as effective techniques for improving modularization of software. However, a general trend in research for supporting aspects has focused primarily on Java as the target programming language, neglecting the multiple billions of lines of existing code written in other languages. Rather than bringing the legacy code to existing Javabased weavers, a viable alternative is to take Aspect-Oriented Programming (AOP) principles to the legacy languages and tool environments. Given the large number of programming languages currently in use, a solution that mitigates the effort needed to create each new aspect weaver is more desirable than an approach that manually recreates a weaver from scratch for each legacy language. The research presented in this dissertation utilizes Program Transformation Engines (PTEs) to construct aspect weavers for legacy languages. A core focus of the research is a generic platform that permits reusability of software artifacts among aspect weavers constructed iv for various General-Purpose Languages (GPLs). In addition, the research described in this dissertation aims to eliminate the accidental complexities that are typically associated with using PTEs. In order to fulfill these two objectives, the research utilizes a modeldriven front-end that is layered on top of the program transformation based back-end. Specifically, the research makes a contribution by combining Model-Driven Engineering (MDE) with PTE to construct aspect weavers for GPLs through models and program transformations. The approach described in the dissertation uses models to capture the essence of various AOP language constructs at a higher-level of abstraction. These models are then mapped to concrete weavers for GPLs through a combination of higherorder model transformation and program transformation rules. A generic extension to the framework further supports reusability of artifacts among weavers during the construction process. In addition, the framework allows experimentation with new AOP constructs (e.g., loops) and helps to evolve commercial and scientific software (e.g., Blitz++, HPL) maintained in legacy languages like Object Pascal, C and FORTRAN. The research presented in this dissertation outlines several challenges that were identified in providing a generic platform to create aspect weavers and demonstrates how each of those challenges was mitigated during the course of this research.



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.