Oren Mishali
(Direct PhD candidate)
Aspects to Support the Software Process
Supervisor: Assoc. Prof. Shmuel Katz
Abstract
Aspect-Oriented Programming (AOP) is a paradigm suggested due to
the inability of object-oriented constructs to modularize cross-cutting concerns
(i.e., concerns that span multiple modules). This inability
causes these concerns to be scattered across several system modules and tangled
with other concerns, which makes program comprehension and maintenance harder.
AOP attempts to solve this problem by introducing new language constructs
(aspects) that modularize and separate the cross-cutting concerns from the
object-oriented system and also provide a mechanism to compose (weave) these
aspects into the underlying system. Aspects are usually used as direct support
for the software product under development by being woven into it. We suggest
using aspects to support the Software Process (SP), that is, the methods and
practices that are used in order to produce the software product. These
process-supportive aspects, which we call SP-aspects, are not intended to be
woven into the software product but into the development environment where the
product is developed. In other words, SP-aspects modify the development
environment and adapt it to a specific development methodology.
In the first stage of our research we conducted a feasibility case-study. In the case-study, aspects to support a specific development methodology (Extreme Programming) were developed and woven into a specific development environment (the Eclipse platform). The idea has been proven to be feasible and several research directions have been recognized. In the first direction we develop more aspects to support Extreme Programming as well as aspects to support other methodologies (e.g., Rational Unified Process) over different development platforms. The second direction involves the development of a repository for SP-aspects that will allow automatic generation of aspects for different methodologies. Challenges and difficulties during the implementation of XP-aspects over Eclipse have motivated the third research direction; weaving aspects into an existing complex system is difficult, mainly since these object-oriented systems are not designed (yet) with any "awareness" to AOP. In this direction we analyze these difficulties and try to propose different strategies to cope with them.
Related material and Links
"Using Aspects to Support the Software Process: XP over Eclipse" [pdf] (published in AOSD'06 annual conference)
A presentation given in the above-mentioned conference [ppt]
My PhD research proposal [pdf]
Contact info
Oren Mishali omishali@cs.technion.ac.il