Abstract |
: |
Aspect-oriented programming (AOP) is rapidly
gaining popularity among research and industry as a
methodology that complements and extends the object-oriented
paradigm.AOP promises to localize the concerns that inherently
crosscut the primary structural decomposition of a software
system. Localization of concerns is critical to parallel
development, maintainability, modular reasoning and program
understanding. However, AOP as it stands today is bringing
problems in exactly these areas, defeating its purpose. Previous
work and experience gleaned from building AOP systems have
identified two points of contention that are impeding the adoption
of AOP. First, the complication arising from the need to open up
systems modules for AOP and the need to protect those modules
against possible fault injection by AOP. Second, the need to have
base system components stabilized before aspect components can
be developed. Clearly, this adversely affects parallel
development. This dependency also causes aspect components to
be sensitive to changes in the base system, complicating
maintainability, already a high-cost element in the software
process. In this paper, the main focus is to develop a solution that
affords better modularity to AOP systems. |