Oren Mishali, Ph.D. Thesis Seminar
Wednesday, 6.1.2010, 15:30
Aspect-Oriented Programming (AOP) is a paradigm that allows the addition of new functionality
to an existing system in a clean and modular fashion. In this research we utilize AOP to define
support for the software development process within a development environment (Eclipse).
AspectJ aspects that encapsulate software process support are defined and then integrated (woven)
into the Eclipse code defining the development environment itself. Consequently, during the development,
an Eclipse developer is presented with real-time notifications about his/her behavior aiming to encourage
the use of a certain development practice. The technological question treated is how to best utilize AOP
for achieving the desired task. Accordingly, a specially structured organization of aspects that can be
applied on top of any base-system is defined including a supportive framework. We also treat the question
of how to define effective and correct process support of this kind. Here we use an agile approach where
process support is defined and refined iteratively based on user experiments conducted in each iteration.