Une des premières tâches a été de définir un modèle abstrait et formel pour les langages à classes comme C++, Eiffel, Smalltalk ou CLOS. Ce formalisme, dit des classes formelles, est destiné à la conception plus abstraite qu'avec les langages de programmation courants. Le modèle est toujours en constante amélioration, plusieurs publications sur ses divers aspects ont été faites[AR94,ACR94,ACCR94]. Parmi ses points forts : nous disposons d'un modèle algébrique avec évaluation par réécriture de termes [Poi95] et d'un emploi assez strict mais conforme aux habitudes de programmation en objets. Récemment nous avons abordé le contrôle de type, nous avons défini un système de contrôle sûr et montré les diverses alternatives viables tout en gardant des règles naturelles pour le programmeur [CCR95].
La deuxième tâche est la mise au point d'un formalisme plus abstrait
et mieux adapté à la spécification de haut niveau d'un système.
Ce formalisme dit des types abstraits graphiques associe de façon
cohérente le comportement dynamique (automate gardé)
et une description fonctionnelle (type abstrait algébrique) du système.
L'avantage est de disposer d'un formalisme visuel facilement
compréhensible et d'outils facilitant l'écriture de la
spécification algébrique à partir de l'automate.
Cet aspect a été le sujet de thèse de Pascal André [And95],
il a aussi montré comment on pouvait concevoir les types abstraits
graphiques en classes formelles.
Un certain nombre d'outils ont été développés : éditeurs de TAG et de CF, traducteur de CF en Smalltalk et en Eiffel et une plate-forme générale permettant le support des précédent concepts [AR95,And95].
Le dernier point de notre travail concerne l'utilisation de ces
concepts dans un cadre de développement plus réaliste.
Le schéma général des différentes phases est décrit dans la
figure 2.4.4 :
Une première approche a été tenté en utilisant pour l'analyse
préliminaire la méthode OMT dont le principal défaut est
sûrement un manque de rigueur et de contrôle dans la démarche.
Cette expérimentation a été faite en collaboration avec Franck Barbier
spécialiste des méthodes à objets et de leur application dans un contexte
industriel [ABR95].
Pour poursuivre ces expérimentations nous avons obtenu un contrat (financement : Plan Etat-Région-FEDER-Ville d'Angers-Département d'Angers) avec des laboratoires régionaux. Ce projet concerne la gestion de production et est piloté par le CRITT pays de Loire Productique. Notre travail consiste à développer un prototype du système en utilisant la technologie à objets. Ce projet vient de démarrer on ne pourra en tirer quelques conclusions que fin 1997.
figure=phase.eps,height=10cm
Chaîne de développement