A graph-based aspect interference detection approach for UML-based aspect-oriented models

Selim Ciraci, Wilke Havinga, Mehmet Aksit, Christoph Bockisch, Pim van den Broek

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    6 Citations (Scopus)
    67 Downloads (Pure)

    Abstract

    Aspect Oriented Modeling (AOM) techniques facilitate separate modeling of concerns and allow for a more flexible composition of the resulting models than traditional techniques. While this improves the understandability of each submodel, in order to reason about the behavior of the composed system and to detect conflicts among submodels, automated tool support is required. We propose a technique and tool support for fully automatic detection of conflicts between aspects at the model level; more specifically, our approach works on models defined in UML with an extension for modeling pointcuts and advice. As back-end we use a graph-based model checker, for which we have defined an operational semantics of UML diagrams, pointcuts and advice. In order to simulate the system, we automatically derive a graph model from the diagrams. The simulation result is another graph, which represents all possible program executions, and which can be verified against a declarative specification of invariants. To demonstrate our approach, we discuss a UML-based AOM model of the "Crisis Management System" (CMS) and a possible design and evolution scenario. The complexity of the system makes conflicts among composed aspects hard to detect: already in the case of five simulated aspects, the state space contains 9991 different states and 99 different execution paths. Nevertheless, by using appropriate pruning methods the state space only grows polynomially with the number of aspects. In practical cases, the order of the polynomial is very small, e.g., 2 in the case of the simulated CMS; therefore, the automatic analysis scales.
    Original languageEnglish
    Title of host publicationTransactions on Aspect-Oriented Software Development VII
    Subtitle of host publicationA Common Case Study for Aspect-Oriented Modeling
    EditorsShmuel Katz, Mira Mezini, Jörg Kienzle
    Place of PublicationBerlin, Heidelberg
    PublisherSpringer
    Pages321-374
    Number of pages56
    ISBN (Electronic)978-3-642-16086-8
    ISBN (Print)978-3-642-16085-1
    DOIs
    Publication statusPublished - 20 Sep 2010

    Publication series

    NameLecture Notes in Computer Science
    PublisherSpringer
    Volume6210
    ISSN (Print)0302-9743
    ISSN (Electronic)1611-3349

    Fingerprint

    Semantics
    Polynomials
    Specifications
    Chemical analysis

    Keywords

    • Aspect interference detection
    • Aspect-oriented UML
    • Aspect-oriented
    • Graph-based Model Checking
    • CR-D.2.4

    Cite this

    Ciraci, S., Havinga, W., Aksit, M., Bockisch, C., & van den Broek, P. (2010). A graph-based aspect interference detection approach for UML-based aspect-oriented models. In S. Katz, M. Mezini, & J. Kienzle (Eds.), Transactions on Aspect-Oriented Software Development VII: A Common Case Study for Aspect-Oriented Modeling (pp. 321-374). (Lecture Notes in Computer Science; Vol. 6210). Berlin, Heidelberg: Springer. https://doi.org/10.1007/978-3-642-16086-8_9
    Ciraci, Selim ; Havinga, Wilke ; Aksit, Mehmet ; Bockisch, Christoph ; van den Broek, Pim. / A graph-based aspect interference detection approach for UML-based aspect-oriented models. Transactions on Aspect-Oriented Software Development VII: A Common Case Study for Aspect-Oriented Modeling. editor / Shmuel Katz ; Mira Mezini ; Jörg Kienzle. Berlin, Heidelberg : Springer, 2010. pp. 321-374 (Lecture Notes in Computer Science).
    @inproceedings{2e4e0037530c49f0973502ccd8e474dd,
    title = "A graph-based aspect interference detection approach for UML-based aspect-oriented models",
    abstract = "Aspect Oriented Modeling (AOM) techniques facilitate separate modeling of concerns and allow for a more flexible composition of the resulting models than traditional techniques. While this improves the understandability of each submodel, in order to reason about the behavior of the composed system and to detect conflicts among submodels, automated tool support is required. We propose a technique and tool support for fully automatic detection of conflicts between aspects at the model level; more specifically, our approach works on models defined in UML with an extension for modeling pointcuts and advice. As back-end we use a graph-based model checker, for which we have defined an operational semantics of UML diagrams, pointcuts and advice. In order to simulate the system, we automatically derive a graph model from the diagrams. The simulation result is another graph, which represents all possible program executions, and which can be verified against a declarative specification of invariants. To demonstrate our approach, we discuss a UML-based AOM model of the {"}Crisis Management System{"} (CMS) and a possible design and evolution scenario. The complexity of the system makes conflicts among composed aspects hard to detect: already in the case of five simulated aspects, the state space contains 9991 different states and 99 different execution paths. Nevertheless, by using appropriate pruning methods the state space only grows polynomially with the number of aspects. In practical cases, the order of the polynomial is very small, e.g., 2 in the case of the simulated CMS; therefore, the automatic analysis scales.",
    keywords = "Aspect interference detection, Aspect-oriented UML, Aspect-oriented, Graph-based Model Checking, CR-D.2.4",
    author = "Selim Ciraci and Wilke Havinga and Mehmet Aksit and Christoph Bockisch and {van den Broek}, Pim",
    year = "2010",
    month = "9",
    day = "20",
    doi = "10.1007/978-3-642-16086-8_9",
    language = "English",
    isbn = "978-3-642-16085-1",
    series = "Lecture Notes in Computer Science",
    publisher = "Springer",
    pages = "321--374",
    editor = "Shmuel Katz and Mira Mezini and J{\"o}rg Kienzle",
    booktitle = "Transactions on Aspect-Oriented Software Development VII",

    }

    Ciraci, S, Havinga, W, Aksit, M, Bockisch, C & van den Broek, P 2010, A graph-based aspect interference detection approach for UML-based aspect-oriented models. in S Katz, M Mezini & J Kienzle (eds), Transactions on Aspect-Oriented Software Development VII: A Common Case Study for Aspect-Oriented Modeling. Lecture Notes in Computer Science, vol. 6210, Springer, Berlin, Heidelberg, pp. 321-374. https://doi.org/10.1007/978-3-642-16086-8_9

    A graph-based aspect interference detection approach for UML-based aspect-oriented models. / Ciraci, Selim; Havinga, Wilke; Aksit, Mehmet; Bockisch, Christoph; van den Broek, Pim.

    Transactions on Aspect-Oriented Software Development VII: A Common Case Study for Aspect-Oriented Modeling. ed. / Shmuel Katz; Mira Mezini; Jörg Kienzle. Berlin, Heidelberg : Springer, 2010. p. 321-374 (Lecture Notes in Computer Science; Vol. 6210).

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    TY - GEN

    T1 - A graph-based aspect interference detection approach for UML-based aspect-oriented models

    AU - Ciraci, Selim

    AU - Havinga, Wilke

    AU - Aksit, Mehmet

    AU - Bockisch, Christoph

    AU - van den Broek, Pim

    PY - 2010/9/20

    Y1 - 2010/9/20

    N2 - Aspect Oriented Modeling (AOM) techniques facilitate separate modeling of concerns and allow for a more flexible composition of the resulting models than traditional techniques. While this improves the understandability of each submodel, in order to reason about the behavior of the composed system and to detect conflicts among submodels, automated tool support is required. We propose a technique and tool support for fully automatic detection of conflicts between aspects at the model level; more specifically, our approach works on models defined in UML with an extension for modeling pointcuts and advice. As back-end we use a graph-based model checker, for which we have defined an operational semantics of UML diagrams, pointcuts and advice. In order to simulate the system, we automatically derive a graph model from the diagrams. The simulation result is another graph, which represents all possible program executions, and which can be verified against a declarative specification of invariants. To demonstrate our approach, we discuss a UML-based AOM model of the "Crisis Management System" (CMS) and a possible design and evolution scenario. The complexity of the system makes conflicts among composed aspects hard to detect: already in the case of five simulated aspects, the state space contains 9991 different states and 99 different execution paths. Nevertheless, by using appropriate pruning methods the state space only grows polynomially with the number of aspects. In practical cases, the order of the polynomial is very small, e.g., 2 in the case of the simulated CMS; therefore, the automatic analysis scales.

    AB - Aspect Oriented Modeling (AOM) techniques facilitate separate modeling of concerns and allow for a more flexible composition of the resulting models than traditional techniques. While this improves the understandability of each submodel, in order to reason about the behavior of the composed system and to detect conflicts among submodels, automated tool support is required. We propose a technique and tool support for fully automatic detection of conflicts between aspects at the model level; more specifically, our approach works on models defined in UML with an extension for modeling pointcuts and advice. As back-end we use a graph-based model checker, for which we have defined an operational semantics of UML diagrams, pointcuts and advice. In order to simulate the system, we automatically derive a graph model from the diagrams. The simulation result is another graph, which represents all possible program executions, and which can be verified against a declarative specification of invariants. To demonstrate our approach, we discuss a UML-based AOM model of the "Crisis Management System" (CMS) and a possible design and evolution scenario. The complexity of the system makes conflicts among composed aspects hard to detect: already in the case of five simulated aspects, the state space contains 9991 different states and 99 different execution paths. Nevertheless, by using appropriate pruning methods the state space only grows polynomially with the number of aspects. In practical cases, the order of the polynomial is very small, e.g., 2 in the case of the simulated CMS; therefore, the automatic analysis scales.

    KW - Aspect interference detection

    KW - Aspect-oriented UML

    KW - Aspect-oriented

    KW - Graph-based Model Checking

    KW - CR-D.2.4

    U2 - 10.1007/978-3-642-16086-8_9

    DO - 10.1007/978-3-642-16086-8_9

    M3 - Conference contribution

    SN - 978-3-642-16085-1

    T3 - Lecture Notes in Computer Science

    SP - 321

    EP - 374

    BT - Transactions on Aspect-Oriented Software Development VII

    A2 - Katz, Shmuel

    A2 - Mezini, Mira

    A2 - Kienzle, Jörg

    PB - Springer

    CY - Berlin, Heidelberg

    ER -

    Ciraci S, Havinga W, Aksit M, Bockisch C, van den Broek P. A graph-based aspect interference detection approach for UML-based aspect-oriented models. In Katz S, Mezini M, Kienzle J, editors, Transactions on Aspect-Oriented Software Development VII: A Common Case Study for Aspect-Oriented Modeling. Berlin, Heidelberg: Springer. 2010. p. 321-374. (Lecture Notes in Computer Science). https://doi.org/10.1007/978-3-642-16086-8_9