A Definition, Overview and Taxonomy of Generic Aspect Languages
Le degré de réutilisabilité de nombreux langages aspect n'est pas aussi important que ce que l'on aurait pu espérer initialement. Dans cet article, nous montrons que le problème vient d'un support insuffisant pour la généricité. Par généricité des aspects, nous entendons la possibilité d'exprimer les effets variables des aspects en fonction du contexte des points de jonction sans avoir à utiliser la réflexivité à l'exécution. Pour atteindre cet objectif, nous pensons qu'un prérequis est la possibilité de paramétrer les effets des aspects avec des métavariables qui prennent leurs valeurs sur les éléments du langage de base. Nous décrivons la conception de langages aspect génériques à l'aide de cinq points qu'un concepteur doit prendre en compte. A partir de cela, nous passons en revue les propositions existantes et les classifions en fonction de ces points. Finalement, nous identifions les problèmes ouverts qui sont, soit spécifiques à la généricité des aspects, soit aggravés du fait de la généricité.
Many aspect languages do not provide the degree of aspect reusability initially hoped for. In this paper, we show that the problem stems from lacking support for genericity. Aspect genericity is the ability to express aspect effects that vary depending on the context of a join point, 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 existing proposals for generic aspect languages, and discuss which part of the possible design space they explore. Finally, we identify open problems they are specific to aspect genericity or aggravated in the presence of genericity.
G.KNIESEL, T.RHO
programmation orientée aspect, langage d'aspects génériques, généricité uniforme, généricité à grain fin.
Aspect-Oriented Programming, Generic Aspect Language, Uniform Genericity, Fine-Grained Genericity.
Anglais
|