Master 1 Informatique - UE TAG (Techniques d'Adaptation et de G�nie logiciel) - Universit� Grenoble 1 - UFR IMAG
Enseignant : Sara Bouchenak, Sara.Bouchenak@imag.fr
Conception et mise en oeuvre du tra�age de programmes avec AOP/AspectJ.
Les logiciels suivants sont n�cessaires au TP ; les installer s'ils ne sont pas disponibles dans votre environnement.
Les logiciels n�cessaires au TP sont �galement disponibles dans ~gautiesa/M1INFO/TAG/AOP/Soft/
D�finir les variables d'environnement suivantes :
JAVA_HOME
ASPECTJ_HOME
ANT_HOME
PATH (inclut JAVA_HOME/bin, ASPECTJ_HOME/bin, ANT_HOME/bin)
Exemple de fichier de commandes pour Unix/tcsh env-tcsh (soit ajouter ces commandes � votre fichier
~/.cshrc, soit ex�cuter la commande source env-tcsh).
Exemple de fichier de commandes pour Windows env-win.bat (ex�cuter la commande env-win.bat).
Ces fichiers sont disponibles dans ~gautiesa/M1INFO/TAG/AOP/Soft/
R�cup�rer le TP2 qui se trouve dans ~gautiesa/M1INFO/TAG/AOP/Project/TP2.tgz
Une application bancaire est donn�e dans Project/TP2/Basic :
Compiler et ex�cuter l'application puis naviguer dans son API et son code pour comprendre son fonctionnement :
Le r�pertoire Project/TP2/Logging_HandCoded/1_Methods contient une extension "programm�e � la main" de l'application bancaire pour la prise en compte d'un nouvel aspect : le tra�age des m�thodes de l'application.
Ce tra�age est bas�e sur la librairie Java standard java.util.logging.
Les classes qui ont plus particuli�rement �t� modifi�es sont les suivantes :
En vous inspirant de ce code, proposer une mise en oeuvre de l'aspect de tra�age de m�thodes en utilisant AspectJ.
Pour ce faire, copier le r�pertoire Project/TP2/Logging_Aspects et �crire l'aspect demand� dans Project/TP2/Logging_Aspects/aspects/logging/LogAspect.java :
Le r�pertoire Project/TP2/Logging_HandCoded/2_MethodsExceptions/ contient une extension "programm�e � la main" de l'application bancaire pour la prise de l'aspect de tra�age des exceptions de l'application (en plus du tra�age des m�thodes).
Les classes qui ont plus particuli�rement �t� modifi�es sont les suivantes :
En vous inspirant de ce code, proposer une mise en oeuvre de l'aspect de tra�age d'exceptions en utilisant AspectJ.
L'aspect demand� doit �tre ajout� � Project/TP2/Logging_Aspects/aspects/logging/LogAspect.java.
Le r�pertoire Project/TP2/Logging_HandCoded/3_MethodsExceptionsParams/ contient une extension "programm�e � la main" de l'application bancaire pour la prise de l'aspect de tra�age des param�tres des m�thodes (en plus du tra�age des m�thodes et des exceptions).
Les classes qui ont plus particuli�rement �t� modifi�es sont les suivantes :
En vous inspirant de ce code, proposer une mise en oeuvre de l'aspect de tra�age des param�tres de m�thodes en utilisant AspectJ.
Penser aux informations r�flexives fournies par AspectJ avec thisJoinPoint et thisJoinPointStaticPart.
L'aspect demand� doit �tre ajout� � Project/TP2/Logging_Aspects/aspects/logging/LogAspect.java.
Mise � part la librairie Java standard de tra�age (java.util.logging), d'autres librairies Java existent telles que org.apache.log4j propos�e par le projet log4j (http://logging.apache.org/log4j/).
Les principales diff�rences, du point de vue syntaxique, de org.apache.log4j par rapport � java.util.logging sont les suivantes :
L'�quivalent de l'appel de la m�thode java.util.logging.Logger.logp(Level.INFO, className, methodName, message) est l'appel de la m�thode org.apache.log4j.Logger.info(message)
L'�quivalent de l'appel de la m�thode java.util.logging.Logger.logp(Level.WARNING, className, methodName, message) est l'appel de la m�thode org.apache.log4j.Logger.warn(message)
De plus, log4j utilise un fichier de configuration appel� log4j.properties qui sp�cifie le niveau de tra�age d�sir�.
Voir les API de :
1- Modification de l'application bancaire pour l'utilisation de la librairie de tra�age log4j
Le r�pertoire Project/TP2/Logging_HandCoded/4_MethodsExceptionsParametersLog4j/ contient initialement une extension "programm�e � la main" de l'application bancaire pour le tra�age des m�thodes, des exceptions et des param�tres ave le logging Java standard.
Modifier cette extension pour remplacer l'utilisation de la librairie standard Java de tra�age par la librairie log4j.
La librairie log4j.jar est d�j� disponible dans Project/TP2/Logging_HandCoded/4_MethodsExceptionsParametersLog4j/lib ; vous ne devez que modifier la mise � jour de votre application pour la prise en compte de cette nouvelle librairie.
2- Modification de l'aspect pour l'utilisation de la librairie de tra�age log4j
Modifier l'aspect pr�alablement �crit (Project/TP2/Logging_Aspects/aspects/logging/LogAspect.java) pour le remplacement de la librairie standard Java de tra�age par la librairie log4j.
La librairie log4j.jar est d�j� disponible dans Project/TP2/Logging_Aspects/lib/ ; vous ne devez que modifier la mise � jour de votre aspect pour la prise en compte de cette nouvelle librairie.
3- Comparaison de l'impact des deux modifications du point de vue programmation
Un compte-rendu global sur les TP 2, 3 et 4 est � rendre lors de la s�ance de
d�monstration.
Voir ici pour plus d'informations.