MAP : un Modèle pour l'Accès Progressif à l'Information
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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