Aspect-oriented systems provide pointcut languages in order to specify selection criteria for join points which in turn will be adapted.
However, a closer look into current pointcut languages reveals that there are large differences among them. Consequently different aspect-oriented system permit to specify different selection criteria. This also means that it is in general hard to state whether a certain aspect-oriented system is adequate for a given problem without detailed system knowledge. This paper analyzes and classifies pointcut language constructs based on the objects they reason on. Based on this analysis, we propose three conceptual classes of pointcut constructs. These classes represent an abstract framework for pointcut languages allowing to better understand
and compare existing approaches. They also describe a design space for potential new language constructs.