MODÉLISATION ET MANIPULATION DES DOCUMENTS STRUCTURÉS: UNE APPROCHE MODULAIRE, FLEXIBLE ET ÉVOLUTIVE ÉCOLE POLmECHNlQUE FÉDÉRALE DE LAUSANNE POUR L'OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES PAR Yassin Aziz REKIK Ingénieur concepteur en informatique, Ecole Nationale des Sciences de l'informatique, Tunis, Tunisie de nationalité belge et tunisienne acceptée sur proposition du jury: Prof. G. Coray, directeur de thèse Prof. M. Leonard, rapporteur Dr C. Roisin, rapporteur Dr Ch. Vanoirbeek, rapporteur Prof. A. Wegmann, rapporteur Lausanne, EPFL 2001
Version abrégée Depuis quelques années, les besoins en matière de production, gestion et diffusion d'information sous la forme de documents électroniques ne cessent de croître. Fortement promue par un usage intensif dlinternet et, en particulier, de la "toile d'araignée mondiale", la maîtrise des technologies orientées document s'impose progressivement comme un facteur important de compétitivité pour les entreprises. Dans un tel contexte, la nécessité de disposer de méthodes appropriées pour la conception, la production et la manipulation de documents s'avère essentielle pour gérer efficacement des corpus documentaires dans des environnements répartis. Cette thèse s'intéresse, en particulier, aux méthodes à mettre en oeuvre pour assister les utilisateurs dans leur activité de prodution et de réutilisation de documents, activité qui appartient à ce qu'il convient d'appeler de nos jours, ingénierie des documents. Procédant par analogie avec le domaine du génie logiciel, nous nous intéressons au concept de productivité et en proposons une définition adaptée au cadre de l'ingénierie des documents. Dans cette optique, le centre d'intérêt de la thèse se focalise sur la conception de systèmes de gestion de documents évolutifs. La contribution principale porte sur la proposition de techniques de modélisation et de manipulation de documents structurés favorisant la réutilisation et simplifiant la maintenance des produits documentaires. Pour atteindre cet objectif, les principaux concepts proposés dans ce travail sont ceux de fragments et de documents composites. Un document composite est un document structuré composé à partir d'objets documentaires autonomes, appelés fragments, ayant leurs propres définitions de structures génériques et leurs propres traitements associés. La définition des classes de documents composites est réalisée grâce à des structures génériques modulaires. En plus de la notion de modularité, cette thèse introduit des techniques permettant de définir des structures génériques flexibles offrant plus de souplesse lors de la production des documents. Ces structures génériques flexibles se basent sur la spécification de contraintes structurelles. La thèse introduit ensuite la notion de dérivation de structures génériques qui permet de définir de nouvelles structures génériques en adaptant, de manière déclarative, des structures génériques existantes. Afin de valider les idées proposées, une implémentation des principaux concepts a été réalisée. Elle comporte un langage de modélisation basé sur un vocabulaire XML, un format balisé pour la représentation des documents composites, un modèle de parsing par compilation étendu, ainsi que des outils pour l'édition, la validation et le parsing des documents composites.
Abstract In the last few years, requirements for production, management and diffusion of electronic documents have increased dramatically. Due to a large degree to the explosion of the Internet (and in particular, the World-Wide Web), the ability to leverage document technology is becoming a crucial factor in corporate competitiveness. In this context, the availability of methods for conceiving, planning, and executing the document chain in a distributed environment could provide the next competitive edge. This thesis is concerned with such methods, and in particular with methods for production and reuse of documents, activities that are part of the new domain of "document engineering. Ir Inspired by software engineering practice, we propose a definition of "productivity" adapted to encompass the activities in document engineering. The thesis focuses on the design of evolutionary document management systems. Its main contribution is the assessment of techniques for modelling and imanipulating structured documents in a way that promotes and facilitates document reuse, and simplifies their maintenance. In order to achieve this goal, the main concepts introduced by this thesis are fragment and composite document. A composite document is a structured document involving independent document objects, called fragments, and having their own structure definition and their own manipulation interfaces. A class of composite documents is defined via modular generic structures. Besides the concept of modularity, the present work introduces the possibility of defining flexible generic structures providing further adaptability in document production. This work presents also the concept of generic sti-ucture derivation, which enables to define new generic structures by adapting, in a declarative way, the existing generic structures. To validate the ideas proposed in this thesis, we have implemented the basic concepts in the form of a modelling language based on XML. We h!ave also implemented a markup format for composite document storage and exchange. Finally, several tools for validating, parsing and editing composite documents have also been developed.
Table des matières 1 Introduction Générale 13 1.1 Problématique et objectifs... 14 1.2 Cadre et démarche du travail... 14 1.3 Plan de la thèse... 15 1 État de l'art 2 Ingénierie des documents structurés 19 2.1 Le concept de document structuré... 19 2.1.1 Les modèles de documents... 19 2.1.2 Modèles de documents structurés... 20 2.2 Ingénierie des documents structurés... 23 2.2.1 Ingénierie éditoriale Vs Ingénierie d'applications... 23 2.2.2 Activités de l'ingénierie des documents structurés... 25 2.3 La modélisation des documents... 26 2.3.1 Définition des Types de Documents XML... 27 2.3.2 Les schémas XML... 28 2.4 La spécification des traitements... 30 2.4.1 Approche de spécification déclarative... 31 2.4.2 Approche de spécification procédurale... 31 2.5 La production des documents structurés... 34 2.5.1 Edition des documents structurés... 34 2.5.2 Synthèse des documents... 35 2.6 Conclusion... 36 3 Réutilisation et maintenance des produits documentaires 37 3.1 La productivité dans l'ingénierie des documents structurés.. 38 3.1.1 Définition de la productivité... 38 3.1.2 Les produits documentaires... 39 3.1.3 Les facteurs de productivité... 39
8 TABLE DES MATIERES 3.2 La réutilisation des produits documentaires... 40 3.2.1 La réutilisation des structures génériques... 41 3.2.2 La réutilisation des documents... 42 3.2.3 Réutilisation des traitements... 46 3.2.4 Conclusion... 48 3.3 La maintenance des produits documentaires... 49 3.3.1 Les types de maintenance... 49 3.3.2 Maintenance des structures génériques... 50. 3.3.3 Evolution des documents... 51 3.3.4 Evolution des traitements... 52 3.3.5 Conclusion... 53 3.4 Synthèse de l'état de l'art... 54 3.4.1 Objectifs de notre travail... 55 II Nouvelles techniques pour la modélisation et la manipulation des documents structurés 57 4 Modularité dans la modélisation et la manipulation des documents structurés 4.1 Modélisation modulaire des documents structurés... 4.2 Structures génériques modulaires... 4.2.1 La notion de module... 4.2.2 Définition de structures génériques modulaires... 4.2.3 Comparaison : techniques proposées - techniques actuelles... 4.2.4 Réutilisation et maintenance des structures génériques modulaires... 4.3 Les documents composites... 4.3.1 Définition... 4.3.2 Gestion des documents composites... 4.3.3 Format de stockage fichier... 4.3.4 Stockage dans des bases de données... 4.3.5 Réutilisation et maintenance des documents composites 4.4 Spécification modulaire des traitements... 4.4.1 Traitements modulaires... 4.4.2 La notion d'objet documentaire... 4.4.3 Approche déclarative modulaire... 4.4.4 Approche procédurale modulaire... 4.4.5 Réutilisation et maintenance de traitements modulaires 4.5 Conclusion...
5 Flexibilité dans la modélisation et la manipulation des documents structurés 5.1 Modélisation flexible des documents... 5.1.1 Structures génériques flexibles... 5.1.2 Langage de définition des structures génériques flexibles 5.1.3 Avantages des structures flexibles... 5.2 Définition des contraintes... 5.2.1 Contraintes sur les éléments des fragments... 5.2.2 Contraintes sur la structure du fragment... 5.3 Documents composites flexibles... 5.3.1 Instanciation des structures génériques flexibles... 5.3.2 Apport des documents composites flexibles... 5.4 Manipulation des documents flexibles... 5.4.1 Modèle de traitement par contrats... 5.4.2 Application du modèle à une approche déclarative... 5.4.3 Application du modèle à une approche procédurale.. 5.5 Conclusion... 6 Evolutivité dans la modélisation et la manipulation des documents structurés 93 6.1 Dérivation de structures génériques... 93 6.2 Adaptation des types d'éléments... 94 6.2.1 La spécialisation... 95 6.2.2 La généralisation... 95 6.2.3 L'ajustement... 95 6.3 La dérivation des structures arborescentes... 96 6.3.1 Définitions... 96 6.3.2 Dérivation par spécialisation... 97 6.3.3 Dérivation par généralisation... 100 6.3.4 Dérivation par ajustement... 103 6.3.5 Les structures génériques paramétrées... 105 6.4 Evolutivité des corpora documentaires... 106 6.4.1 Les approches de transformation de structures... 106 6.4.2 Approche guidée par la définition de la dérivation... 108 6.5 Evolutivité et adaptation des traitements... 108 6.6 Conclusion... 109 III Implémentation et outils développés 7 Implémentation des concepts proposés dans OSMOS 113
TABLE DES MATIERES 7.1 Spécification des besoins... 113 7.1.1 Support à la modélisation... 114 7.1.2 Supports à la production... 114 7.1.3 Support pour la manipulation... 115 7.2 Langage de modélisation proposé... 115 7.2.1 Définition des types d'éléments... 116 7.2.2 Définition des modules figés... 119 7.2.3 Définition des modules flexibles... 120 7.2.4 Définition des modules dérivés... 121 7.3 Format balisé pour les documents composites... 123 7.4 Modèle de parsing DOM étendu... 124 7.4.1 Contrat entre classes et fragments... 124 7.4.2 Définition des classes de traitements des fragments.. 126 7.4.3 Construction de l'arbre DOM modifié... 126 7.4.4 Définition de l'application globale... 128 7.5 Conclusion... 129 8 Description des outils développés dans le cadre du projet OSMOS 131 8.1 Outils de validation... 131 8.1.1 Module de résolution des liens de dérivation dans les structures génériques... 132 8.1.2 Module de validation des contraintes structurelles... 132 8.1.3 API de validation des éléments et des modules... 133 8.1.4 Intégration des modules... 135 8.2 Parseur DOM modifié... 135 8.3 Environnement auteur pour la production de documents éducatifs... 136 8.3.1 Interface de production des documents composites... 137 8.3.2 L'outil FragEdit... 139 8.3.3 Vivier de composants XML... 139 8.3.4 Outil de recherche basé sur les contraintes structurelles 141 8.4 Conclusion... 143 9 Conclusion 145 9.1 Rappel des objectifs... 145 9.2 Résultats majeurs... 145 9.3 Perspectives... 147 Annexe A : DTDs et schémas XML 149
TABLE DES MATIÈRES 11 Annexe B : Langage de modélisation proposé Annexe C : Parsing DOM étendu Annexe D : Définitions