• No results found

Editorial for Special Section on Dependencies and Interactions with Aspects

N/A
N/A
Protected

Academic year: 2021

Share "Editorial for Special Section on Dependencies and Interactions with Aspects"

Copied!
2
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

A. Rashid and H. Ossher (Eds.): Transactions on AOSD V, LNCS 5490, pp. 133–134, 2009. © Springer-Verlag Berlin Heidelberg 2009

Editorial for Special Section on Dependencies and

Interactions with Aspects

As the use of aspects spreads, it is becoming common to weave multiple aspects into a system, treating different concerns. In this special section, we present three papers that deal with the issue of how aspects may interact, and in particular how they may interfere with each other. Aspect interactions can arise at all stages of software development, including requirements, design, and implementation. The issues somewhat differ at each stage, and in fact for interference itself several definitions are in use.

Interference is sometimes connected to multiple aspects being applied at the same joinpoint, especially when a fixed ordering is not determined using program directives. In that case its detection coincides with determining whether there is overlap in the definitions of pointcuts for different aspects. Another possible definition, seen in the first paper described later, is that one aspect changes the set of joinpoints of another, either adding new ones or deleting ones that previously were in the system. Yet, another type of interference involves name and type conflicts in introductions of fields or methods from different aspects. All of these definitions have the advantage of not requiring specifications of the aspects. That is, it is not necessary to know the intended effect of the aspect.

However, interference can also arise between aspects that do not have common joinpoints, or even common variables. If the intent of the aspects is known, then interference could be defined as a contradiction between the requirements of one aspect and those of another. This could arise already at the level of natural language requirements or when formalizing them into specifications in a logical formalism. The most general semantic definition of interference is that one aspect prevents another from fulfilling its specification, even though each aspect alone woven into a system is correct. Under this definition, even if the requirements of two aspects are in no way contradictory, their implementations may use and modify shared data in a way that one causes the other to operate incorrectly.

This multitude of possible definitions is reflected in the papers in the special section, which each treat somewhat different types of interference.

In the paper Detection and Resolution of Weaving Interactions by Günter Kniesel, weaving strategies are shown to influence interaction and interference among aspects, according to the definition above where joinpoints are added or removed. A methodology is given to detect problematic weavings, and to resolve interferences that arise from the weaving strategies themselves. Precise definitions of all of the terms are given, using a first-order logic notation.

The paper AspectOptima: A Case Study on Aspect Dependencies and Interactions, by Jörg Kienzle, Ekwa Duala-Ekoko, and Samuel Gélineau, presents a collection of aspects that can be combined in various ways to form different implementations of a transaction manager. The possible conflicts and dependencies provide illuminating

(2)

134 Editorial for Special Section on Dependencies and Interactions with Aspects

examples of aspect interactions and interferences. These further demonstrate the possible interferences among aspects at the code level that can arise in realistic systems or libraries of aspects and are recommended as a testbed for approaches to aspect interference.

Finally, the paper Formal Analysis of Aspect-Oriented Models, by Katharina Mehner, Mattia Monga, and Gabriele Taentzer, deals with interferences among aspects in the requirements stage, providing a formal analysis using a graph transformation analysis tool. Here, of course, only the requirements of each aspect are available, so the possible interferences relate to one preventing another from fulfilling its requirements.

The articles presented here represent a subset of the work currently undertaken on aspects and interactions. However, this is a very young and dynamic field, with a number of most fundamental questions still waiting to be resolved. For instance, as noted above, the community in this field has not even yet agreed on the definition of an aspectual interference/interaction, or whether aspects do cause new types of interference and interaction at all. On the one hand, if, upon weaving, the aspect is dispersed in the modules of the extended paradigm (e.g., in OO classes), then reasoning used to resolve OO-specific interference should suffice to resolve also aspect interaction problems. On the other hand, since aspects provide additional abstraction and composition mechanisms, new reasoning elements reflecting the characteristics of aspects may be needed. This and other equally important questions must be discussed and resolved in order to establish better understanding and acceptance of AOSD. We hope to foster this discussion through this special section as well as with a series of workshops on Aspects, Dependencies, and Interactions held annually with the ECOOP conference.

Finally, we would like to thank all of the authors and referees who have helped in the preparation of this special section. The following three papers provide a cross section of possible approaches to interference, and we hope that they will stimulate additional interest and work on this vital topic.

Ruzanna Chitchyan, Johan Fabry, Shmuel Katz, Arend Rensink Guest co-editors

Referenties

GERELATEERDE DOCUMENTEN

However, if these verbs are compounded with a resultative verb such äs [dao] 'fall 1 , the action- result compound verb clearly indicates that there is a definite effect on the

In de biolo- gische houderij worden de dieren pas afgevoerd als de productie sterk terugloopt en vanwege ouderdom (Eijck et al., 2003). De afvoerreden ouderdom is waarschijnlijk

Quatre fragments pr ése ntent des traces d'un engobc gris foncé.. De telles antéfixes étaient bien faites pour occuper une telle place , avec

Voor het onderzoek naar de relatie tussen de ernst van het letsel van de fietsers en de vorm en vormgeving van het voertuigfront, zijn in eerste instantie de

The various reasons provided by the participants as to why these issues and problems occur mostly between the adolescent and caregiver were as follows: the caregiver does not have

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of

- In enkele gevallen moest een medewerker wegens ziekte, onverwacht toenemen van werkzaamheden (waarnemen van het directoraat, overnemen van een eindexamenklas, en dgl.),

plete proof can be found in Appendix C, we will give a short outline here. Then we randomly generate roughly 2 aux- iliary sequences. Each of these sequences gets a random -label and