[back]
Dans l’équipe “Intelligence Artificielle et Systèmes Experts (dirigée par G. Comyn), mes travaux ont porté sur l’application des techniques de systèmes experts au domaine de la CAO électronique. Cette étude a mis en avant l’intérêt de l’approche orientée objet pour les activités de conception. Nous avons proposé un mode de représentation multiple et évolutive d’objets structurée en points de vue. La technique de représentation repose sur une stratégie d’héritage multiple par points de vue originale. Un langage (ROME pour "Représentation d’Objet Multiple et Évolutive par points de vue") a été conçu sur la base d’un noyau métacirculaire à la ObjVlisp de P. Cointe. Ces travaux se poursuivent ensuite au sein de l’équipe GOAL (Groupe Objets et Acteurs de Lille) créée alors avec J-M. Geib et E. Delattre.
Le langage de représentation de connaissances FROME adapte et enrichit les objets de ROME (par méta-extension) pour les structures d’objets plus complexes que sont les “frames". La représentation par points de vue permet d’associer plusieurs représentations (intensions) à une même entité (le référent, d’extension unique dans le monde réel). Au niveau exploitation, un système de classification est proposé, en tant que mécanisme de raisonnement privilégié sur les représentations des connaissances par objets. Ce travail a fait l’objet de la thèse de Lenneke Dekker et de notre participation au groupe “Classification et objets” du PRC-GDR IA.
Nous avons étudié ici la conception d’objets complexes intervenant dans des contextes applicatifs multiples. Dans une approche exclusivement orientée objet il est souvent difficile de concevoir et de circonscrire les différentes fonctions de l’application. C’est la problématique de la programmation par aspects (AOP, Aspect Oriented Programming) ou par sujets (Subject Oriented Programming). L’étude porte sur la double décomposition, orthogonale d’un système, en objets et en fonctions pour tirer profit conjointement de leurs qualités structurantes. CROME (Contextes en ROME) propose une conception modulaire par plans qui systématise la programamtion par points de vue au niveau de granularité plus élevé des fonctions transversales d’un système. Deux prototypes d’outils ont été développés et expérimentés en ROME (par systématisation de la technique des points de vue) et en Smalltalk (par systématisation de la technique des catégories STK). Ce travail a fait l’objet de la thèse de Gilles Vanwormhoudt et s’inscrit dans le pôle objets du GDR Programmation puis ALP.
Une étude des méthodologies de conception et de fédération des systèmes d’information (en collaboration avec Olivier Caron de l’Université d’Artois) d’une part, des techniques de vues dans les bases de données à objets d’autre part a permis d’aboutir à la conclusion suivante. Le cadre CROME permet de concevoir originalement un système d’information autour d’un référentiel d’objets communs sur lequel viennent s’apposer des schémas vues. Chaque schéma vue adapte spécifiquement ces objets, d’identité invariante, pour un contexte (fonction) particulier de l’organisation sous-jacente. Les problèmes d’interaction entre contextes, de containtes d’intégrité et de détermination des extensions contextuelles qui s’en déduisent sont traités. Ce travail a fait l’objet de la thèse de Laurent Debrauwer. Un prototype CromeJava a été réalisé et permet de concevoir un système d’information, dans un formalisme compatible ODMG 2.0, puis de générer le code java pour un SGBD objet cible.
[back]