_____________________
Objet
Dans le cadre du projet InterViews, nous souhaitons étudier et développer des composants logiciels actifs capables de représenter leur propre fonctionnement et de raisonner dessus. Notre objectif est de munir les traces d'exécution de ces composants d'éléments procéduraux pour former les chroniques[2] : pour chaque action du composant, nous construisons un modèle de la situation dans laquelle elle se produit et nous enregistrons ces situations dans les chroniques. Celles-ci sont ensuite intensionnalisées, ce qui permet, d'une part, de les avoir sous une forme compacte et, d'autre part, de mettre en évidence les régularités dans les flots d'événements. Nous pouvons alors interroger ces chroniques à l'aide de requêtes.
Description
Dans cette étude, les composants actifs sont des vues, décrites dans le langage VDL (pour View DesignLanguage). La syntaxe du langage VDL repose sur la notion de termes et de sous-termes. La figure 2 donne un exemple simple de vue : un compteur que l'utilisateur peut arrêter ou réactiver au moyen d'événements externes. La sémantique opérationnelle des vues est fondée sur celle des algèbres évoluantes de Gurevich et sur la notion d'observateur : la fonction d'exécution recherche dans la vue à l'instant t (vuet) des termes particuliers et, en fonction de ces termes, construit la vue à l'instant t+1 (vuet+1).
Considérons une vue composée de sous-termes. Soit t un terme de la vue. Pour chaque action modifiant t, nous enregistrons les critères suivants : le terme parent de l'action (who), l'action (what), sa précondition s'il s'agit d'une action complexe (why), sa date (when)et le résultat (res). La donnée de ces cinq critères constitue une situation. Chaque situation est enregistrée dans une ligne de la chronique en extension de t, comme le montre la figure 3.
Ces chroniques sont ensuite intensionnalisées afin d'en disposer de manière plus compacte et de dégager des régularités dans les occurrences d'événements.
Cette intensionnalisation se fait en trois étapes :
1. Nous regroupons les lignes ayant même who, what et why (il s'agit d'une même action).
2. Les listes de valeurs when et res sont alors intensionnalisées par une fonction .
3. La chronique compacte obtenue, vue comme un tableau attribut-valeur, est transformée en chronique intensionnelle à l'aide de l'algorithme d'apprentissage ID3 (cf. figure 4).
Ce procédé
d'intensionnalisation est détaillé dans [1].
Enfin, il est possible de poser des requêtes sur la chronique en intension d'un terme donné. Ces requêtes portent sur les cinq critères (who,what, why, when, res) dont la valeur peut être connue (donnée par l'utilisateur), indifférente (elle sera ignorée) ou recherchée (demandée par l'utilisateur). Le résultat d'une requête est une chronique en intension donnant les actions correspondant à la requête. La figure 5 donne un exemple de requête et de réponse possible.
Résultats et perspectives
Les travaux présentés ici sont encore limités et nous souhaitons les étendre afin d'arriver à extraire un << comportement du composant >> à partir des chroniques. Cela nous conduira à terme à avoir une approche hybride de raisonnement sur le fonctionnement, fondée sur l'utilisation de modèles statiques sur les chroniques construites dynamiquement [3].
Références
[1] N. Sabouret : << Représentation de l'information
temporelle pour des agents dialogiques >>, mémoire de DEA, LRI, 1999.
[2] N. Sabouret & J.P. Sansonnet : << Un modèle de raisonnement sur les
systèmes évolutifs fondé sur l'intensionnalisation de chroniques >>.
Proc.RFIA 2000, 2:305-314, 2000.
[3] J.P. Sansonnet : << Magenta : représentation intensionnelle des
interactions pour le raisonnement causal dans les SMA >>. Proc.
JFIADSMA'99, 1999.
[4] J.P. Sansonnet : << Description Scientifique
du projet Interviews >>. Rapport interne, LIMSI 99-01, 1999.
Gpe Langage et Cognition |
| Dpt CHM |
|
Sommaire
|
| Présentation |
|
---|