Declaring Static Crosscutting Dependencies in AspectJ
نویسندگان
چکیده
Aspect-Oriented Programming (AOP) is considered a promising approach for Software Product Line (SPL) implementation. In this paper we present the problem of dependency in inter-type method declarations as well a proposal of two new constructs to AspectJ interfaces: introduces and declares. These constructs can be used to declare and check dependency between base code and aspects in such a way to support separate development.
منابع مشابه
Towards a Tool Supporting Integration Testing of Aspect-Oriented Programs
Aspect-Oriented Programming is an emerging software engineering paradigm. It offers new constructs and tools improving separation of crosscutting concerns into single units called aspects. AspectJ, the most used aspect-oriented programming language, represents an extension of Java. In fact, existing object-oriented programming languages suffer from a serious limitation in modularizing adequatel...
متن کاملHow AspectJ is Used: An Analysis of Eleven AspectJ Programs
While it is well-known that crosscutting concerns occur in many software projects, little is known on how aspect-oriented programming, and in particular AspectJ, have been used. In this paper, we analyze eleven AspectJ programs by different authors to answer the questions: which mechanisms are used, to what extent, and for what purpose. We found the code of these programs to be on average 86% o...
متن کاملOpen Static Pointcuts Through Source Code Templates
Aspect languages define ways to modularize croscutting concerns by means of expressing them as aspects. The expressiveness of an aspect language is very much affected by the expressiveness of the language it uses to describe pointcuts. This is due to the fact that pointcuts define what is crosscutting in a crosscutting concern. We present a mechanism to express type-safe source code templates i...
متن کاملDesigning Aspect-Oriented Crosscutting in UML
The Aspect-Oriented Design Model (AODM) is a new design model for the development of AspectJ programs with the UML. It extends existing UML concepts using standard UML extension mechanisms to provide aspect-oriented concepts as they are found in AspectJ. Further, the AODM specifies how an aspect-oriented design model may be transformed into an ordinary UML design model. It demonstrates how this...
متن کاملImplementing Known Concepts in AspectJ
AspectJ is a so-called general-purpose aspect-language which tries to solve the problem of crosscutting code. An often uttered criticism of AspectJ is that there is no underlying concept in the implemented language features and that those features are rather arbitrary chosen instead of being based on any theoretical foundations. This paper shows beyond the the context of crosscutting and tangli...
متن کامل