Aspects have been successfully promoted as a means to improve the modularization of software in the presence of crosscutting concerns. Within the Ideals project, aspects have been shown to be valuable for improving the modularization of idioms (see also Chapter 1). 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 among aspects is dif��?cult 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 chapter we explain the problem of behavioral conﬂicts among aspects at shared join points, illustrated by aspects that represent idioms: Parameter checking and Error propagation. We present an approach for the detection of behavioral conﬂicts that is based on a novel abstraction model for representing the behavior of advice. The approach employs a set of conﬂict detection rules which can be used to detect both generic conflicts as well as domain or application speci��?c conﬂicts. One of the benefits of the approach is that it neither requires the application programmers to deal with the conflict models, nor does it require a background in formal methods for the aspect programmers.
|Title of host publication||Ideals: evolvability of software-intensive high-tech systems|
|Editors||Remco van Engelen, Jeroen Voeten|
|Place of Publication||Eindhoven|
|Publisher||Embedded Systems Institute ESI|
|Number of pages||13|
|Publication status||Published - Dec 2007|
|Publisher||Embedded Systems Institute|