In contemporary aspect-oriented languages, pointcuts are usually specified directly in terms of the structure of the source code. The definition of such low-level pointcuts requires aspect developers to have a profound understanding of the entire application's implementation and often leads to complex, fragile and hard to maintain pointcut definitions. To resolve these issues, we present an aspect-oriented programming language that features a logic-based pointcut language that is open-ended such that it can be extended with application-specific pointcut predicates. As a result, pointcuts can be specified in terms of a more high-level model of the application that confines all intricate implementation details that are otherwise exposed in the pointcut definitions themselves. The application-specific model serves as a contract that base-program developers are licensed to provide and aspect developers can depend upon.
Brichau et al. REF extend the model-based pointcuts technique and use a logic-based pointcut language to express application-defined pointcut predicates.
Application-Specific Models and Pointcuts using a Logic Meta Language
Comput. Lang. Syst. Struct.
Comput. Lang. Syst. Struct.
Computer Science