CONCLUSION GENERALE
L'expérience de la réalisation de bases de données d'ingénierie dans le cadre de la filière composite à l'Aérospatiale (le fichier référence) et de la production de dessins animés (le projet animation 2000), nous a permis de tirer un certain nombre d'enseignements.
Elle nous a essentiellement permis de montrer l'intérêt de l'utilisation de systèmes de gestion de bases de données objets pour la réalisation de base de données d'ingénierie. En effet, en rassemblant toutes les informations utiles à l'ensemble des activités de l'entreprise, ce système de gestion des données techniques peut alors devenir un des principaux outils d'intégration du système productique.
Elle nous a également permis de valider une démarche d'analyse et de conception basée à la fois sur une modélisation du système productique et sur les concepts de l'approche objet.
Modélisation des systèmes productiques
La comparaison et l'analyse en terme de filière technologique de la fabrication de pièces composites à l'Aérospatiale et de la production de dessins animés dans l'industrie cinématographique a montré la similitude de ces deux processus industriels. Cette analyse, conduite en utilisant une approche inspirée des concepts du modèle CIM-OSA nous a permis de définir quatre grandes vues de ces processus : la vue fonction, la vue information, la vue ressource et la vue organisation.
· La vue fonction, nous a permis de définir les grandes activités du processus industriel, depuis les étapes de conception, jusqu'à la fabrication et au montage final. Elle nous a également permis d'identifier les différents postes de travails.
· La vue information, en faisant la synthèse de toutes les données utilisées et manipulées par les différentes activités recensées, nous a permis de déboucher sur la notion de modèle complet de la filière : réunion de l'ensemble des informations ou connaissances nécessaires pour réaliser un produit.
· La vue ressource, nous aura permis d'approfondir la notion de modèle complet, en identifiant plus précisément le type des données (données internes ou externes au produit), d'identifier les données partagées (débouchant sur la notion de banque de composants), et de préciser la façon donc ces données sont utilisées entre les différents postes de travail (par référence, par copie, ou par génération à partir d'un modèle).
· La vue organisation, nous a enfin permis, à partir des vues précédantes, de définir l'architecture générale du système, en précisant les rôles des différents intervenants, leur répartition sur les postes de travail et leurs droits d'accès aux données du système de production. Il est alors possible de bâtir des scénarios d'utilisation, permettant de prévoir et de résoudre les problèmes résultant de l'accès concurrent aux données.
Cette analyse a, dans les deux cas, débouché sur une architecture de système productique centrée sur la notion de base de données d'ingénierie, utilisée comme principal moyen d'intégration des différentes composantes de ce système.
Représentation des connaissances
Afin de synthétiser un modèle complet de la filière technologique visée, et face à la diversité et à la complexité des données d'ingénierie, une vision multi-paradigmes fondée sur les principes de l'approche objet comme moyen d'intégration nous a alors semblé la plus appropriée. Nous avons alors utilisé différents outils : analyse par la méthode OOA, conception grâce à la méthode OOD, utilisation d'attributs objet ou d'annotations, utilisation d'un méta-modèle.
Stockage des données
L'archivage des données à long terme doit pouvoir se faire sur des durées de temps supérieures aux durées de vies des différents systèmes informatiques. Il est alors nécessaire d'utiliser des formats neutres d'échange et de stockage tel que le format SET ou le format STEP/PDES.
Le stockage et l'utilisation (le partage) des données à court et moyen terme nécessitent quant à eux de faire appel à la technologie des bases de données. Dans ce domaine, les systèmes "traditionnels" de base de données (hiérarchiques, réseaux, relationnels) se sont montrés peu, ou mal adaptés, face à la complexité et au caractère multiforme des données d'ingénierie. La technologie des bases de données objet permet, quant à elle, de stocker de façon beaucoup plus simple, et de manière plus efficace ces données.
· Les bases de données objets permettent une meilleure modélisation d'objets complexes ou multiformes (multimédia) : toute la puissance des langages orientés objets peut être utilisée pour modéliser les données et les relations entre ces données.
· Les données sont stockées directement sous forme d'objets. Il n'y a pas de mauvaise adaptation d'impédance (impedance mismatch) : le même modèle de données est utilisé par le langage de programmation et la base de données. Il n'est pas alors nécessaire de faire des conversions de format pour lire et écrire les données sur disque.
· Les références entre objets sont préservées, les requêtes sont alors plus rapides car un objet peut être retrouvé directement par son identifiant. Il n'y a plus nécessité de faire des jointures
· Certaines bases de données objets offrent des fonctionnalités avancées tel que la gestion des versions des objets.
Partage des données
Les concepts de productique et d'ingénierie simultanée font apparaître l'aspect à la fois très structuré (en étapes et en poste de travail) et fondamentalement coopératif de ces activités techniques. Pour permettre une bonne réactivité du système, nous avons utilisé une démarche centrée sur l'identification des données manipulées localement (au niveau de chaque poste de travail), ainsi que des éléments partagés entre les différents utilisateurs. L'identification des ces éléments partagés conduit alors à les regrouper au sein de banques (banques de composants ou banque de modèles), permettant d'assurer leur gestion.
Cette démarche permet finalement de déboucher sur la mise en place d'une architecture de base de données répartie, hiérarchisée en trois niveaux : un niveau privé (base locale), un niveau de groupe (base de groupe) et un niveau général (base publique).
Alors que les bases de données "traditionnelles" utilisaient comme mécanisme de base la transaction, les bases d'ingénierie sont essentiellement caractérisées par l'utilisation du mécanisme de check-in/check-out, permettant de copier (check-out) localement les données dans une base de travail, puis une fois le travail sur les données dans la base locale validé, de basculer (check-in) ces données dans une base de niveau supérieur ou elle pourront alors être utilisées par d'autres.
Recherches et développements
Un des axes de recherche possible consiste à utiliser les techniques du raisonnement par analogie [Gentner 83] ou du raisonnement par cas (Case based resoning) [Slade 91] pour mieux tirer partie de l'ensemble des informations stockées en base de données. Il est alors possible d'intervenir à deux niveaux.
· Comme aide à la prévision des coûts et moyens. C'est déjà le cas dans le cadre de la filière composite, ou la mise en uvre de la T.G.A.O. permet, à partir notamment de critères morpho dimensionnels des pièces, d'obtenir l'ébauche de la gamme, ainsi qu'une estimation du coût de production. L'existence d'un modèle quasi complet de la pièce en base de données permettrait d'affiner ce processus. L'utilisation d'une démarche semblable dans le domaine du dessin animé offrirait une aide précieuse pour l'évaluation d'une production au niveau de la planification temporelle et budgétaire.
· Comme aide à la réutilisation. Cette notion de réutilisation (de décors ou d'animation) joue un grand rôle économique dans la production de séries en animation. Dans le projet Animation2000, cela c'est traduit entre autre par la mise en place de banques de décors, de dessins et d'animations, avec tout un système d'indexation basé notamment sur les notions de lieu et de modèle. Il pourrait être intéressant d'utiliser de telles techniques dans le domaine des pièces composites.
De façon plus générale, et parce qu'elles sont quasiment les seules à proposer une architecture répartie multi-niveaux et disposant de mécanismes avancés de contrôle de concurrence (transactions longues, check-in/check-out), les bases de données objets semblent également pouvoir jouer un grand rôle dans le développement de collecticiels (logiciels de groupware).