I. Introduction
Aspect-oriented software development [1] is a young software development approach which aims to encapsulate so-called crosscutting concerns [2]. Crosscutting concerns cannot be properly encapsulated into their own implementation modules using conventional software development techniques (such as object-orientation), and consequently pervade the entire code base of a program.