Abstract
Aspect Oriented Programming (AOP) supports the encapsulation of concerns cutting across the logical design of object-oriented software, by introducing aspects as a new unit of code. Code fragments, defined within aspects, such as advice or inter-type declarations, can be composed together with traditional system units, such as classes in OO code, using quantification expressions that specify where such fragments are to be injected and executed. The introduction of aspect-orientation in object-oriented software development raises two interesting comprehension questions. First, is the comprehension of AO software more difficult than traditional objectoriented software? Second, can aspects support comprehension tasks of object-oriented developers?