Intérêt d’UML pour la représentation des connaissances

UML est un langage formel défini par l’Object Management Group. Ce métamodèle (MOF : Meta-Object Facility) décrit de manière très précise tous les éléments de modélisation (les concepts véhiculés et manipulés par le langage) et la sémantique de ces éléments (leur définition et le sens de leur utilisation). Il permet aussi de classer les différents concepts du langage (selon leur niveau d'abstraction ou leur domaine d'application) et expose ainsi clairement sa structure.

Aussi, UML est un support de communication performant qui facilite la représentation et la compréhension des concepts grâce à sa notation graphique (diagramme de classes par exemple). L'aspect formel de sa notation limite les ambiguïtés et les incompréhensions. La puissance et l'intérêt d'UML, c'est qu'il normalise la sémantique des concepts. “ Il représente un juste milieu entre langage mathématique et langage naturel, pas trop complexe mais suffisamment rigoureux, car basé sur un métamodèle. ”[Ketani, 1999].

UML propose un certain nombre de diagrammes pour décrire le système étudié:

Figure 20 : Diagramme de classe représentant les 9 diagrammes UML [Muller, 1997]
Figure 20 : Diagramme de classe représentant les 9 diagrammes UML [Muller, 1997]

C’est dans le cadre du projet européen ESPRIT que UML a été pour la première fois utilisé pour la représentation des connaissances. En effet, le MOKA Modeling Langage (MML) basé sur UML a été conçu pour représenter les connaissances de conception industrielle pour le déploiement des applications KBE (Knowledge Based Engeneering).

Dans ce projet, il est utilisé pour deux raisons essentielles :

Nous avons repris les éléments de connaissance liés à la recommandation du transport de stylos feutres pour illustrer l’utilisation d’un diagramme d’état-transition.

Figure 20 : Exemple de fiche de connaissance avec un Diagramme d’états/transition et un diagramme de collaboration sur l’effet de fuite d’un stylo [Buzon et al, 2003]
Figure 20 : Exemple de fiche de connaissance avec un Diagramme d’états/transition et un diagramme de collaboration sur l’effet de fuite d’un stylo [Buzon et al, 2003]

Ces diagrammes sont complétés par un langage déclaratif qui décrit les contraintes ou les règles d’application. Ce langage formel, OCL (Object Constraint Language), est volontairement simple d'accès et possède une grammaire élémentaire qui peut être interprétée par des outils informatiques.

OCL représente un juste milieu, entre un langage naturel et un langage mathématique. OCL permet ainsi de limiter les ambiguïtés, tout en restant accessible. 

OCL permet de décrire des invariants dans un modèle, sous forme de pseudo-code :

Ci-dessous, nous pouvons donner un exemple de OCL pour la description d’un diamètre intérieur de bouchon :

Les apports d’UML pour la représentation de connaissances sont nombreux [Cranfield, 2001]:

Il est également intéressant pour notre problématique :

Avec ce point de vue, UML peut être considéré comme un candidat approprié pour la représentation de la connaissance.