Version du plugin : 1.2.4
Version du manuel : 3.0
Nicolas Samson (2.0) – 25/01/06
Révisé par Jean-Paul Arcangeli et
Sylvain Rougemaille (3.0) – 08/01/08
INDEX
1.3. Désinstallation
du plugin
2.1 Création d’un
projet JavAct
2.2.1. Les options
de génération
2.3.2 Tester le bon
fonctionnement des JVM
2.4 Lancement de
l’exécution d’un projet
2.4.3 Exécution répartie
2.6 Utilisation de
la fonctionnalité « Debug »
2.6.1 Lancer les
jvms en mode debug
2.6.2 Passer en
perspective JavAct Debug
2.6.3 La perspective
JavAct Debug
1.1. Prérequis
Vous devez avoir installé un JRE 1.4.2 ou une version
ultérieure (http://java.sun.com/j2se/1.5.0/download.jsp)
Vous devez avoir installé Eclipse 3.2 ou 3.3 (http://www.eclipse.org/downloads/)
Dézippez le fichier JavAct.V.1.2.4.zip dans le dossier eclipse
créé lors de l’installation d’Eclipse. Redémarrez Eclipse, le plugin est
installé !
Vous pouvez vérifier son installation en allant dans
Help/About Eclipse SDK/Plugin Details, le nom du
plugin devrait figurer dans la liste.
NB : si une version précédente est déjà installée
la désinstaller (cf. 1.3), pour reprendre les projets existants se référer à la
partie 2.5.
1.3.
Désinstallation du plugin
Dans le dossier plugin du dossier eclipse
créé lors de l’installation d’Eclipse, supprimer le dossier JavAct_1.2.4. Si
cela n'a pas déjà été fait, on peut supprimer le fichier JavAct.V.1.2.4.zip
dans le dossier eclipse.
2.1 Création
d’un projet JavAct
Eclipse fournit une liste d’assistants de création de
projet à laquelle a été ajouté un assistant de création de projet JavAct qui permet d’inclure automatiquement au projet la
librairie javact.jar ainsi que les fichiers places.txt et awfullPolicy
permettant la configuration des machines virtuelles lancées pour accueillir les
acteurs.
Pour accéder à cet assistant, il suffit de faire un
clic droit dans la vue package explorer et de cliquer sur New/Project…
Apparaitra alors une fenêtre dans laquelle il sera possible de sélectionner un
« JavAct Project ».
Une fois dans l’assistant seul le nom du projet est
indispensable à la création de celui-ci, cependant beaucoup d’autres options
communes à tout projet java peuvent être choisies et définies.
A la fin de l’assitant,
celui-ci vous demande si vous voulez basculer dans la perspective JavAct, si vous répondez par l’affirmative vous aurez
accès, en plus des options habituelles, à toutes les options propres à JavAct. La suite de ce manuel suppose que vous êtes dans la
perspective JavAct.
Un projet JavAct se comporte
comme tout autre projet dans Eclipse, on peut donc utiliser toutes les
fonctionnalités d’Eclipse afin d’y créer des classes java, les éditer les
compiler, etc…
2.2.1. Les options de
génération
La génération de code (javactgen)
permet de générer automatiquement les classes de type XxxQuasiBehavior
(classes abstraites des comportements, codant les méthodes exécutables par les
acteurs), JAMxxx et JSMxxx
(classes pour les messages), ainsi que le squelette de la classe principale.
Afin de laisser à l’utilisateur la possibilité de
générer ces fichiers dans des packages différents une fenêtre de configuration
est disponible, soit dans le menu déroulant du bouton JavActGen
ou alors dans le menu JavAvact de la barre de menu,
sous le nom « Configure JavActGen ». Dans
cette fenêtre il est possible de positionner toutes les options existantes pour
la génération de code.
Une fois les options de génération de code saisies, on
peut lancer la génération. Celle-ci s’effectue grâce au bouton « JavActGen » de la barre d’outils ou dans le menu JavAct de la barre de menu. La génération crée les classes XxxQuasiBehavior, JAMxxx et JSMxxx ainsi qu’un squelette pour les méthodes principales.
Des messages relatifs aux différents traitements effectués lors de la
génération s’affichent dans la console.
2.3.
Gestion des JVM
Tout projet JavAct contient
à sa racine un fichier « places.txt » celui-ci est éditable et
contient toutes les destinations sur lesquelles l’utilisateur souhaite faire
fonctionner ses acteurs. Il est donc possible de lancer des JVM sur ces places
afin d’accueillir ces acteurs. Pour cela il suffit de cliquer sur le bouton de
la barre d’outils appelé « Launch JVM on the localhost ». Ce bouton ouvre une nouvelle vue au nom
du projet courant dans laquelle les JVM sont lancées (seules les JVM sur les
places locales sont lancées), une JVM correspondant à un onglet de la vue.
A tout moment la fermeture d’un onglet ferme
2.3.2 Tester le bon
fonctionnement des JVM
Le bouton « test the JVM of places.txt »,
situé dans le menu déroulant du bouton de lancement des JVM, permet de tester
si des JVM sont lancées sur chacune des places du fichier places.txt (locales
ou distantes). En réalité ce test vérifie uniquement si le port est occupé sur
la machine en question, il n’est donc pas garanti que ce soit un JVM qui occupe
cette place.
Ce test permet notamment de vérifier si une place
distante est prête à accueillir des acteurs.
Pour fermer les JVM d’un projet il suffit de cliquer
sur le bouton « Kill JVM on the localhost », situé dans le menu déroulant du bouton de
lancement des JVM. Celui-ci tue toutes les JVM du projet courant qui on été
lancé à partir du bouton de lancement des JVM et qui sont encore lancées.
Et comme expliqué précédemment, la fermeture d’un
onglet ferme
De même à la fermeture d’Eclipse toutes les JVM
éventuellement encore lancées sont fermées.
2.4
Lancement de l’exécution d’un projet
2.4.1 Le run
Il est possible de tester l’exécution d’un projet JavAct en sélectionnant la classe du projet principale
(celle qui contient le main) et en faisant un « run ».
Une nouvelle fenêtre s’ouvre alors et il est possible de lancer le projet en
tant que projet JavAct en double cliquant sur « JavAct Launcher ». Apparait alors
plusieurs onglets de configuration du run.
2.4.2 L’onglet
« Arguments »
La plus part des onglets du run
sont identiques à ceux d’un projet java classique, sauf l’onglet
« Arguments ». Celui-ci permet notamment de passer à la machine
virtuelle des arguments tels que le codebase et de
placer la variable d’environnement EXECUTION_DOMAIN.
Afin de ne pas avoir à saisir ces information à la
main il est possible de sélectionner le bouton « run
a network application », cela aura pour effet de remplir les arguments de
la machine virtuelle correctement pour un lancement sur des places ayant toutes
accès au codebase situé en local sur la machine. Bien
évidemment il est possible de modifier ces options à la main.
Il est de plus possible de demander un test des JVM de
places.txt (cf. 2.3.2.) avant l’exécution du code afin de s’assurer que les
places que l’on compte atteindre sont bien prêtes à l’accueil des acteurs.
2.4.3 Exécution répartie
Il est impossible de lancer
de JVM sur une machine distante depuis le plugin. Le cas échéant, il faut
lancer
Lors de l’installation d’une nouvelle version du plugin
les références faites à la bibliothèque JavAct
(javact.jar) doivent être mises à jour. Pour chaque projet il suffit de
reconfigurer le build path
afin de référencer la dernière version de la bibliothèque. Faire un clic droit
sur le projet en question choisir le menu « Build
path » puis « Configure build
path… »
Editer les propriétés de la
bibliothèque javact.jar afin que celle-ci pointe bien sur le fichier :
« …/eclipse/plugin/JavAct_<n° de
version>/lib/javact.jar »
(ou <n° de version> est le numéro
de la dernière version installée).
NB : si des erreurs de
compilations subsistent, il faut vérifier que les chemins d’accès aux classes
de la bibliothèque javact définis dans les imports correspondent
bien à ceux de la bibliothèque installée. Si ce n’est pas le cas il suffit
d’utiliser l’outil « organize imports » du
JDT (clic droit sur le projet menu « Source » puis « Organize imports »).
2.6
Utilisation de la fonctionnalité « Debug »
ATTENTION : La fonctionnalité Debug
a été développée à titre expérimental et elle n'est pas maintenue. Elle n'offre
donc aucune garantie de bon fonctionnement.
2.6.1 Lancer les jvms en mode debug
Pour utiliser la fonctionnalité debug
il faut lancer une exécution de notre application en utilisant des jvm en mode debug. Pour ce faire
il faut éditer le fichier « places.txt » afin de spécifier les jvms à lancer en mode debug. La
chaîne de caractère « debug » doit être
écrite comme sur l’image :
Ensuite il faut lancer les jvms
de la même manière que pour une exécution normale. Les jvm
lancées en mode debug affichent alors dans leur
fenêtre le texte « This JVM is launched in debug mode » :
2.6.2 Passer en perspective JavAct Debug
Comme pour toutes les
perspectives d’Eclipse, il est possible de passer dans la perspective JavAct Debug directement par le menu des
perspectives, cependant pour ce passage la perspective JavAct
propose un bouton permettant de passer dans cette perspective et de construire
les éléments utiles au debug. Pendant l’execution de l’application, le plugin recueille des
informations nécessaires au rejeu de cette
application. Le bouton debug permet ensuite de
visualiser ces informations :
2.6.3 La perspective JavAct Debug
Cette perspective possède trois vues au minimum qui
permettent de rejouer l’exécution qui a été effectuée :
La vue de gauche permet de visualiser les différentes
places sur lesquelles s’est réalisée l’application. Ces places peuvent être
sélectionnées afin de les afficher dans la vue centrale qui affiche plus de
détails.
Cette vue centrale regroupe donc toutes les places
cochées dans la vue de gauche et elle spécifie pour chaque place les acteurs
présents et diverses informations concernant la jvm
associée.
Les évènements qui lui sont liés à une des places
affichées peuvent être affichés dans une vue « Event » spécialement
dédiée à cette place en cliquant sur le bouton « Show ». La même
chose peut être faite avec les acteurs en cliquant droit et en choisissant
« Show/Hide Actor
Event Console ». D’autres actions sont également disponibles sur les
acteurs. Il est possible de changer leur nom et de choisir de ne pas les
afficher dans la vue « Event View » en les
décochant (ils sont tous cochés par défaut).
Les vues situés en bas affichent les évènements qui
ont eu lieu durant l’exécution. Il y a la vue « Event View »
de base, qui ne peut pas être fermée puis d’autres vues concernant seulement un
acteur ou une place peuvent venir s’ajouter.
Dans les vues « Event » situées en bas, le
code couleur est le suivant :
Vert pour la création d’un acteur
Rouge pour le suicide d’un acteur
Violet pour le changement de comportement d’un acteur.
Bleu pour les autres actions effectuées par un acteur.
La première information apparaissant sur la ligne
correspond au numéro de l’évènement sur le nombre total d’évènements. Ensuite
la date de cet évènement, la place où il a eu lieu, le type d’acteur et
d’autres informations dont il est possible de paramétrer l’affichage.
2.6.4 Les actions debug
La perspective JavAct Debug possède un set d’actions permettant
différentes interactions avec l’affichage et le déroulement du rejeu.
La flèche verte permet de faire dérouler toute
l’application. Tous les évènements vont alors défiler dans les consoles
d’affichage et la vue centrale va se mettre à jour à chaque évènement.
La flèche jaune permet de rejouer l’exécution pas à
pas. Par défaut un évènement est joué à la fois.
Il est ensuite possible de modifier ce paramètre et de
choisir de jouer 1, 5, 25 ou 100 évènements à la fois. Ceci se paramètre grâce
au troisième bouton.
Le
bouton reset permet de reprendre l’exécution au début. Les options d'affichage
ainsi que les places sélectionnées sont conservées.
Enfin il est possible de choisir quelles informations
doivent être affichée dans les vues « Event». Ainsi seules les
informations cochées seront affichées et les informations jugées inutiles
pourront être retirées.