Editorial for Special Section on Dependencies and Interactions with Aspects

نویسندگان

  • Ruzanna Chitchyan
  • Johan Fabry
  • Shmuel Katz
  • Arend Rensink
چکیده

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 …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Editorial: Special Section on Early Aspects

As software is becoming larger and ever more complex, new Software Engineering approaches addressing these complexities arise—for example, Model Driven Development, Software Product Lines Engineering, and Aspect-Oriented Software Development (AOSD) [1, 4]. AOSD has in its core the principle of separation of concerns [3] which aims to simplify system development by allowing the developers to foc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Trans. Aspect-Oriented Software Development

دوره 5  شماره 

صفحات  -

تاریخ انتشار 2009