On Aspect-Oriented Approaches

Several approaches to program construction call themselves aspect-oriented. However, there is still no common agreement on what should be considered aspect orientation. The appealing proposal by Filman who summarized it in quantification and obliviousness is considered simplistic by who views aspect orientation as a true new paradigm of software development. This paper drafts a model of aspect-oriented approaches, by showing how major examples of aspect orientation fit in it. The proposed model claims that any aspect-oriented approach is essentially a two-step process: a system is initially designed in a traditional way, while a second step is introduced in order to predicate about the entities defined, explicitly or implicitly, during the first step. Therefore, aspect-oriented approaches are in principle devoted to software evolution or augmentation, in contrast to reflective approaches, which uses models of the system during system computations themselves.