~ / M2PGI / IHM / tps / doc /

introspact

© 2007—2008 - Renaud Blanch

Ce document présente l'outils introspact qui permet d'explorer, à l'exécution, une hiérarchie d'agents PAC.

Présentation

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.

Affichage de l'arbre d'agent

L'agent PV = nRT suivant :

% source ./TP1/6-switch.tcl
% Formule formule
sera ainsi “introspacté” en utilisant la classe Introspact définie dans introspact.tcl :
% source introspact.tcl
% Introspact introspact formule

Introspection des facettes

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.

Visualisation des communications

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 :

Manipulation de l'introspacteur

Un object Introspact peut être “détaché” ou “attaché” dynamiquement :

% introspact detach
% introspact attach formule
% introspact attach introspact
La 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