Title
A Definition, Overview and Taxonomy of Generic Aspect Languages
Abstract
Aspect-orientation promises better modularity than pure object-oriented decompo- sition. A typical benefit of increased modularity is ease of maintenance, evolution and reuse. However, it has been noted by various researchers that many of the first generation aspect languages do not provide the degree of reusability initially hoped for. In this paper, we argue that the problem of insufficient reusability is due to a lack of support for aspect genericity. We analyze various problems of traditional aspect languages and define aspect genericity to be the ability to concisely express aspect effects that vary depending on the context of a join point known at weave-time, without falling back to run- time reflection. We identify the ability to parameterize aspect effects with meta-variables ranging over base language elements as the technical prerequisite for achieving genericity and describe the design space for generic aspect languages in terms of five basic questions that a language designer should consider. Within this space we review the different proposals for generic aspect languages made so far and compare them by showing which part of the possible design space is explored within these languages. Among the reviewed design options we identify predicate-based binding of logic meta- variables, uniform genericity and fine-grained genericity as optimal answers to three of the discussed questions. Last but not least, we identify open research problems that are specific to aspect genericity or aggravated in the presence of genericity. We expect that genericity will be a key ingredient of a second generation of aspect languages. It will significantly reduce the dependency of aspects on base programs and will automa- tically select behavior depending on the weave-time context of a join point in the same way as dynamic binding does depending on the type of a message receiver.
Year
DOI
Venue
2006
10.3166/objet.12.2-3.9-39
L'OBJET
Keywords
Field
DocType
fine- grained genericity.,generic aspect language,aspect-oriented programming,uniform genericity,object oriented,aspect oriented,aspect oriented programming,dynamic binding
Design space,Programming language,Aspect-oriented programming,Object-oriented programming,Reuse,Computer science,Join point,Reusability
Journal
Volume
Issue
Citations 
12
2-3
10
PageRank 
References 
Authors
0.72
16
2
Name
Order
Citations
PageRank
Günter Kniesel137530.06
Tobias Rho2787.33