Improving Incremental Development in AspectJ by Bounding Quantification
Roberto E. Lopez-Herrejon, Don S. Batory · 2005
Incremental software development is a process of building complex programs from simple ones by successively adding programmatic details. It is an effective and common design practice that helps control program complexity. However, incrementally building software using aspects can be more challenging than using traditional modules. AspectJ quantification mechanisms do not distinguish different developmental stages, and thus pointcuts can capture join points from later stages that they originally were not intended to advise. In this paper we present an algebraic model to describe aspects and their composition in AspectJ. We show that the way AspectJ’s composes aspects plays a significant role in this problem. We propose an alternative model to compose aspects that improves the support for incremental development. It bounds the scope of quantification and still preserves the power of AspectJ. We also show how bounded quantification contributes to aspect reuse.