Abstract:
Incremental software development is a process of building complex
programs from simple ones by progressively adding programmatic details.
It is an effective and common design practice that helps control program
complexity. However, incrementally building software using aspects can be
difficult. AspectJ quantification does not distinguish different
developmental stages, and thus pointcuts can capture join points from
later stages that they originally were not intended to advise.
We present a model of aspect composition in AspectJ and propose an alternative model that preserves the power of AspectJ but also provides support for incremental development and 'as-is' reuse of aspects.