Static and Dynamic Detection of Behavioral Conflicts Between Aspects

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

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

42 Downloads (Pure)

Abstract

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 a shared, join point. In [1] we explained the problem of behavioral conflicts between aspects at shared join points. We presented an approach for the detection of behavioral conflicts. This approach 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. This supports automatic conflict detection. The presented approach employs a set of conflict detection rules, which can be used to detect generic, domain specific and application specific conflicts. The approach is implemented in Compose*, which is an implementation of Composition Filters. This application shows that a declarative advice language can be exploited for aiding automated conflict detection. This paper discusses the need for a runtime extension to the described static approach. It also presents a possible implementation approach of such an extension in Compose*. This allows us to reason efficiently about the behavior of aspects. It also enables us to detect these conflicts with minimal overhead at runtime.
Original languageEnglish
Title of host publicationProceedings of the Seventh International Workshop on Runtime Verification
EditorsO. Sokolsky, S. Tasiran
Place of PublicationBerlin
PublisherSpringer
Pages38-50
Number of pages13
ISBN (Print)978-3-540-77394-8
DOIs
Publication statusPublished - Dec 2007

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Verlag
Number7
Volume4839
ISSN (Print)0302-9743

Fingerprint

Chemical analysis
Software engineering

Keywords

  • IR-60254
  • METIS-246023
  • EWI-11925

Cite this

Durr, P. E. A., Bergmans, L., & Aksit, M. (2007). Static and Dynamic Detection of Behavioral Conflicts Between Aspects. In O. Sokolsky, & S. Tasiran (Eds.), Proceedings of the Seventh International Workshop on Runtime Verification (pp. 38-50). (Lecture Notes in Computer Science; Vol. 4839, No. 7). Berlin: Springer. https://doi.org/10.1007/978-3-540-77395-5_4
Durr, P.E.A. ; Bergmans, Lodewijk ; Aksit, Mehmet. / Static and Dynamic Detection of Behavioral Conflicts Between Aspects. Proceedings of the Seventh International Workshop on Runtime Verification. editor / O. Sokolsky ; S. Tasiran. Berlin : Springer, 2007. pp. 38-50 (Lecture Notes in Computer Science; 7).
@inproceedings{c4b30a666f4847f99128da550acc8124,
title = "Static and Dynamic Detection of Behavioral Conflicts Between Aspects",
abstract = "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 a shared, join point. In [1] we explained the problem of behavioral conflicts between aspects at shared join points. We presented an approach for the detection of behavioral conflicts. This approach 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. This supports automatic conflict detection. The presented approach employs a set of conflict detection rules, which can be used to detect generic, domain specific and application specific conflicts. The approach is implemented in Compose*, which is an implementation of Composition Filters. This application shows that a declarative advice language can be exploited for aiding automated conflict detection. This paper discusses the need for a runtime extension to the described static approach. It also presents a possible implementation approach of such an extension in Compose*. This allows us to reason efficiently about the behavior of aspects. It also enables us to detect these conflicts with minimal overhead at runtime.",
keywords = "IR-60254, METIS-246023, EWI-11925",
author = "P.E.A. Durr and Lodewijk Bergmans and Mehmet Aksit",
year = "2007",
month = "12",
doi = "10.1007/978-3-540-77395-5_4",
language = "English",
isbn = "978-3-540-77394-8",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
number = "7",
pages = "38--50",
editor = "O. Sokolsky and S. Tasiran",
booktitle = "Proceedings of the Seventh International Workshop on Runtime Verification",

}

Durr, PEA, Bergmans, L & Aksit, M 2007, Static and Dynamic Detection of Behavioral Conflicts Between Aspects. in O Sokolsky & S Tasiran (eds), Proceedings of the Seventh International Workshop on Runtime Verification. Lecture Notes in Computer Science, no. 7, vol. 4839, Springer, Berlin, pp. 38-50. https://doi.org/10.1007/978-3-540-77395-5_4

Static and Dynamic Detection of Behavioral Conflicts Between Aspects. / Durr, P.E.A.; Bergmans, Lodewijk; Aksit, Mehmet.

Proceedings of the Seventh International Workshop on Runtime Verification. ed. / O. Sokolsky; S. Tasiran. Berlin : Springer, 2007. p. 38-50 (Lecture Notes in Computer Science; Vol. 4839, No. 7).

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

TY - GEN

T1 - Static and Dynamic Detection of Behavioral Conflicts Between Aspects

AU - Durr, P.E.A.

AU - Bergmans, Lodewijk

AU - Aksit, Mehmet

PY - 2007/12

Y1 - 2007/12

N2 - 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 a shared, join point. In [1] we explained the problem of behavioral conflicts between aspects at shared join points. We presented an approach for the detection of behavioral conflicts. This approach 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. This supports automatic conflict detection. The presented approach employs a set of conflict detection rules, which can be used to detect generic, domain specific and application specific conflicts. The approach is implemented in Compose*, which is an implementation of Composition Filters. This application shows that a declarative advice language can be exploited for aiding automated conflict detection. This paper discusses the need for a runtime extension to the described static approach. It also presents a possible implementation approach of such an extension in Compose*. This allows us to reason efficiently about the behavior of aspects. It also enables us to detect these conflicts with minimal overhead at runtime.

AB - 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 a shared, join point. In [1] we explained the problem of behavioral conflicts between aspects at shared join points. We presented an approach for the detection of behavioral conflicts. This approach 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. This supports automatic conflict detection. The presented approach employs a set of conflict detection rules, which can be used to detect generic, domain specific and application specific conflicts. The approach is implemented in Compose*, which is an implementation of Composition Filters. This application shows that a declarative advice language can be exploited for aiding automated conflict detection. This paper discusses the need for a runtime extension to the described static approach. It also presents a possible implementation approach of such an extension in Compose*. This allows us to reason efficiently about the behavior of aspects. It also enables us to detect these conflicts with minimal overhead at runtime.

KW - IR-60254

KW - METIS-246023

KW - EWI-11925

U2 - 10.1007/978-3-540-77395-5_4

DO - 10.1007/978-3-540-77395-5_4

M3 - Conference contribution

SN - 978-3-540-77394-8

T3 - Lecture Notes in Computer Science

SP - 38

EP - 50

BT - Proceedings of the Seventh International Workshop on Runtime Verification

A2 - Sokolsky, O.

A2 - Tasiran, S.

PB - Springer

CY - Berlin

ER -

Durr PEA, Bergmans L, Aksit M. Static and Dynamic Detection of Behavioral Conflicts Between Aspects. In Sokolsky O, Tasiran S, editors, Proceedings of the Seventh International Workshop on Runtime Verification. Berlin: Springer. 2007. p. 38-50. (Lecture Notes in Computer Science; 7). https://doi.org/10.1007/978-3-540-77395-5_4