Présentation de l'équipe
CIGALES
(M.Mainguenaud)
Le langage d'interface avec l'utilisateur représente une part importante des Systèmes d'Information Géographique. Bien souvent, ce langage est insuffisant pour exprimer toutes les requêtes souhaitées par l'utilisateur. Le projet CIGALES (Cartographical Interface Generating an Adapted Language for Extensible Systems) a pour objectif le prototypage d'un langage graphique pour l'interrogation des Systèmes d'Information Géographique. Il propose une approche visuelle pour l'expression de requêtes. Ce projet est réalisé dans l'équipe Bases de Données du département Informatique de l'Institut National des Télécommunications.
Nous présentons successivement l'interface, puis le modèle de données dédié à la gestion des graphes et le modèle de données dédié à la gestion des documents hypermédia.
* L'interface de CIGALES (C.Carpentier)
L'interface de CIGALES permet de composer graphiquement une requête. Cette requête est ensuite traduite, suivant une grammaire prédéfinie, en une expression algébrique (appelée expression fonctionnelle) indépendante de l'application utilisateur et du Système de Gestion de Bases de Données (SGBD) choisi pour gerer les données factuelles et spatiales. L'expression fonctionnelle est alors transmise à un traducteur. Ce traducteur permet de faire le lien entre cette expression et le langage d'interrogation de la base de données.
L'interface graphique se décompose en deux zones : une zone de travail permettant de construire une représentation visuelle d'une relation spatiale en appliquant un opérateur spatial entre deux objets, et une zone de requêtes permettant de construire des requêtes complexes et de visualiser la requête finale envoyée à l'interpréteur de requête.
Deux métaphores sont utilisées dans cette interface : la zone et la ligne. La sémantique associée à ces métaphores dépend de l'application utilisateur choisie. Une zone peut représenter, par exemple, une ville, un lac, une forêt, une région... Une ligne peut représenter une voie ferrée, une autoroute, une rivière, une ligne aérienne...
Plusieurs opérateurs sont applicables sur ces deux métaphores : l'opérateur d'intersection, l'opérateur d'inclusion, l'opérateur d'adjacence, l'opérateur de chemins, et l'opérateur de vol d'oiseau. Tous ces opérateurs sont des opérateurs binaires grâce auxquels il est possible de composer des requêtes comme par exemple "Quels sont les chemins de Paris à Toulon, passant par une forêt et longeant un lac ?".
Sur chacun de ces opérateurs, une négation peut être appliquée. Elle permet de construire des requêtes comme "Quels sont les chemins de Paris à Toulon ne passant pas par une forêt mais longeant un lac ?".
Le pouvoir d'expression de ce langage est augmenté par la présence d'opérateurs cachés (opérateurs d'union, de sélection et de différence). Ces opérateurs interviennent dans le processus de construction d'une requête graphique mais demeurent cachés à l'utilisateur.
* La gestion des réseaux (cf these de Benedicte Langou)
La gestion des réseaux effectuée dans CIGALES est basée sur un modèle de graphe particulier. Ce modèle de graphe allie les concepts de la théorie des graphes (noeud, arc, graphe) au paradigme des bases de données orientées objet (notion d'abstraction). Un noeud (e.g., modélisant une ville) peut représenter l'abstraction d'un ou de plusieurs réseaux (e.g., modélisant des réseaux de transport locaux). De la même façon, un arc peut représenter l'abstraction d'un sous-réseau (e.g., modélisant une ligne de transport). Les noeuds représentant l'abstraction d'un ou de plusieurs sous-réseaux sont appelés Master_noeuds. Les arcs représentant l'abstraction d'un sous-réseau sont appelés Master_arcs. Les sous-réseaux sont appelés Réseaux_associés.
Trois sortes d'opérateurs existent pour ce modèle de graphe : les opérateurs de base gèrent la notion d'abstraction du modèle; les opérateurs élémentaires définissent des opérations sur les graphes et les sous-graphes (un sous-graphe étant un réseau_associé); les opérateurs de haut niveau permettent de modéliser et résoudre les requêtes utilisateur dans le cadre de la gestion de réseaux.
Les opérateurs de base sont directement liés aux concepts du modèle de graphe (notion d'abstraction). Deux opérateurs sont définis : l'opérateur Develop et l'opérateur Undevelop. Ces opérateurs sont conçus dans la même optique que les opérateurs Nest et Unnest de l'algèbre relationnelle étendue. L'opérateur Develop fournit des détails plus spécifiques sur un graphe en incorporant, dans le graphe étudié, les réseaux_associés à un Master_arc ou à un Master_noeud. L'opération inverse, l'opérateur Undevelop, fournit un graphe plus restreint en remplaçant un sous-réseau par un Master_noeud ou un Master_arc.
Les opérateurs élémentaires définissent les opérations sur les graphes et les sous-graphes. Ils sont similaires aux opérateurs de la théorie des graphes. Cependant, ils tiennent compte de la distinction existant entre les noeuds et les Master_noeuds (notion d'abstraction) et ne sont donc pas totalement assimilables à ces opérateurs. Quatre opérateurs sont définis : la Sélection, l'Union, la Concaténation et la Différence. L'opérateur de Sélection permet de sélectionner des noeuds et des arcs dans un graphe, quel que soit leur niveau d'abstraction. Les opérateurs d'Union et de Concaténation permettent de faire l'union de deux graphes ou sous-graphes. L'opérateur de Différence trouve le graphe résultant de la différence entre deux graphes.
Les opérateurs de haut niveau sont applicables au niveau de l'interface avec l'utilisateur. Trois opérateurs sont définis : l'opérateur de Chemins, les opérateurs d'Inclusion et les opérateurs d'Intersection. L'opérateur de Chemins évalue les chemins existant, dans un graphe donné, entre un noeud origine et un noeud destination, en tirant parti de la structure hiérarchisée du modèle de graphe. Les opérateurs d'Inclusion permettent d'extraire des noeuds (resp. arcs) d'un chemin, mais également de vérifier l'inclusion de noeuds (resp. arcs) dans un chemin. Les opérateurs d'Intersection trouvent l'intersection existant entre deux ensembles de noeuds (resp. arcs) provenant de deux chemins différents.
* La gestion des documents (cf these d'A.Brossier-Wansek)
La gestion des documents effectuée dans CIGALES est basée sur le modèle de documents Hétérodoc. Les documents gérés sont dits "documents hypermédia". Ce sont des documents de type hypertexte où les différentes composantes du texte sont des média de natures diverses (images, films, séquences sonores, cartes géographiques).
Hétérodoc utilise des types élémentaires et des constructeurs d'abstraction (agrégation, collection, choix) pour définir un système de types complexes. Ce Langage de Définition de Données (LDD) ainsi constitué permet de décrire la structure d'un document hypermédia.
Le système de type complexe défini utilise trois niveaux d'abstraction : les blocs, les graphes et les classes.
Le premier niveau autorise la composition de blocs. Ces blocs représentent des petits corps d'information imbriqués les uns par rapport aux autres et de nature multimédia. Ils sont structurés en arbre. Le bloc de la racine de l'arbre représente une unité indivisible appelée "bloc-racine". Les références entre ces blocs sont autorisées grâce à la définition de blocs spécialisés chargés de représenter les liaisons entre des blocs. Ces liaisons sont nommées "blocs-liens" et décrivent à la fois les liens horizontaux (ou liens de type référence) et les liens verticaux (ou liens de type composition).
Au deuxième niveau, les blocs-racines du niveau précédent sont structurés en graphe. Chaque graphe est composé d'un ensemble de blocs-racines, définissant les noeuds du graphe, et d'un ensemble de blocs-liens, définissant les arcs du graphe.
Au troisième niveau, les objets documentaires représentés par des graphes et des blocs-racines sont abstraits à l'aide de la généralisation. Les graphes et les blocs-racines sont organisés en classes permettant de regrouper des instances comportant des types communs.
Les données documentaires sont donc organisées selon un principe de graphe hiérarchisé. Le travail actuel consiste à étendre l'interface de CIGALES à la gestion de données documentaires, afin d'enrichir les capacités d'interrogation du langage. La même interface sera utilisée pour accéder à des informations cartographiques à partir de documents, et réciproquement, pour obtenir des informations documentaires à partir d'informations cartographiques.
Département INF, Institut National des Télécommunications, 9 rue Charles Fourier, F91011 Evry cedex, France.
Fax: + 33-1 60-77-20-06
Tél: + 33-1 60-76-47-82
Email : cigales@etna.int-evry.fr
Accès aux publications :
- par FTP anonyme à l'INT : ftp.int-evry.fr (no IP : 157.159.11.4).
- par FTP anonyme à l'IGN : sturm.ign.fr (no IP : 192.33.147.11).
- par serveur Web : http://www-inf.int-evry.fr/BasesDeDonnees/Cigales/cigales.html