MAP : un Modèle pour l'Accès Progressif à l'Information

La page est créée Yannick Dubois
 
CONTINUER À LIRE
MAP : un Modèle pour l’Accès Progressif à
l’Information

Marlène Villanova-Oliver

Laboratoire LSR-IMAG
BP 72
38402 Saint Martin d’Hères
marlene.villanova@imag.fr
                                                             catégorie Jeunes Chercheurs
RÉSUMÉ.  L’accès progressif à l’information permet à l’utilisateur d’un Système d’Information
basé sur le Web (SIW) d’accéder, dans un premier temps, à l’essentiel de l’information, puis
de découvrir graduellement, s’il le souhaite, plus de contenu. Nous présentons un modèle qui
permet de stratifier le modèle de données supporté par le SIW afin de mettre en oeuvre
l’accès progressif. Le Modèle d’Accès Progressif (MAP) est basé sur la notion de masque
introduite dans ce papier. Une description UML du MAP est proposée. Nous montrons
comment le MAP est connecté avec un modèle de données décrit en UML. Le couplage avec
un modèle utilisateur à des fins d’adaptabilité est également abordé. Des notations inspirées
d’UML permettent de mettre en évidence les besoins des utilisateurs en matière d’accès
progressif à l’information. Nous montrons enfin comment il est possible de générer un
hypertexte à partir des spécifications du MAP. Cet hypertexte intègre des nœuds et liens
directement obtenus par requêtes portant sur les spécifications du MAP.

ABSTRACT. The notion of progressive access to information allows a user of a Web-based
Information System (WIS) to first access essential information, and then, if she/he wants, to
discover gradually more content. In this paper, we present a model which allows to stratify
the data model supported by the WIS in order to implement progressive access. The
Progressive Access Model (PAM) is based on the notion of mask we introduce. An UML
description of the PAM is proposed. We show how the PAM is linked to a data model
described in UML. The coupling of the PAM with a users model, in order to reach
adaptability, is also addressed. Some notations inspired from UML are offered to determine
users needs in terms of progressive access to information. Finally, we show how it is possible
to generate an hypertext from the specifications of the PAM. Such an hypertext is composed
of nodes and links obtained by requesting the PAM.
MOTS-CLÉS :   Accès Progressif, Systèmes d'Information Web, Modélisation UML.
KEY WORDS:    Progressive Access, Web Information Systems, UML Modeling.
1. Introduction

    Les Systèmes d’Information (SI) se déclinent désormais de plus en plus dans des
versions accessibles via le réseau Internet. De nombreuses organisations, quel que
soit leur domaine d’activité (commerce électronique, éducation, applications
géographiques ou historiques, etc.), font ce choix pour diffuser l’information.
Comme tout autre SI, un Système d’Information basé sur le Web (SIW) est vu
comme un ensemble de moyens organisationnels et informatiques permettant de
collecter, structurer, stocker, traiter et diffuser l'information, l’exploitation de ces
fonctionnalités se faisant à travers le réseau. Les SIW sont également caractérisés
par leur dimension hypermédia qui constitue la « face visible » du système pour les
utilisateurs. Un hypermédia est défini par (Halasz, 1988) comme un style de
construction des systèmes visant à représenter et gérer l’information, basé sur un
réseau de nœuds multimédia (i.e. les pages Web) connectés les uns aux autres par
des hyperliens. A l’image de ce qui est suggéré par (Rolland, 2000), de plus en plus
de travaux intègrent ainsi une réflexion sur la conception de l’hypermédia dans le
processus d’ingénierie du SIW (De Troyer & al, 1998) (Gnaho, 2000) (Ceri, 2000)
(Conallen, 2000). Bien qu’un risque avéré de l’hypermédia soit que l’utilisateur se
perde dans le lacis des pages (“lost in hyperspace syndrome” (Conklin,1987)), ce
mode de diffusion de l’information est intéressant en raison de la flexibilité qu’il
introduit. Les possibilités d’accès non-séquentiel à l’information (Nielsen, 1990)
offrent à l’utilisateur la latitude de choisir son parcours dans l’espace informationnel.
Au gré de ses navigations dans les documents, il accède selon ses besoins à plus ou
moins d’information.
    L’objectif de notre travail est de proposer une flexibilité similaire en ce qui
concerne l’accès à l’information organisée par le modèle de donnée supporté par le
SIW. Cette question est abordée dans diverses propositions exploitant, par exemple,
la notion de vue (Tsichritzis & al, 1977) appliquée à l’objet (Abiteboul & al, 1991)
ou à XML (Abiteboul, 1999), celle d’objets morcelés (Bardou, 1998) ou encore de
contextes (Motschnig-Pitrik, 1999) (Theodorakis & al, 1999). Ces travaux vont dans
le sens de plus d’adaptabilité à l’utilisateur, ce que nous visons également. Toutefois,
notre travail explore un axe particulier de la flexibilité en introduisant la notion
d’accès progressif à l’information. L’accès progressif à l’information est inspiré du
constat suivant : l’utilisateur n’a pas tout le temps besoin d’accéder à toute
l’information disponible. L’accès progressif à l’information permet à l’utilisateur
d’accéder, dans un premier temps, à l’essentiel de l’information, puis, s’il le
souhaite, de découvrir graduellement, plus de contenu. L’accès progressif vise donc
à faciliter la consultation des informations du SIW. Basée sur la diffusion
échelonnée de l’information, notre approche permet de réduire la surcharge
cognitive parfois subie par les utilisateurs de tels systèmes face à une masse
informationnelle difficile à appréhender dans sa globalité.
   Dans cet article, nous décrivons comment organiser, au niveau conceptuel, les
données d’un SIW afin d’offrir à chacun des utilisateurs un accès progressif et
personnalisé à son propre espace informationnel. Un espace informationnel est un
sous-ensemble d’informations du domaine d’application qui est généralement décrit
par un modèle de données (reposant sur un paradigme Entité-Association, Objet, ou
encore XML). Nous proposons de stratifier cet espace en différents niveaux de détail
auxquels seront associés des mécanismes spécifiques à l’accès progressif. La
stratification d’un espace informationnel est décrite par un modèle spécifique appelé
Modèle d’Accès Progressif (MAP). Le MAP repose sur deux notions : les masques
et les formats multiples. Les masques offrent des représentations plus ou moins
complètes mais ordonnées d’un ensemble d’information. Les formats multiples sont
des représentations, plus ou moins détaillées, associées à une information de type
multimédia1. A des fins d’adaptabilité, le MAP autorise la définition de
stratifications aussi bien pour un groupe d’utilisateurs que pour un utilisateur donné.
Celles-ci sont définies en fonction des besoins spécifiques des utilisateurs (groupes
ou individus) et peuvent donc être totalement différentes bien qu’établies sur le
même modèle de données.
    Ce papier est organisé de la façon suivante. Dans la deuxième section, la notion
de masque est introduite. Le Modèle d’Accès Progressif est présenté dans la section
3. Nous donnons une description UML (Rumbaugh & al, 1999) de ce modèle. Des
notations inspirées d’UML sont proposées dans la section 4 pour faciliter la
détermination des stratifications à associer à un (groupe d’) utilisateur(s) donné.
Dans la section 5, nous montrons comment la stratification d’un espace
informationnel peut être exploitée pour dériver un hypermédia associé au SIW. Des
travaux connexes sont comparés dans la section 6 avant de conclure.

2. Notion de masque pour la stratification de l’espace informationnel

    Un espace informationnel stratifié permet d’échelonner la diffusion d’une
information, en présentant d’abord une partie de l’information, puis en rendant
progressivement visible le reste du contenu. La notion de masque, présentée dans ce
qui suit, est définie dans cet objectif et vise à représenter de façon plus ou moins
complète un ensemble d'informations. Nous désignons par Entité Masquable (EM)
un ensemble d’informations qui peut être décomposé en différents sous-ensembles
appelés Représentations d’Entité Masquable (REM). Chaque REM correspond alors
à un niveau de détail ou masque (cf. Figure 1).
    Pour une entité masquable EM = {e1, e2, …, en} où les ei sont des éléments
d'information et telle que Card(EM)≥2, l’accès progressif à EM est autorisé par le fait
que chaque REM de EM respecte les quatre règles données ci-dessous :
−    une REM appartient à l’ensemble de parties de EM ;

1
 Pour une question de place, nos travaux sur la stratification des informations de type
multimédia ne sont pas présentés ici (cf.(Villanova-Oliver & al, 2002a) pour une description).
−    REMi correspond au niveau de détail i disponible pour EM, tel que 1 ≤ i ≤ m, m
     étant le niveau maximum de détail que l’on peut obtenir ;
−    REM1 ≠ Ø,    même au premier niveau de détail, au moins un élément est visible ;
−    pour tout i
3.1. Description minimale du MAP

    Afin de procéder à la stratification personnalisée d’un espace informationnel, il
est nécessaire de disposer de deux types de connaissances : d’une part, celles
relatives au domaine d’application, et d’autre part, celles concernant les utilisateurs.
La connaissance portant sur le domaine d’application est véhiculée par le modèle qui
représente les objets du monde réel manipulé par le SIW. Dans notre approche, ce
modèle est appelé Modèle de Données (MD). La connaissance des utilisateurs du
système repose quant à elle sur la modélisation explicite de leurs caractéristiques.
Nous définissons pour cela le Modèle Générique des Utilisateurs (MGU). Ce modèle
consiste dans sa globalité en un support de définition des utilisateurs qui permet
différents types d’adaptabilité (adaptabilité du contenu diffusé, de la présentation de
ce contenu, aux conditions matérielles d’utilisation du SIW, aux comportements de
l’utilisateur). Nous nous concentrons ici sur le fait que le MGU, allié au MAP,
permet de définir des stratifications et, par suite, des modalités d’accès progressif à
l’information, adaptées à chaque (groupe d’) utilisateur(s).
    Dans cet objectif, nous utilisons simplement le fait que le MGU est un modèle
objet permettant de distinguer les groupes d’utilisateurs des utilisateurs individuels.
Deux classes, nommées respectivement Groupe et Utilisateur, sont définies pour
représenter ces concepts. Une instance de Groupe possède au moins un membre,
instance d’Utilisateur ; une instance d’Utilisateur est liée par une relation d’appartenance
à une ou plusieurs instances de Groupe. Dans le cas de l’appartenance d’un utilisateur
à plusieurs groupes, on qualifie un des groupes de « groupe référence » permettant,
en l’absence de définition d’une stratification personnelle, de proposer à l’utilisateur
celle définie pour son groupe référence. Les définitions d’une stratification pour un
groupe ou un utilisateur étant similaires, nous simplifions cette présentation en
considérant le cas de l’utilisateur individuel uniquement.
    Dans sa forme minimale (cf. Figure 2), le MAP est décrit par les classes et
associations suivantes. La classe Utilisateur décrit un utilisateur du système. Les deux
autres classes reflètent les notions présentées en section 2. La classe EntitéMasquable
fait référence à l’information que l’on souhaite stratifier. La classe REM correspond à
la notion de Représentation d’Entité Masquable. L’association stratifie qui lie ces
trois classes est telle que :
−      De 0 à n instances de REM peuvent être liées à un couple d’instances (Utilisateur,
EntitéMasquable).  Lorsque aucune REM n’est liée, aucun accès progressif à l’entité
masquable n’est proposé à cet utilisateur. A l’inverse, n instances de REM offrent à
l’utilisateur n niveaux de détail sur cette entité masquable. Les instances de REM
définies pour un couple d’instances (Utilisateur, EntitéMasquable) ont toutes un numéro
distinct et séquentiel (attribut Niveau) qui indique le niveau de détail auquel elles
correspondent dans la stratification.
−    De 1 à n instances d’Utilisateur peuvent être liées à un couple d’instances (REM,
EntitéMasquable),ce qui permet à plusieurs utilisateurs de partager la même REM.
−     1 seule instance d’EntitéMasquable peut être liée à un couple d’instances (REM,
Utilisateur)
           ce qui traduit qu’une REM définie pour un utilisateur est propre à une
entité masquable.

                                         Utilisateur

                                          1..*

               EntitéMasquable   1                          *         REM
                                                                Niveau : integer
                                           stratifie

Figure 2. Description minimale du MAP. Les classes Utilisateur, EntitéMasquable et
REM sont liées par l’association stratifie.

    Cette description minimale du MAP doit être étendue afin de décrire une
stratification dans des termes identiques à ceux du formalisme (objet, entité-relation,
XML, etc.) adopté par le Modèle de Données (MD). Dans la section suivante, le
MAP est étendu dans l’optique d’un MD décrit par un diagramme de classes UML.

3.2. Description étendue du MAP pour un modèle de données UML

    Nous montrons dans cette section les extensions apportées aux classes
EntitéMasquable  et REM. Cette description repose en partie sur le méta-modèle UML.
Si l’on considère un modèle de données décrit en UML, les EntitéMasquables peuvent
être de différentes granularités. Une EntitéMasquable est :
−     soit le Modèle de Données lui-même, décrit par le diagramme de classes (classe
MD dans   la Figure 3),
−    soit des éléments constitutifs de ce diagramme désignés par la classe Constituant
dans la Figure 3. Un constituant est une classe, une association ou une classe-
association représentées par les classes de mêmes noms et correspondant aux
éléments du méta-modèle UML.
    La classe REM se spécialise en les classes REM_MD et REM_Constituant, qui
indiquent respectivement comment est construite une REM selon qu’on s’intéresse au
MD ou à un Constituant en tant qu’entité masquable :

−    la classe REM_MD est liée à la classe Constituant via l’association est_liée_à : lier
un ensemble d’instances de Constituant à une instance de REM_MD signifie que ces
constituants sont accessibles au niveau de détail affecté à l’instance de REM_MD.
−     de façon similaire, la classe REM_Constituant est associée à la classe Attribut via
l’association est_associée_à : lier un ensemble d’instances d’Attribut à une instance de
REM_Constituant signifie que ces attributs sont accessibles au niveau de détail affecté
à l’instance de REM_Constituant.
Utilisateur

                                              1..*

                EntitéMasquable 1                                *         REM

                                               stratifie

                               MD                          REM_MD

                             1..*                          *
               Constituant                                                REM_Constituant
                                           est_liée_à
                                                                             *
                                                                                   est_associée_à

      Classe       ClasseAssociation   Association             Attribut    1..*

Figure 3. Extension du MAP pour un Modèle de Données UML exprimé par un
diagramme de classes. Pour plus de visibilité, les relations qui existent entre les
éléments du méta-modèle UML (appartenance des constituant au diagramme de
classes, des attributs aux classes, etc.) ne sont pas montrées.

    Le modèle que nous venons de proposer à vocation à être instancié pour
supporter l’accès progressif à l’information défini pour un utilisateur. La Figure 4
illustre deux instanciations différentes, répondant aux besoins de deux utilisateurs
distincts, mais portant sur un même modèle de données (cf. Figure 4, en haut). Ce
modèle de données traduit le fait que des documents concernant des inondations sont
analysés par des personnes appelées rapporteurs. Un rapporteur peut être un géographe
ou un historien. L’analyse d’un document par un rapporteur donne lieu à un rapport.
    En bas à gauche de la Figure 4, la stratification fait apparaître 3 niveaux de
détail. La REM_MD de niveau 1 (ou REM_MD 1) donne accès aux classes Rapporteur et
Document, ainsi qu’à l’association analyse qui les lient. La classe d’association
Rapport est masquée à ce niveau. On atteint l’information sur cette classe en passant à
la REM_MD 2. Enfin, la REM_MD 3 permet d’accéder à l’information relative aux
inondations (classe Inondation et association porte_sur qui la lie à la classe Document).
Les informations concernant les sous-classes Historien et Géographe de Rapporteur
restent masquées pour cet utilisateur. En bas à droite de la Figure 4, l’autre
stratification montrée ne comporte que deux niveaux et donne un accès progressif à
l’information très différent de la précédente stratification. Au niveau de la REM_MD
1, les classes Rapporteur, Géographe et Historien sont accessibles. Le niveau de détail
suivant donne accès au reste des informations du modèle de données. Les attributs de
classes ne sont pas montrées dans les classes impliquées dans les REM. Les attributs
visibles pour chacune des classes sont soumis à la stratification de ces classes. La
stratification d’une classe peut également varier d’un utilisateur à l’autre (cf.
(Villanova-Oliver & al., 2002a) pour un exemple).
Modèle de Données
                                                                                                    Document
                   Rapporteur
                                                                                                  date
                                                               analyse                            source
                 nom                0..*                                                 0..*
                 prénom
                 adresse                                                                              1..*
                                                                 1
                 organisme
                 code                                                                                          porte_sur
                                                              Rapport
                                                                                                           1
                                                            date                                     Inondation
                                                            commentaire
      Géographe              Historien                                                             date
    zone                  période                                                                  lieu
                                                                                                   dégât

 Stratification du Modèle de Données pour l’Utilisateur x        Stratification du Modèle de Données pour l’Utilisateur y
                        (3 NIVEAUX)                                                     (2 NIVEAUX)

    Rapporteur    0..* analyse 0..*        Document                                              Rapporteur

  REM_MD 1

                                           Document                                    Rapporteur          Historien
    Rapporteur    0..* analyse 0..*
                                                                     REM_MD 1
                         Rapport
                                                                                       0..* analyse 0..*          Document
  REM_MD 2                                                                Rapporteur

                                           Document                                             Rapport           1..* porte_
    Rapporteur    0..* analyse 0..*
                                                                                                                        sur
                                                                                                                     1
                         Rapport           1..*    porte_            Géographe   Historien                        Inondation
                                             1    sur
                                           Inondation
                                                                     REM_MD 2
  REM_MD 3

Figure 4. Exemple de stratification d’un modèle de données exprimé en UML. En
haut, le modèle de données de l’application. En bas à gauche, une stratification de
ce modèle en 3 niveaux définie pour un utilisateur x. En bas à droite, une
stratification différente du même modèle pour un utilisateur y (2 niveaux).

    La section suivante propose une approche permettant de mettre en évidence les
besoins d’un utilisateur en termes d’accès progressif afin de construire une
stratification adéquate.

4. Notations pour la définition d’une stratification personnalisée

    Lors de la conception d’un SIW, les modalités de l’accès progressif à
l’information sont définies une fois le modèle de données établi et les utilisateurs
identifiés. L’idée phare de l’accès progressif est d’éviter à l’utilisateur d’être
submergé par l’information. Pour cela, le premier niveau de la stratification lui
donne accès à l’essentiel de l’information, et en fonction de ses besoins, il accèdera à
plus de détail. Une stratégie possible pour établir la stratification est alors d’estimer
a priori le degré de pertinence des éléments d’information et de le corréler avec les
niveaux de détail. Ainsi, plus un élément d’information est pertinent, plus son accès
est immédiat. Avant de procéder à l’instanciation du MAP, un dialogue entre le
concepteur et l’utilisateur est nécessaire pour déterminer une stratification reflétant
les besoins de l’utilisateur en matière d’accès progressif à l’information. Afin de
faciliter cet échange, nous proposons au concepteur de SIW des notations
spécifiques à l’accès progressif et basées sur les cas d’utilisation (Jacobson & al,
1992) et diagrammes de séquence UML. Nous illustrons quelques principes d’une
démarche utilisant ces notations, en prenant l’exemple de la stratification d’une
classe.
    Les cas d’utilisation d’accès progressif (PAUC pour l’acronyme anglais)
montrés dans la Figure 5a constituent le point d’entrée du dialogue avec l’utilisateur.
A ce niveau d’abstraction, ils visent à l’informer des possibilités offertes par le SIW
en termes de stratification de l’espace informationnel. Les deux PAUC en partie
droite de la Figure 5a étendent le cas général ‘accéder progressivement à
l’information’. Au niveau conceptuel, chacun de ces deux PAUC fait respectivement
(de haut en bas) référence à la stratification du diagramme de classes et de ses
constituants (nous considérons ici le cas d’une classe en tant que constituant).

   5a                                                                                  5b
                                   « étend »
                                                           AP                                               AP
                                               Accéder progressivement à l’ensemble         Construire la stratification pour
                                                   des informations du système                  la classe ‘Rapporteur

                                                                                                               « utilise »
                                        « étend »                                     « étend »
                           AP                                AP
                Accéder progressivement à       Accéder progressivement à certaines
                                                                                                            AP
Utilisateur x         l’information                  informations du système                 Accéder progressivement à
                                                                                         l’information sur les rapporteurs

Figure 5. Cas d'utilisation pour l'accès progressif (PAUC). Basés sur la notation
UML des cas d’utilisation, on les distingue grâce au label AP. 5a. les PAUC de
premier niveau sont destinés à initier le dialogue avec l’utilisateur. 5b exemple
d’extensions d’un PAUC en fonction des besoins de l’utilisateur.

    Considérons le PAUC ‘accéder progressivement à certaines informations du
système’ et supposons que le modèle de données fasse apparaître une classe nommée
Rapporteur dont les attributs sont nom, prénom, organisme, adresse et code.
Conformément au besoin exprimé par l’utilisateur, le PAUC précédent est étendu par
le PAUC ‘accéder progressivement à l’information sur les rapporteurs’ (cf. Figure
5b). Ce cas d’utilisation nécessite de construire une stratification de la classe
Rapporteur : il utilise donc le PAUC correspondant. L’étape suivante de l’analyse est
documentée par les diagrammes de séquence pour l’accès progressif (PASD pour
l’acronyme anglais).
Également inspirés des notations UML, les PASD traduisent le comportement du
système, et à plus bas niveau des objets du système, correspondant aux PAUC. La
dimension temporelle introduite par les diagrammes de séquence permet d’exprimer
le caractère progressif de l’accès. La Figure 6 illustre le PASD qui documente le
PAUC ‘accéder progressivement à l’information sur les rapporteurs’. Elle exprime
ce que l’utilisateur attend du système en termes d’accès progressif à la classe
Rapporteur. Suite à la demande émanant de l’utilisateur, le système retourne
l’information sur les rapporteurs en donnant accès aux attributs nom et prénom de la
classe Rapporteur pour en visualiser les instances. L’utilisateur peut ensuite demander
à voir plus de détail : les attributs code et organisme complètent alors la description
des instances de la classe. Dans ce cas, l’attribut adresse restera masqué pour cet
utilisateur car nous le supposons non accessible en vertu de ses droits.

                            x : Utilisateur                                                          Système

                                     Accéder progressivement à l’information sur les rapporteurs

                                                 Retourne_Rapporteur(nom, prénom)

                                                                Voir_plus()

                                        Retourne_Rapporteur (nom, prénom, organisme, code)

Figure 6. Diagramme de Séquence pour l'Accès Progressif correspondant au PAUC
‘accéder progressivement à l’information sur les rapporteurs’.

  x : Utilisateur                                    « classe du MD »
                                                 Rapporteur :EntitéMasquable                                             :REM
          Construire la stratification pour la classe ‘Rapporteur’(x)
                                                                               les attributs disponibles sont ceux non
                Choix_Attribut?(niveau1,)                    encore associés à une REM et auxquels
                                                                                 l’utilisateur a potentiellement accès
                                                                                     (attribut adresse non visible)
                       Sélection(x,niveau1,nom,prénom)
                                                                              Créer(x,niveau1,nom,prénom)

                                                                                 Rapporteur_REM1_x :Lier()
                    Choix_Attribut?(niveau,)

                     Sélection(x,niveau2,code,organisme)
                                                                              Créer(x,niveau2,code,organisme)

                                                                                Rapporteur_REM2_x :Lier()
            Message(‘Stratification complète pour Rapporteur)

Figure 7. Diagramme de Séquence pour l’Accès Progressif à l’information de la
classe Rapporteur. Deux instances de la classe REM sont créées pour définir la
stratification de la classe Rapporteur selon les besoins de l’utilisateur x.

   Le PASD correspondant au cas d’utilisation ‘construire la stratification pour la
classe Rapporteur’ (présenté de façon simplifiée dans la Figure 7) met en évidence
les classes et objets impliqués dans la construction de la stratification. La classe
Rapporteur du modèle de données est considérée ici en tant qu’entité masquable du
MAP. Elle va être stratifiée pour l’utilisateur en créant différentes instances de REM.
La séquence des échanges de messages montre que les représentations de la classe
Rapporteur sont construites conformément aux choix de l’utilisateur exprimés dans la
Figure 6. Deux instances de REM sont créées et supporteront l’accès progressif à la
classe Rapporteur.
    A travers les cas d’utilisation et diagrammes de séquence pour l’accès progressif,
nous avons proposé des notations permettant de spécifier les besoins des utilisateurs
en matière d’accès progressif. L’ensemble des spécifications est utilisé pour
instancier le MAP et ainsi construire pour un (groupe d’) utilisateur(s) une
stratification adaptée de son espace informationnel. Dans la partie suivante, nous
nous intéressons à l’exploitation des spécifications du MAP, en présentant ce modèle
comme un support de définition d’un hypertexte2.

5. Dérivation d’un hypertexte à partir d’une stratification

    Nous montrons dans cette partie comment la stratification établie grâce au MAP
peut être utilisée pour dériver l’hypertexte associé au SIW. Cette approche est
utilisée dans KIWIS, un environnement permettant la génération de SIW adaptables
que nous développons (Villanova-Oliver & al, 2002b). KIWIS repose sur une
technologie XML pour la gestion des données. Nous prenons l’exemple d’un MAP
instancié pour un utilisateur (celui de la Figure 4, en bas à gauche) qui met en
évidence une stratification du modèle de données en 3 niveaux. Certaines classes de
ce modèle sont également stratifiées : ainsi, la classe Rapporteur dispose de deux
représentations telles que définies par la Figure 7. Dans KIWIS, l’ensemble de ces
informations est disponible au format XML. Nous nous intéressons en premier lieu à
la détermination des nœuds de l’hypertexte, puis à celle des liens. Le lecteur pourra
se référer à la Figure 8 pour visualiser une interface construite à partir des concepts
présentés dans cette partie et générée avec l’environnement KIWIS à partir des
spécifications du MAP notamment.
    Dans notre hypertexte, nous distinguons trois types de nœuds en fonction du
contenu qu’ils véhiculent. Le contenu des nœuds est directement issu du MAP :
chaque nœud est un fichier XML obtenu comme résultat d’une requête sur la
stratification.
−   Les Nœuds REM_MD livrent des informations relevant de la stratification du
modèle de données. Chaque Nœud REM_MD est obtenu en interrogeant une REM du

2
 Nous parlons d’hypertexte par respect de la terminologie dans la mesure où nous ne traitons
pas dans ce papier le cas des informations multimédia. Toutefois nos autres travaux
(Villanova-Oliver & al, 2002a) supportant la prise en compte des informations multimédia, le
MAP peut légitimement servir de support à la dérivation d’un hypermédia.
modèle de données et décrit le contenu de cette REM. L’hypertexte est
potentiellement constitué de n Nœuds REM_MD, n étant égal au nombre de REM
définies par la stratification du modèle de données.
−     Les Nœuds REM_C véhiculent des informations concernant la stratification
d'une classe du modèle. Un Nœud REM_C est le résultat d’une requête à propos d’une
REM de classe. Une classe non stratifiée peut également être attachée à un Nœud
REM_C qui décrit alors la structure complète de la classe. L’hypertexte contient donc
m Nœud REM_C, tel que m est égal à la somme des nombres de REM définies pour
les classes du modèle de données plus le nombre de classes non stratifiées.
−    Les Nœuds Instances montrent des instances de classes. Dans l’hypertexte, le
nombre de Nœuds Instances varie selon l'option choisie pour visualiser les instances
(sous forme de liste, une à une, etc.). La requête associée à un nœud Instances porte
sur le modèle de données, mais est contrainte par la stratification (cf. les liens
informationnels ci-dessous).

                  Liens de masquage et dévoilement                          Lien informationnel
                  (non activable pour celui de gauche)                      (vers les instance de Rapporteur)
               SPHERE – WIS généré avec Kiwis                                                          
                        Profil     ?

                   Schéma Niveau 1                Rapporteur                     Inclure des liens sur les
                                                      Niveau 2                    tuples d’associations:
Lien de           Classes accessibles           Attributs visibles                                     H
                                                                                           analyse
zoom +                                               Nom                                                          Nœud
                      Rapporteur
(vers classe                                       Prénom                                                         REM_C
Rapporteur:           Document
                                                  Organisme
activé vers                                                                    Visualiser les instances
                                                    Code
classe
Document:      Associations accessibles
                                                                 Liste des Rapporteurs
non activé)             analyse

                                                Nom      Prénom      Organisme      Code    Analyses conduites
                                                                                                                   Nœud
  Nœud                                     Durand        Paul      CNFR           31        A01      A37         Instances
 REM_MD                                    Griet         Henri     ACthys         7         A02      A05
                                           Maréchal      Yves      DTPA           15        A07      A18   A06
                                           Refrain       Marie     DTPA           24        A55
                                           Couret        Tristan   CNFR           5
                                           Viruel        Josie     LLIR           12        A23      A54   A33

Figure 8. Exemple d’interface pour un hypertexte dérivé du MAP. Trois Nœuds
constituent cette interface : à gauche, un Nœud REM_MD associé à la REM de
niveau 1 définie pour le modèle de données : les classes Rapporteur et Document
sont accessibles; en haut à droite, un Nœud REM_C associé à la REM de niveau 2
définie pour la classe Rapporteur : les attributs Nom, Prénom, Organisme et Code
sont visibles ; en bas à droite, un Nœud Instances qui montre les instances de la
classe Rapporteur, représentées au niveau de REM 2 conformément à ce qui est
décrit dans le Nœud REM_C. Des liens de zoom +, de masquage / dévoilement, et
informationnel sont proposés sous la forme de boutons de commandes.

   Une page de l’hypertexte est soit un nœud, soit une composition de nœuds. Par
exemple, dans la Figure 8, la page de l’hypertexte est composée d’un nœud de
chaque type. L’organisation spatiale et l’aspect graphique des nœuds sont définis par
une charte graphique (au format XSL) qu’il est possible de modifier.
    Les liens existant entre les différents nœuds de l’hypertexte sont également
directement issus des spécifications du MAP : ils traduisent les relations existantes
entre les différents éléments du modèle. Nous les décrivons dans (Villanova-Oliver
& al, 2002c) en termes de mécanismes de navigation basés sur des fonctions
exploitant les concepts du MAP. Ces fonctions sont reprises ici et exprimées en
termes de liens reliant les nœuds. Les liens sont également vus comme des requêtes
sur les différentes REM. On distingue les liens suivants :
−     Les liens de masquage / dévoilement permettent de naviguer entre les nœuds de
type REM_MD. A partir du nœud courant (associé à une REM de niveau i), en suivant
le lien de dévoilement, on accède au nœud offrant un niveau de détail
immédiatement supérieur (i.e. la requête portée par le lien interroge la REM de
niveau i+1). Le lien de masquage permet l’inverse : la requête associée au lien
interroge la REM de niveau i-1. Lorsque le nœud courant est celui associé à la REM
de plus bas niveau de détail, le lien de masquage n’existe pas. S’il est associé à la
REM de plus haut niveau de détail, le lien de dévoilement est absent. Ces liens (et
donc les requêtes associées) sont définis de façon similaire pour les nœuds de type
Nœud REM_C attachés à une classe.
−     Les liens de zoom permettent, quant à eux, d’interroger un Nœud REM_C à partir
d’un Nœud REM_MD (zoom +) et inversement (zoom -). Il faut pour cela, qu’une
relation d’appartenance existe entre la classe à laquelle font référence les REM
associées au Nœud REM_C et la REM associée au Nœud REM_MD. En d’autres termes,
la classe doit apparaître dans la REM du modèle de données associé au Nœud
REM_MD.
−     Les liens informationnels permettent de passer d’un Nœud REM_C à un Nœud
Instances. La requête posée retourne des instances de classes montrées dans un Nœud
Instances. Ces instances ont présentées conformément à la REM associée au Nœud
REM_C à partir duquel on a activé le lien.

6. Travaux voisins

    Les vues (définies en bases de données – et largement appliquées depuis aux
SGBD orientés-objets (Abiteboul & al, 1990), à XML (Abiteboul, 1999) – sont
utilisées pour offrir à l’utilisateur une représentation pertinente des informations en
fonction de ses besoins. Les REM peuvent être considérées comme des séries
ordonnées de vues sur les données. A notre connaissance, il n’existe pas de travaux
proposant une organisation de plusieurs vues en une structure similaire à celle
présentée ici et favorisant de ce fait l’accès progressif à l’information.
   Les objets morcelés (Bardou, 1998) et les REM partagent l'idée d'un découpage
favorisant l'accès à différentes versions d'un même concept. Une différence
essentielle entre ces approches est cependant à noter. Les objets morcelés, issus de la
théorie des prototypes, sont définis sur les objets alors que les masques concernent
une définition structurelle de plus haut niveau d'abstraction qui vise les classes, mais
aussi les schémas. La structuration d'une classe en différentes REM peut toutefois
s'inspirer de la sémantique véhiculée par les morceaux d'un objet morcelé. Les objets
morcelés offrent différents aspects ou points de vue d'une même entité. Le morceau
racine d'une hiérarchie de morceaux correspond au point de vue le plus général de
l'entité représentée par l'objet morcelé. Les autres morceaux de la hiérarchie dénotent
des points de vue plus spécifiques. La création de REM peut être calquée sur le
découpage en points de vues de l'entité. Il serait alors nécessaire d’ordonner les
morceaux pour traduire l'accès progressif à l'information inhérent aux REM.
    La notion de contexte (Motschnig-Pitrik, 1999) peut elle aussi être envisagée
comme base pour la structuration en REM, appliquée non plus aux classes mais au
schéma. Notre approche peut être vue comme la spécification de contextes
informationnels à taille variable: l’espace informationnel de l’utilisateur est structuré
pour permettre son élargissement ou sa réduction. Cette notion est à rapprocher de la
proposition de (Theodorakis & al, 2000) où la notion de contexte est enrichie par le
concept de référence qui sert à masquer en partie l’information. Cependant, cette
approche n’est pas reliée à une démarche d’adaptation à l’utilisateur qui, selon nous,
augmente son intérêt.
    Nous avons montré comment il est possible de dériver un hypertexte à partir des
spécification du MAP. Plusieurs travaux, principalement issus de la communauté
hypermédia tels que (Garzotto & al, 1993)(Isakowitz & al, 1995)(Schwabe & al,
1996) ou plus récemment (Ceri & al, 2000) permettent également de spécifier une
structure hypermédia rendant compte des données du modèle supporté par le SI.
Différents éléments distinguent notre approche. D’une part, l’hypertexte que nous
dérivons met en œuvre l’accès progressif qui est un concept spécifique à notre
travail. D’autre part, les liens de navigation sont donnés implicitement par le MAP,
alors qu’il serait nécessaire de procéder à une description explicite de leurs
équivalents dans ces approches. Enfin, le couplage du MAP avec un modèle
utilisateur permet d’obtenir un hypermédia adapté à l’utilisateur sans que d’autres
traitements ou sélections de données ne soient nécessaires.

7. Conclusions et perspectives

    La notion de masque introduite dans ce papier a pour but la mise en oeuvre d’un
accès progressif à l'information dans les SIW. Nous avons présenté un modèle basé
sur cette notion permettant de décrire la stratification du modèle de données sous-
jacent au SIW et de ses constituants. Le Modèle pour l’Accès Progressif permet
d’accéder de façon graduelle à des informations de granularités différentes (modèle
complet, classe, ou attribut référençant une information multimédia). Pour cela, les
concepts d’entité masquable et de représentation d’entité masquable ont été décrits
dans une version minimale et extensible du MAP. Une extension du modèle a ensuite
été proposée pour rendre compte de l’approche dans le cas d’un modèle de données
décrit en UML. Nous avons montré comment, via un modèle utilisateur associé au
MAP, il est possible de définir des stratifications propres à chaque utilisateur, bien
que celles-ci reposent sur un seul et même modèle de données. Des notations
inspirées d’UML ont été proposées afin d’instaurer un dialogue avec l’utilisateur
permettant de mettre en évidence ses attentes en matière d’accès progressif à
l’information. Le MAP peut ensuite être instancié pour créer la stratification reflétant
les besoins de l’utilisateur. Enfin, nous avons expliqué comment il est possible de
générer un hypertexte à partir des spécifications du MAP. Cet hypertexte intègre des
nœuds et liens directement issus des représentations d’entité masquable et des
relations entre elles, ainsi que de leurs relations avec le modèle de données.
   Le MAP est exploité par KIWIS, un environnement de conception et de
génération automatique de SIW adaptables que nous développons (Villanova-Oliver
& al, 2002b). Une première expérimentation de KIWIS a été menée dans le projet
SPHERE (Système d'Information géographique, hydrologique et historique sur les
inondations (Davoine & al, 2001)). L’implémentation des notions introduites s’est
révélée d'un usage intuitif pour les différentes catégories d'utilisateurs impliquées
(experts de disciplines différentes, élus, …) qui consultent sur un même thème (celui
des inondations) des données distinctes et à des degrés de détail différents.
    Nos travaux s'orientent à présent principalement autour des possibilités de
détermination et/ou réorganisation automatiques des stratifications en fonction des
parcours déjà effectués par l'utilisateur dans le SIW. Cette adaptabilité dynamique de
la stratification suppose de tracer les comportement de l’utilisateur, de les
interpréter, et de définir des règles en terme de (re)stratification. Par exemple, un
double-clic systématique sur un lien de dévoilement peut signifier que le niveau de
détail courant n’est pas pertinent pour cet utilisateur ou du moins que son intérêt
pour le niveau suivant est supérieur. Différentes solutions pour réorganiser la
stratification peuvent alors être envisagées: redéfinir les niveaux de détail incriminés
afin de présenter les données atteintes par double-clic plus tôt, fusionner les niveaux
dont les informations sont estimées d’intérêt équivalent, etc.

8. Bibliographie

Abiteboul S. & Bonner A., Objects and Views. ACM SIGMOD Conference on Management
   of Data, 1991, pp. 238-247.
Abiteboul S., On Views and XML, Proceedings of ACM Symposium on Principles of
   Database Systems, 1999, pp. 1-9.
Bardou D., Étude des langages à prototypes, du mécanisme de délégation, et de son rapport
   à la notion de point de vue, Thèse de Doctorat, Université Montpellier II, avril 1998.
Ceri S., Fraternali P. & Bongio A., Web Modeling Language (WebML): a modeling language
   for designing Web sites, Proc. of the 9th Int. World Wide Web Conference, Amsterdam,
   May 15-19, 2000.
Conallen J., Building Web Applications with UML, Addison-Wesley, 2000.
Conklin J., Hypertext: An introduction and survey. IEEE Computer, 20(9), 1987, pp. 17-41.
Davoine P-A., Martin H., Trouillon A., Cœur D., Lang M., Bariendos M. & Llasat C.,
   Historical Flood Database for the European SPHERE Project: modelling of historical
   information, 21th Gal Assembly of the European Geophysical Society, Nice, March 2001.
De Troyer O. & Leune C., WSDM: A User-Centered Design Method for Web Sites.
   Computer Networks and ISDN systems, Proc. of the 7th Int. World Wide Web
   Conference, eds. H. Ashman, P. Thistlewaite, Elsevier, 1998, pp. 85 - 94.
Garzotto F., Paolini P. & Schwabe D., HDM. A model-based approach to hypertext
   application design, ACM Trans. on Information Systems, 11(1), 1993, pp 1-26.
Gnaho C., Définition d’un cadre méthodologique pour l’Ingénierie des Systèmes
   d’Information, Web Adaptatifs, Thèse de Doctorat, Paris I, France, 2000.
Halasz, F.G., “Reflections on NoteCards: Seven Issues for the Next Generation of
   Hypermedia Systems,” Communications of the ACM, 31(7), July 1988, pp. 836-852.
Isakowitz T., Stohr A., Balasubramanian E., RMM : A methodology for structured
    hypermedia design. Communicatios of the ACM 38(8), pp 34-44, August 1995.
Jacobson I., Christerson M., Jonsson P. & Oevergaard G., Object Oriented Software
    Engineering : a Use Case Driven Approach, Addison Wesley, 1992.
Motschnig-Pitrik R., Contexts and Views in Object-Oriented Languages, in P. Bouquet, L.
   Serafini, P. Brézillon, M. Benerecetti, F. Castellan (Eds.): Modeling and Using Context,
   Proc of the 2nd Int. and Interdisciplinary Conference, CONTEXT'99, Trento, Italy, 1999.
Nielsen J., Hypertext and Hypermedia, Academic Press, 1990.
Rolland C., “Information Systems and Web Information Systems : A Methodological
   Perspective”, Proc. Int. Forum cum Conference on Information Technology and
   Communication at the Dawn of the New Millennium, Bangkok, Thailand, August 2000.
Rumbaugh J., Jacobson I. & Booch G., The Unified Modeling Language Reference Manual.
   Addison-Wesley, Object Technology Series, 1999.
Schwabe D., Rossi G., Barbosa S., Systematic Hypermedia Application Design with
   OOHDM, Proc. Of ACM Hypertext, 1996.
Theodorakis M., Analyti A., Constantopoulos P. & Spyratos N., Contextualization as an
   Abstraction Mechanism for Conceptual Modelling, Proc. of the 18th International
   Conference on Conceptual Modeling, ER'99, Paris, France, November 15-18, 1999.
Tsichritzis D. & Klug A., The ANSI/X3/SPARC DBMS Framework, Report of the Study
    Group on Data Base Management Systems, AFIPS Press, 1977.
Villanova-Oliver M., Gensel J. & Martin H., Une approche objet pour l’accès progressif à
    l’information, Actes de la conférence Langages et Modèles à Objet, Montpellier, 23-25
    janvier 2002a.
Villanova-Oliver M., Gensel J., Martin H. & Erb C. Design and Generation of Adaptable
    Web Information Systems with KIWIS, Proc. of the 3rd IEEE International Conference
    on Information Technology (ITCC2002), Las Vegas, USA, April 8-10, 2002b.
Villanova-Oliver M., Gensel J. & Martin H. Stratification of the Information Space in Web-
    based Information Systems, Proc. of the 10th European Conference on Information
    Systems, Gdańsk, Poland, June 6-8, 2002c.
Vous pouvez aussi lire