Master 1 Informatique - UE TAG (Techniques d'Adaptation et de G�nie logiciel) - Universit� Grenoble 1 - UFR IMAG


Aspect-Oriented Programming / AspectJ

Enseignant : Sara Bouchenak, Sara.Bouchenak@imag.fr


TP 2 : Tra�age de programmes

  1. Objectif
     
  2. Environnement logiciel
     
  3. Application bancaire
     
  4. Etapes du TP
    (a) Tra�age de m�thodes
    (b) Tra�age d'exceptions
    (c) Tra�age de param�tres de m�thodes
    (d) Utilisation d'une nouvelle librairie de tra�age
     
  5. Compte-rendu global

1. Objectif

Conception et mise en oeuvre du tra�age de programmes avec AOP/AspectJ.

2. Environnement logiciel

Les logiciels suivants sont n�cessaires au TP ; les installer s'ils ne sont pas disponibles dans votre environnement.

Logiciels

Les logiciels n�cessaires au TP sont �galement disponibles dans ~gautiesa/M1INFO/TAG/AOP/Soft/

Variables d'environnement

D�finir les variables d'environnement suivantes :

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/

3. Application bancaire

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 :

4. Etapes du TP

(a) Tra�age de m�thodes

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 :

(b) Tra�age d'exceptions

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.

(c) Tra�age de param�tres de m�thodes

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.

(d) Utilisation d'une nouvelle librairie de tra�age

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 :

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

5. Compte-rendu global

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.