AspectJ is a well-established programming language for the implementation of aspect-oriented programs. It supports the aspectoriented programming paradigm by providing a special unit, called "aspect", which encapsulates crosscutting code. While with AspectJ a suitable aspect-oriented programming language is at hand, no feasible modeling language is available that supports the design of AspectJ programs. In this work, such a design notation for AspectJ programs is presented based on the UML. It provides representations for all language constructs in AspectJ and specifies an UML implementation of AspectJ's weaving mechanism. The design notation eases the perception of aspect-orientation and AspectJ programs. It carries over the advantages of aspectorientation to the design level.
When specifying pointcuts, i.e. join point selections, in AspectOriented Software Development, developers have in different situations different conceptual models in mind. Aspect-oriented programming languages are usually capable to support only a small subset of them, but not all. In order to communicate aspectoriented design among developers, though, it is inevitable that the underlying conceptual model used in its join point selections remains unchanged. As a solution to this dilemma, we detail three different conceptual models in this paper that are frequently used in aspect-oriented applications. These models are illustrated using sample implementations from existing literature. Then, we introduce corresponding modeling notations based on Join Point Designation Diagrams (JPDDs) which are capable to express join point selections complying to those models. Finally, we discuss the suitability of these notations to express a desired join point selection.
AspectJ is a well-established programming language for the implementation of aspect-oriented programs. It supports the aspectoriented programming paradigm by providing a special unit, called "aspect", which encapsulates crosscutting code. While with AspectJ a suitable aspect-oriented programming language is at hand, no feasible modeling language is available that supports the design of AspectJ programs. In this work, such a design notation for AspectJ programs is presented based on the UML. It provides representations for all language constructs in AspectJ and specifies an UML implementation of AspectJ's weaving mechanism. The design notation eases the perception of aspect-orientation and AspectJ programs. It carries over the advantages of aspectorientation to the design level.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.