Bilan-csc-2003

Thème CSC : Composants et Services de Coopération

(disponible en ligne sous: http://www.laas.fr/OLC/theme3.html)

Les activités de coopération sont caractérisées par des groupes d’utilisateurs physiquement (ou virtuellement) distribués qui coopèrent par des interactions et qui sont regroupés en sessions de travail impliquant l’utilisation de plusieurs outils pour le traitement, l’échange et le partage de différents types de données. Les sessions multi-utilisateurs multi-outils constituent les unités de base pour la coopération. Le résultat effectif de la coopération lors d’une session est le produit des actions concurrentes effectuées pendant la définition et l’exécution de la session. Ces actions nécessitent d’être coordonnées, au niveau communication et application, afin d’éviter les incohérences de vues, de données, et de composition des groupes. Notre travail, au cours des deux dernières années, a porté sur la définition de modèles de coordination, leur extension, leur consolidation et leur application. Deux catégories d’interdépendances sont traitées de manière unifiée pour les différents problèmes de coordination : les interdépendances événementielles (liées à l’ordonnancement des événements) et les interdépendances structurelles (liées à la structuration des groupes de coopération, à la structure de l’espace de coopération, et à l’architecture des applications).

Gestion des sessions de coopération

La gestion des sessions a été au centre de nos efforts durant ces deux dernières années. Nous y avons affiné et formalisé les approches expérimentées dans le cadre du projet IST DSE. Nous avons développé deux études, qui couvrent les deux catégories d’interdépendance identifiées, et qui traitent l’interdépendance définie par des relations de « causalité prédéfinie » induites par la distribution des rôles dans le groupe des participants et par la distribution des instances de composants sur les sites de coopération [Molina et al. 2003] [Rodriguez et al. 2002]. Il s'agit par exemple de règles permettant d'accepter ou non des entrées après l'ouverture d'une session (admission des retardataires). Il s'agit aussi de règles permettant d'accepter ou non des utilisateurs non invités (session ouverte) ou permettant de limiter la portée de la messagerie instantanée (de l'extérieur vers le groupe et réciproquement). D’un point de vue réalisation, notre travail a porté sur la conception et la mise en œuvre d’un service de gestion de session régi par des règles de coordination prédéfinies. Ce service fournit les fonctions permettant aux participants de définir, d’initialiser, de chercher, de se joindre à, de quitter, d’ouvrir, de clore et de terminer une session. Deux niveaux de service principaux ont été développés. Le premier permet de planifier une session de coopération (définition et distribution des rôles, formation des groupes et ordonnancement des sessions). Le deuxième permet de visualiser et de gérer le déroulement d’une session programmée en commençant par les invitations, et en terminant par la fermeture de la session tout en passant par différents états de contrôle dont l’ouverture et la clôture de la session.

Gestion des architectures dynamiques

Pour la gestion des architectures multi-composants distribuées et dynamiques, nous avons continué notre réflexion sur la gestion des interdépendances structurelles guidées par les règles de transformation de graphes de composants. Cet effort a porté sur le développement d’une approche de « coordination guidée par la structure » qui s'appuie sur des descriptions de « graphes évolutifs étendus » dont les nœuds décrivent les composants et les arcs décrivent les liens d’interaction entre les composants. Cohérence des données distribuées Ce problème a été traité au niveau application (par le développement d’un outil d’édition et d’annotation partagée de documents HTML et de pages Web sur Internet) et au niveau middleware par le développement d’un protocole de communication causale de groupe ([Pomares et al. 2002] élu 2ème meilleur papier étudiant à la conférence SMC’02). Contrairement au cas de la causalité prédéfinie dans la gestion des sessions, il s’agit, ici, de dépendances non prévisibles et qui peuvent entraîner des incohérences du style « réception des réponses avant les questions dans une discussion de groupe ». Un service de communication de groupe causale a été défini et implanté comme une extension de l’API JSDT (Java Shared Data Toolkit) permettant une facilité et une transparence d’utilisation. Une intégration des deux logiciels a été réalisée dans le cadre de l’application d’édition coopérative. Les deux versions de cette application intégrée sont disponibles sous http://www.laas.fr/sedit.

Publications

  • Molina et al. 2003 J.M. Molina-Espinosa, J. Fanchon, K. Drira A logical model for coordination rule classes in collaborative sessions. International Workshop on Distributed and Mobile Collaboration (IEEE WETICE, DMC'2003), Linz (Autriche), June 2003
  • Pomares et al. 2002 S. Pomares Hernandez , K. Drira , J. Fanchon , M. Diaz . An efficient multi-channel distributed coordination protocol for collaborative engineering activities. 2002 IEEE International Conference on Systems Man and Cybernetics (SMC'02), Hammamet (Tunisie), October 2002.
  • Rodriguez et al. 2002 L.M. Rodriguez Peralta , T. Villemur , K. Drira , J.M. Molina-Espinosa. Managing dependencies in dynamic collaborations using coordination diagrams. 6th International Conference on Principles of DIstributed Systems (OPODIS'02), Reims (France), December 2002.