University of Virginia Department of
    Computer Science

Monday, January 17, 2005
Hridesh Rajan
Department of Computer Science, University of Virginia
Chair: John Knight
Advisor: Kevin Sullivan
Olsson 236D, 1:00 PM

A Ph.D. Proposal

Improved Abstractions for Aspect-Oriented Software Development

ABSTRACT

Aspect-oriented software development promises to improve our ability to modularize complex software effectively. However, aspect-oriented programming languages and tools are still in their infancy, and many applications remain unexplored. The problem that I propose to address in my dissertation is that, notwithstanding the advances that have been made, the design models for even the most successful aspect-oriented languages today remain unnecessarily complex, significantly constrain the program designer, lead to unnecessarily complex programs, and exhibit unacceptable performance degradation as a function of the richness of advising structures. I have traced many of these problems to a key design decision at the heart of major existing language designs: they embrace a non- object-oriented, static module-based view of what an aspect is and how it interacts with the other components of a software system. My solution is based on the idea that aspects should be formulated as first-class constructs analogous to classes: e.g., subject to instantiation under program control. I show that, without loss of expressiveness, this change significantly improves the compositionality of aspect-oriented components; creates valuable new architectural possibilities; enables a unification of object- and aspect-oriented programming, simplifying the programming model; and mitigates the inherent performance problem in the current language model. I propose to develop my aspect language design ideas further with efforts to generalize both join point models and the concept of compile- time weaving at selected join points. In this proposal, I describe results to date, including published results in the three top conferences in my area, and the design of a language and a full working compiler; and I outline work that remains to be done.


Other Recent and Upcoming Colloquia