INDEX
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.5 Utilisation de
la fonctionnalité « Debug »
2.5.1 Lancer les
jvms en mode debug
2.5.2 Passer en
perspective JavAct Debug
2.5.3 La
perspective JavAct Debug
1.1. Prérequis
Vous devez avoir installé un
JRE 1.4.2 (http://java.sun.com/j2se/1.5.0/download.jsp)
Vous devez avoir installé
Eclipse 3.1 (http://www.eclipse.org/downloads/)
Dézippez le fichier JavAct.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.
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 permet
de générer automatiquement les classes QuasiBehavior
et JAM des acteurs (javactgen)
ainsi que le squelette de la classe principale codant les méthodes exécutables
par les acteurs.
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 quasiBehavior
les JAM 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 la JVM qui lui correspond, et la fermeture de la vue ferme
toutes les JVM lancées du projet.
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 la JVM qui lui correspond, et la
fermeture de la vue ferme toutes les JVM lancées du projet.
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.
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.5 Utilisation de la fonctionnalité « Debug »
2.5.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.5.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.5.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.5.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.