As software is becoming larger and ever more complex, new Software Engineering approaches addressing these complexities arise—for example, Model Driven Development, Software Product Lines Engineering, and Aspect-Oriented Software Development (AOSD) [1, 4]. AOSD has in its core the principle of separation of concerns [3] which aims to simplify system development by allowing the developers to foc...