© 2007—2008 - Renaud Blanch
Ce document présente l'outils introspact qui permet d'explorer, à l'exécution, une hiérarchie d'agents PAC.
Introspact est un outil qui permet d'explorer une hiérarchie d'agents PAC pendant leur vie. Il permet d'observer leur état et de visualiser les appels de méthodes entre agents.
L'agent PV = nRT suivant :
% source ./TP1/6-switch.tcl % Formule formulesera ainsi “introspacté” en utilisant la classe
Introspact
définie dans introspact.tcl
:
% source introspact.tcl % Introspact introspact formule
On peut obtenir des informations sur chaque agent en cliquant dessus, par exemple en cliquant sur l'agent racine formule
:
La première section de cet fenêtre présente les attributs de l'instance en montrant leurs noms et leurs valeurs (ces dernières étant mises à jour dynamiquement quand la fenêtre est ouverte).
La seconde section donne l'ensemble des méthodes de l'instance, en les groupant par la classe d'où elles proviennent.
Les paramètres de ces méthodes sont rappelés en gris.
Enfin, la section delay permet d'activer (case à cocher) et de paramétrer (index à déplacer) une temporisation qui permet de ralentir l'animation montrant les appels de méthodes.
Cette temporisation vaut pour l'objet et ses descendants dans l'arbre d'agents PAC.
Si un descendant définit aussi une temporisation, cette dernière remplace celle de son ancêtre.
Lorsqu'une méthode est appelée sur un agent, les appels sont matérialisés sur l'arbre des agents de la fenêtre principale en rendant ainsi visible toute la pile des appels :
Un object Introspact
peut être “détaché” ou “attaché” dynamiquement :
% introspact detach % introspact attach formule % introspact attach introspactLa première ligne détache l'introspacteur de la formule, la second le rattache. La dernière ligne l'attache à lui-même. Introspact étant programmé en PAC, il peut en effet s'observer lui-même sans problème particulier.
mise à jour : 12 novembre 2007