Reasoning about Behavioral Conflicts between Aspects

P.E.A. Durr, Lodewijk Bergmans, Mehmet Aksit

    Research output: Book/ReportReportProfessional

    29 Downloads (Pure)


    Aspects have been successfully promoted as a means to improve the modularization of software in the presence of crosscutting concerns. The so-called aspect interference problem is considered to be one of the remaining challenges of aspect-oriented software development: aspects may interfere with the behavior of the base code or other aspects. Especially interference between aspects is difficult to prevent, as this may be caused solely by the composition of aspects that behave correctly in isolation. A typical situation where this may occur is when multiple advices are applied at the same, or shared, join point. In this paper we explain the problem of behavioral conflicts between aspects at shared join points, illustrated by a real-world example. We present an approach for the detection of behavioral conflicts that is based on a novel abstraction model for representing the behavior of advice. This model allows the expression of both primitive and complex behavior in a simple manner that is suitable for automated conflict detection. The approach employs a set of conflict detection rules which can be used to detect both generic conflicts as well as domain- or application specific conflicts. This approach is general for AOP languages, and its application to both Compose* and AspectJ is illustrated in this paper. The application to Compose* demonstrates how the use of a declarative advice language can be exploited for fully automated conflict detection, without the need to annotate the aspect behavior. The approach has been implemented and tested within the Compose* and CAPE environments.
    Original languageUndefined
    Place of PublicationEnschede
    PublisherCentre for Telematics and Information Technology (CTIT)
    Number of pages36
    Publication statusPublished - 19 Feb 2007

    Publication series

    NameCTIT Technical Report Series
    ISSN (Print)1381-3625


    • METIS-242057
    • IR-60248
    • EWI-9466
    • CR-B.2.1

    Cite this