Comparaison des modèles Détection (partie 2)
..l’étude (Figure IV.1) porte dans un premier temps sur la présentation des mécanismes de comparaison des modèles terrain et attendu entre eux, puis sur l’étude des résultats de la comparaison effectuée afin de pouvoir qualifier l’amplitude de la différence entre les deux modèles. En effet, la comparaison des modèles ne peut s’arrêter à la simpledétection d’une différence. Il faut également analyser en profondeur les causes de cette différence, afin de pouvoir en recueillir la connaissance nécessaire pour, plus tard, diriger une adaptation des processus collaboratifs qui soit la plus pertinente possible compte tenu de la caractérisation de la situation collaborative à l’instant t. Pour cela, nous allons dans un premier temps préparer les modèles de la situation, i.e. retirer toutes les données superflues et réorganiser les données (afin de faciliter le travail de détection). Cette préparation des modèles va être effectuée via deux transformations XSL (exécutées l’une à la suite de l’autre). Ensuite, nous allons définir notre méthode de calcul de la divergence δ, qui passe par la mise en place de matrices de coût —au sens de poids, weight— de l’opération w (ajout, suppression, modification) et d’importance m (pour qualifier un élément du modèle par rapport aux autres issus du même concept). Enfin, nous détaillerons les mécanismes des algorithmes permettant la détection des différences et le calcul de la divergence δ.
Comparer les modèles terrain et attendu entre eux implique de s’intéresser au contenu des modèles d’un point de vue technique, c’est-à-dire de se pencher sur le format et la façon dont les données sont écrites dans les fichiers XML des modèles. Afin de faciliter le travail de comparaison des modèles, nous allons retirer toutes les données qui ne sont pas pertinentes des fichiers XML correspondants. Les modèles terrain et attendu sont issus à l’origine de la duplication du modèle initial de la situation. Ce dernier étant réalisé via un modeleur graphique, le fichier du modèle contient non seulement les données du modèle lui-même, mais aussi toutes les informations nécessaires à la représentation graphique du modèle. Nous avons vu en Section III.3.3.2 que le modeleur prenait en charge le retrait de ces informations là. Nous travaillons donc sur des modèles exempts de données concernant l’interface graphique. ent du fait que ces deux modèles sont issus de la duplication du modèle initial de la situation collaborative et qu’ils sont tous les deux issus du même méta-modèle (l’ensemble de la grammaire XML définie par la mise en oeuvre du méta-modèle appartient au même espace de nom). Il n’est donc pas nécessaire de conserver ces informations sur les espacesde noms, afin de ne pas gaspiller de ressources dans le traitement de la détection de différence. De plus, l’organisation des données à l’intérieur des fichiers XML ne nous permet pas d’optimiser notre traitement de la détection des différences (et de le rendre générique pour qu’il s’applique à des workflows collaboratifs autres que ceux de la réponse à la crise). Pour cela nous allons réaliser deux transformations XSL : la première a pour but de retirer les données superflues, la seconde réorganise les données d’une façon plus exploitable pour réaliser la comparaison des modèles.
Avant de détailler la réalisation des deux transformations XSL, nous allons effectuer un bref rappel de ce qu’est XSL et avoir un aperçu des outils disponibles pour réaliser les transformations (dans le cadre d’une programmation en langage Java).Comme son nom l’indique, le langage XSLT ne sert pas uniquement de langage de feuille de style. Il est aussi un très puissant manipulateur d’éléments. Il permet de transformer un document XML source en un autre, permettant ainsi, à l’extrême, d’en bouleverser la structure. C’est ce que l’on appelle des transformations XSL ou XSLT. Le fonction- nement du XSLT est fondé sur les manipulations de modèles (templates). Les éléments du document XML d’origine sont remplacés (ou modifiés) par ces modèles. Un modèle contient ainsi le texte (éléments, attributs, texte…) de remplacement d’un élément donné.Tout élément pouvant être remplacé dans le fichier de sortie par tout type de contenu texte, XSL est un outil privilégié de production de fichiers XML ou HTML à partir de sources XML. PHP fait ainsi appel à des bibliothèques de procédures de type XSL comme libxslt quand il doit gérer l’interface avec des bases de données XML. Java propose aussi plusieurs implémentations de XSLT à travers ses bibliothèques, telles que..