L'action Romans conçoit et développe des systèmes
capables de représenter, stocker, gérer et inférer
des connaissances scientifiques et techniques décrites en alliant
à la fois le symbolique et le numérique.
Ces systèmes à base de connaissances reposent sur une
séparation explicite entre l’expression des connaissances et les
mécanismes d’exploitation de ces connaissances pour la résolution
de problèmes. Cette séparation permet, d’une part de faire
évoluer plus aisément les connaissances, d’autre part de
fournir des justifications sur les solutions obtenues et des explications
sur le processus de résolution. Ces systèmes rassemblent
et structurent des connaissances à la fois descriptives (sur les
entités du domaine concerné), fonctionnelles (sur le comportement
de ces entités), et prescriptives (sur les moyens de compléter
et caractériser ces descriptions).
Dans ce contexte, les thèmes de recherche de l'action Romans
s'articulent autour de la conception et la réutilisation de modèles
de connaissances adaptés aux domaines scientifiques et techniques,
ainsi que de l'étude des interactions avec ces modèles lors
des phases de conception et d'utilisation. Afin de réduire les coûts
de conception des modèles et de faciliter l'exploitation des modèles
existants, il convient d'adjoindre aux connaissances numériques
qui, classiquement, composent uniquement le modèle, des connaissances
de nature symbolique qui décrivent des informations (sur le contexte
d'utilisation, les hypothèses de validité, les choix de modélisation,
la précision des résultats, ...) que l'on ne trouve, au mieux, que dans
les spécifications et les documentations du modèle et non
associées
au modèle.
Ces connaissances symboliques peuvent donc être vues comme la
chair
du modèle. Ce sont elles qui vont permettre sa réutilisation
dans le but, soit de construire un modèle plus complexe intégrant
celui-ci, soit de l'utiliser dans un contexte différent.
L'approche choisie par l'action Romans pour développer des outils
de représentation de connaissances permettant le couplage du numérique
et du symbolique, s'appuie sur l'intégration de trois paradigmes
pour la modélisation et l'exploitation de connaissances :
-
Représentation de connaissances par objets
-
Relations
-
Langage de modélisation algébrique
Représentation de connaissances par objets : Il s'agit d'une
approche de représentation de connaissances centralisée autour
de la notion d'objet. Ici les connaissances sont exprimées à
l'aide de classes (qui dénotent des familles d'individus) et d'instances
(qui décrivent les individus eux-mêmes). Les classes sont
structurées en hiérarchies de spécialisation sur lesquelles
se greffe un mécanisme d'héritage qui fait hériter
à une sous-classe plus spécifique toutes les propriétés
de sa sur-classe qu'elle ne redéfinit pas. Des mécanismes
d'inférence sont proposés afin de compléter la connaissance
: valeur par défaut, classification, attachement procédural,
etc. La
classification est un mécanisme central qui détermine pour
une instance quel est l'ensemble des sous-classes de son actuelle classe
d'attachement auxquelles elle peut être attachée. L'attachement
procédural permet d'associer à une propriété
de la classe un code pour le calcul de sa valeur. L'action Romans prolonge
ici les études menées sur le sujet par le projet Sherpa dont
elle est issue.
Relations : Il s'agit ici de considérer les relations
ou associations entre objets comme des entités de représentation
à part entière (comme elles le sont dans les modèles
entités/relations ou les méthodes d'analyse et de conception
orientées-objets), et de leur accorder dans les modèles une
place d'importance égale à celles des classes. De ce fait,
il est possible de leur donner une sémantique particulière
et de traiter de manière aisée des relations entre objets
d'arités supérieure à deux. De même, il est
possible d'organiser les associations, comme les classes, en relation de spécialisation
afin de factoriser une connaissance qu'un mécanisme d'héritage
se chargera de diffuser. Ainsi, en choisissant de distinguer classes et associations
au sein d'un modèle, l'action Romans rapproche les systèmes
de représentations de connaissances par objets des méthodes
de modélisation en génie logiciel et, notamment, d'UML.
Langage de modélisation algébrique : Il s'agit
ici d'adjoindre à la représentation en termes de classes
et d'associations, un langage chargé de l'expression des connaissances
opérationelles présentes dans la base (définitions
algébriques de propriétés, contraintes) mais aussi
de requêtes. Initiallement introduits en Recherche Opérationnelle,
les langages de modélisation algébriques permettent de décrire
des modèles, systèmes d'équations et/ou de contraintes,
dans un formalisme proche des notations mathématiques. Ils
autorisent notamment l’utilisation de variables et d’expressions indicées,
de quantificateurs, d’opérateurs itérés, afin de former
des expressions telles que:
L'action Romans a une première expérience en matière
de langage de modélisation algébrique à travers l'atelier
de modélisation et de simulation AMIA.
Ainsi, couplé à des algorithmes de résolution
de systèmes d'équations et de propagation de contraintes,
ce formalisme unificateur ouvre les systèmes de représentations
de connaissances par objets vers la simulation.
L'intégration de ces trois paradigmes constitue l'approche choisie
par l'action Romans pour atteindre l'objectif fixé. Cette approche
est expérimentée et validée sur la plate-forme AROM.