Aspect Oriented Programming: A Critical Analysis of a New Programming Paradigm

Report
Authors:Highley, Timothy, Department of Computer ScienceUniversity of Virginia Lack, Michael, Department of Computer ScienceUniversity of Virginia Myers, Perry, Department of Computer ScienceUniversity of Virginia
Abstract:

Aspect-oriented programming is a paradigm which addresses crosscutting concerns in computer programs. A crosscutting concern is something that cannot be cleanly encapsulated in a generalized module. This paper serves several purposes. The first section will attempt to give some background for AOP and describe some of the motivation in more detail. It will also briefly describe the syntax and semantics of AspectJ, a Java based implementation of AOP. We will also present a design philosophy for using aspects on top of an object-oriented paradigm. The second section discusses some problems we have observed in the AspectJ implementation. The third section discusses alternative paradigms to which AOP might apply. While current research seems to favor OO languages as the basis for AOP, this does not necessarily need to be the case. Procedural languages will be considered to see if they also might benefit from AOP. An implementation for C will be briefly outlined here. Finally, we will give some concluding remarks about AOP and its usefulness.

Rights:
All rights reserved (no additional license for public reuse)
Language:
English
Source Citation:

Highley, Timothy, Michael Lack, and Perry Myers. "Aspect Oriented Programming: A Critical Analysis of a New Programming Paradigm." University of Virginia Dept. of Computer Science Tech Report (1999).

Publisher:
University of Virginia, Department of Computer Science
Published Date:
1999