Projet : ADP

previous up next contents
Précédent : Protocoles pour les applications multimedia Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et


Sous-sections


   
Environnements pour le travail coopératif assisté par ordinateur



Participants : Alain Cédelle, Stéphane Lorcy, Géraldine Texier, Noël Plouzeau.

Mots clés : architectures à objets réparties, qualité de service, parallélisme, transactions, session de coopération .

Glossaire :

réification emploi d'une représentation concrète pour exprimer une notion abstraite

Résumé :

Réification de la notion de contrat

Les besoins en matière de suivi de la qualité de service reçue et offerte par les applications de travail coopératif ont nécessité la définition d'un nouveau modèle d'exécution de requête pour des architectures à objets réparties. Ce modèle d'exécution est fondé sur la notion de contrat entre un objet client et un système fournisseur de service. Dans le cadre de Rusken, le concept de contrat classique [Mey92] a été étendu par réification, pour permettre sa manipulation explicite lors de l'exécution du code des différents objets qui composent l'application. Dans le système que nous avons développé, un contrat est une classe d'objets qui permet de définir des propriétés d'exécution des services disponibles. Un contrat lie un objet client à un objet prestataire de service, en définissant les obligations de chacun, par exemple les pré- et postconditions d'exécution de méthode, les contraintes temporelles (délais ou instants) ou le degré d'exactitude d'une information (dernière valeur ou bien valeur approchée d'un résultat). La donnée de telles contraintes contribue à l'amélioration de la fiabilité des logiciels [RHG90]. Les difficultés inhérentes aux applications réparties (sensibilité aux variations de la qualité de service offerte par les systèmes de communication, défaillances de sites, partitions de réseaux) imposent la prise en compte de ces problèmes par le mécanisme de contrat. Le modèle proposé en 1997 par Rusken offre une abstraction des divers aléas de communication via une extension du concept de contrat. Les travaux effectués en 1998 sur le modèle de contrat créé en 1997 ont porté sur le renforcement des capacités d'expression de contrats répartis (qui lient des objets répartis sur différents sites physiques). Par exemple, il est possible de négocier des contrats de groupe, incluant des propriétés sur les interactions entre membres du groupe (consensus, atomicité des actions sur des objets du groupe) [[29]].

Gestion de consensus pour des applications de réalité virtuelle multi-utilisateurs

Au cours de l'année 1998, les membres de l'action Rusken ont développé une application multi-utilisateur permettant la navigation dans un espace virtuel tridimensionnel. Les différents utilisateurs étant par principe géographiquement dispersés, des précautions particulières doivent être prises pour maintenir la cohérence de la perception des actions de chaque utilisateur dans l'espace virtuel (déplacements des avatars qui incarnent les utilisateurs, actions sur les objets présents dans l'environnement). Le modèle de gestion de la qualité de service conçu par Rusken a permis de développer en 1998 un algorithme réparti nouveau [[27]] assurant la construction et la supervision de groupes d'utilisateurs présents dans l'espace virtuel. En effet, les aléas de la communication par le réseau ne permettent pas de garantir une cohérence complète pour tous les utilisateurs connectés à un moment donné à un espace virtuel. L'algorithme développé partitionne dynamiquement ces ensemble d'utilisateurs en sous-ensembles. Pour chaque sous-ensemble, les propriétés de consensus [GA96] sur les membres du groupe et sur les actions réalisées sont assurées. Cette propriété de cohérence est connue des utilisateurs et fait partie de l'ergonomie de l'interface homme-machine du logiciel de navigation.

Contrôle du parallélisme et de la coopération dans les applications de travail coopératif

Les applications de travail coopératif ont des caractéristiques spécifiques liées à la nature même du service qu'elles rendent. En effet, toute application de travail coopératif est à la fois parallèle (plusieurs utilisateurs l'utilisent simultanément) et répartie (les utilisateurs sont géographiquement dispersés). Comme pour toute application parallèle, il est nécessaire que le parallélisme soit parfaitement traité et maîtrisé pour assurer la cohérence et l'exactitude des résultats. Cependant, les modèles de contrôle du parallélisme exigés par les applications de travail coopératif diffèrent notablement de ceux plus fréquemment rencontrés dans les domaines du calcul parallèle ou des bases de données [Ela92]. L'échelle de temps est radicalement différente : les opérations concurrentes effectuées sur des données par des applications de travail coopératif peuvent durer de quelques secondes à quelques mois. Un mécanisme couramment utilisé dans un tel cas est le concept de transaction, qui permet d'imposer un ordre particulier aux opérations s'effectuant concurremment sur un groupe d'objets [PC94]. Au cours de l'année 1998, un algorithme original de gestion du parallélisme a été conçu par Rusken. Ce modèle s'appuie sur le principe de détection des interactions potentielles entres utilisateurs et sur leur contrôle implicite [Edw94]. En effet, lorsque plusieurs utilisateurs travaillent simultanément dans un espace virtuel, ils accèdent à des objets tels que des lieux, des documents, des applications. La coopération des utilisateurs passe par l'usage concurrent de certains de ces objets. Pour structurer et expliciter cet usage, de nombreux modèles d'application de travail coopératif s'appuient sur la définition explicite et a priori de sessions de coopération. Notre modèle s'appuie au contraire sur la détection des accès concurrents et la construction de sessions dynamiques. Notre notion de session est moins contraignante car pilotée par les actes des utilisateurs et non imposée a priori. La mise en oeuvre répartie s'appuie sur les services de contrats.

Veille technologique

L'expansion très rapide des technologies de l'information et la concurrence intense qui règne en ce domaine rendent nécessaires des activités de veille scientifique et technologique. Les technologies encore récentes possèdent des limites tant conceptuelles que de réalisation (nombreuses limitations des mises en oeuvre, bogues fréquentes). Ces limites sont difficiles à estimer sans une étude expérimentale sérieuse. C'est pourquoi de nombreux essais ont été réalisés parallèlement aux travaux de conception et de réalisation de la plate-forme proprement dite. En 1998, les technologies liées au Web, à Java et à la construction d'applications hétérogènes ont été étudiées. Les travaux de veille ont également portés sur l'évaluation des technologies de visioconférence depuis le poste de travail individuel.



previous up next contents
Précédent : Protocoles pour les applications multimedia Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et