The appropriate separation of concerns is a fundamental engineering principle. A
concern, for software developers, is that which must be represented by code in a
program; by extension, separation of concerns is the ability to represent a single
concern in a single appropriate programming language construct. Advanced
separation of concerns is a relatively recent technique in software development for
dealing with the complexity of systems that contain crosscutting concerns, namely
those individual concerns that cut across programs. Aspect-oriented programming
(AOP), which is the area of this dissertation, offers a form of advanced separation of
concerns in which primary and crosscutting concerns can be separated during
problem solving. An aspect gathers into one place a concern that is or would
otherwise be scattered throughout an object-oriented program or system. The
primary aim of this dissertation-the AOPy project-is to investigate the usefulness
of advanced separation of concerns that aspect-oriented programming offers. In other
words, the AOPy Project determines whether the potential usefulness of aspect-oriented
programming is currently actualized in practice. In determining its current
practical usefulness, this dissertation also determines characteristics of and obstacles
to usefulness of aspect-orientation in software development. Perhaps the most
important contribution to understanding and addressing the problem of complexity in
software systems that this dissertation makes is that the AOPy research project
establishes a definition of compatibility of aspect-orientation and provides an
analysis of sample instances during problem solving that indicate evidence of
compatibility between object-orientation and aspect-orientation. Compatibility, as
defined by the AOPy Project, exists when aspect-oriented ideas, terminology, and
techniques are appropriately employed in the experimental problem-solving session.
The primary scientific contribution of this dissertation, therefore, is a narrative
description of the actual use of aspect-oriented programming in a series of
controlled, problem-solving scenarios. Theories describing the use of aspect-oriented
ideas, terminology, and techniques are generated and refined by means of Grounded
Theory, a qualitative data analysis technique. Because this dissertation 1)
analytically explores areas of compatibility of aspect-orientation with object-orientation
and 2) defines areas of compatibility thwarted in practice, this research
project can serve as a foundation for the development of aspect-oriented
programming-based design methodologies that encourage compatibility and
discourage non-compatibility. Therefore, the AOPy Project establishes a foundation
for future research in both its methodology and its results and for future software
development in practice. By contributing a definition of aspect-oriented
compatibility and a framework within which it can be understood, this dissertation
fosters the progression toward a seamless use of aspect-orientation between
developer and task. / Graduation date: 2005
Identifer | oai:union.ndltd.org:ORGSU/oai:ir.library.oregonstate.edu:1957/29757 |
Date | 18 March 2005 |
Creators | Dechow, Doug |
Contributors | Budd, Timothy A. |
Source Sets | Oregon State University |
Language | en_US |
Detected Language | English |
Type | Thesis/Dissertation |
Page generated in 0.0017 seconds