Open Access
Parametric Aspects: A Proposal.
Jordi Alvarez Canal
- 01 Jan 2004
pp 91-99
14
TL;DR: This extension can integrate seamlessly into Aspect Oriented Languages like AspectJ, and allows to provide a better design solution for problems for which current AOSD techniques are of little help, improving software reuse and reducing its complexity, thus facilitating the software evolution process.
read more
Abstract: Aspect-Oriented Software Development (AOSD) provides better design solutions to problems where Object Oriented Development produces tangled and scattered designs. Nevertheless, there are still several problems for which AOSD is not helpful. An example is the implementation of some design patterns. While it has been shown that some of them can be implemented in a domain-independent way by the use of AOSD [1], there is still a group of them for which current AOSD techniques are of little use. This paper proposes to extend Aspect Oriented Languages with parametric aspects. This extension can integrate seamlessly into Aspect Oriented Languages like AspectJ, and allows to provide a better design solution for problems for which current AOSD techniques are of little help, improving software reuse and reducing its complexity, thus facilitating the software evolution process. Two representative examples are used in order to expose the proposed extension: the implementation of the abstract factory pattern in a domain-independent way, and that of a simple Enterprise Java Bean.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
ParaAJ: toward reusable and maintainable aspect oriented programs
Khalid Aljasser,Peter Schachte +1 more
- 01 Jan 2009
TL;DR: ParaAJ (Parametric Aspects), as an extension to AspectJ, allows classes to specify which aspects should be applied, and allows applications to specifywhich aspects to apply to which classes in what ways, which makes it easier for classes and aspects to be developed and maintained independently, and encourages reuse of both.
15
Parametric DeltaJ 1.5: Propagating feature attributes into implementation artifacts
Tim Winkelmann,Jonathan Koscielny,Christoph Seidl,Sven Schuster,Ferruccio Damiani,Ina Schaefer +5 more
- 01 Jan 2016
TL;DR: In this paper, the authors present parametric DeltaJ, an adaptation of the programming language DeltaJ for delta-oriented software product lines in Java, which allows the propagation of typed attributes from an attributed feature model to Java code artifacts.
Generic Aspect Languages – Needs, Options and Challenges
Günter Kniesel,Tobias Rho +1 more
- 01 Jan 2005
TL;DR: This paper analyze various problems of non-generic aspect languages and defines genericity to be the ability to concisely express aspect effects that vary depending on the context of a join point known at weave-time, and describes the design space for generic aspect languages in terms of five basic questions that a language designer should consider.
13
Using aspects and annotations to separate application code from design patterns
Rosario Giunta,Giuseppe Pappalardo,Emiliano Tramontana +2 more
- 22 Mar 2010
TL;DR: This paper proposes a methodology to obtain the behaviour described by some well-known design patterns, which allows better separation between domain and non-domain concerns through recourse to aspects and annotations.
8
A system of patterns for reusable aspect libraries
Maarten Bynens,Eddy Truyen,Wouter Joosen +2 more
- 01 Jan 2011
TL;DR: This paper presents a pattern system for AO design that provides solutions for recurring problems in the design of reusable aspect libraries and presents an initial validation of the patterns with respect to their stability, versatility, and ease-of-use.
6
References
•Book
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma,Richard Helm,Ralph E. Johnson,John Vlissides +3 more
- 01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
24.8K
•Book
The C++ Programming Language
Bjarne Stroustrup
- 01 Jan 1985
TL;DR: Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.
8.1K
Aspect-oriented programming
Gregor Kiczales,Erik Hilsdale +1 more
- 01 Sep 2001
TL;DR: This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
5.6K
•Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
2.9K
Design pattern implementation in Java and aspectJ
Jan Hannemann,Gregor Kiczales +1 more
- 04 Nov 2002
TL;DR: AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases, manifested in terms of better code locality, reusability, composability, and (un)pluggability.
Related Papers (5)
Stefan Hanenberg,Rainer Unland +1 more
- 17 Mar 2003
Jan Hannemann,Gregor Kiczales +1 more
- 04 Nov 2002
Günter Kniesel,Tobias Rho,Stefan Hanenberg +2 more
- 01 Jan 2004