Software Practices Lab Homepage
People
Publications
Papers
Theses
Projects
AO Design Patterns
AO Refactoring
Apostle
Aspect Mining Tool
Bug Triage
CBD
SD Coupling
Emergent Teams
Fishtail
JQuery
Logic AOP
Mylar
Pointcut Doctor
past projects...
Reading Group
SPL Wiki [local access]

Role-based Refactoring of Crosscutting Concerns

  

Aspect-oriented programming (AOP) enables the modular implementation of crosscutting concerns. To help the developer take advantage of AOP in an existing object-oriented system, and to modularize emerging crosscutting concerns in aspect-oriented code under development, there is a need for refactoring support.

In this project, we propose a role-based approach for transforming scattered crosscutting concern code (CCC) into a modular implementation in an aspect-oriented programming language. The roles enable a crosscutting concern to be described abstractly. Once these roles are then mapped to concrete scattered program elements in a target system, tool support can be used to perform the refactoring resulting in concrete modular AOP code. Our approach is semi-automated and, in some cases, non-behavior preserving. These properties are inherent to a set of useful crosscutting concerns to modularize, a subset of the GoF design patterns.

Our refactoring tool is implemented as a plug-in for the Eclipse IDE.

People

  • Jan Hannemann
  • Gail Murphy
  • Gregor Kiczales

Upcoming Publications

Jan Hannemann, Gail Murphy, and Gregor Kiczales. "Role-Based Refactoring of Crosscutting Concerns", AOSD 2005 (to appear).