THESE présentée par Slim BEN ATALLAH pour obtenir le titre de Docteur de l’Université de Savoie (arrêtés ministériels du 5 juillet 1984 et du 30 mars 1992) Spécialité INFORMATIQUE Architectures systèmes pour la construction et l’exécution de collecticiels Soutenue le 27 juin 1997 devant le jury composé de : M Roland Balter Président M Michel Beaudoin-Lafon Rapporteur M Bertrand David Mlle Laurence Nigay Examinateur M Michel Riveill Directeur de thèse Thèse préparée au sein du projet INRIA SIRAC Introduction D’outil de calcul et de stockage de données qu’il était il y a quelques dizaines d’années, l’ordinateur a vu son emploi s’étendre à des domaines d’utilisation variés, notamment aux applications de télécommunications. Cette évolution a été largement influencée par l’essor de la technologie numérique, aussi bien dans le domaine du traitement de l’information que de la communication. Actuellement, son et image sont aisément véhiculés à travers des réseaux informatiques. Dans le cadre de notre travail, nous nous intéressons à l’étude et au développement de systèmes informatiques permettant à des utilisateurs répartis d’utiliser leurs stations de travail pour communiquer, travailler en commun et organiser des activités de groupe. 1 Travail coopératif assisté par ordinateur et collecticiels Les collecticiels sont des applications qui permettent à des utilisateurs de partager un environnement commun et de participer à une tâche commune (e.g. la rédaction d’un document) à ...
THESE
présentée par
Slim BEN ATALLAH
pour obtenir le titre de
Docteur de l’Université de Savoie
(arrêtés ministériels du 5 juillet 1984 et du 30 mars 1992)
Spécialité
INFORMATIQUE
Architectures systèmes pour la
construction et l’exécution de
collecticiels
Soutenue le 27 juin 1997 devant le jury composé de :
M Roland Balter Président
M Michel Beaudoin-Lafon Rapporteur
M Bertrand David
Mlle Laurence Nigay Examinateur
M Michel Riveill Directeur de thèse
Thèse préparée au sein du projet INRIA SIRAC
Introduction
D’outil de calcul et de stockage de données qu’il était il y a quelques dizaines
d’années, l’ordinateur a vu son emploi s’étendre à des domaines d’utilisation
variés, notamment aux applications de télécommunications. Cette évolution a été
largement influencée par l’essor de la technologie numérique, aussi bien dans le
domaine du traitement de l’information que de la communication. Actuellement,
son et image sont aisément véhiculés à travers des réseaux informatiques.
Dans le cadre de notre travail, nous nous intéressons à l’étude et au
développement de systèmes informatiques permettant à des utilisateurs répartis
d’utiliser leurs stations de travail pour communiquer, travailler en commun et
organiser des activités de groupe.
1 Travail coopératif assisté par ordinateur et collecticiels
Les collecticiels sont des applications qui permettent à des utilisateurs de
partager un environnement commun et de participer à une tâche commune (e.g. la
rédaction d’un document) à partir de leurs stations de travail sans avoir à se
déplacer pour coordonner leurs actions. De ce fait, les collecticiels allient le
traitement local des données sur des stations de travail et la communication de
ces données entre des utilisateurs. Ils répondent ainsi aux besoins de plus en
plus pressants des entreprises souhaitant réunir "virtuellement" divers
intervenants dans différents domaines d’expertise. Ces applications doivent
remplir deux fonctions : réaliser la tâche spécifiée, et respecter les règles usuelles
d’interaction des utilisateurs pour la réalisation d’une tâche collective. Cela
revient à coordoner les activités d’un groupe d’utilisateurs au sein d’un groupe
(e.g. déplacer un objet virtuel à plusieurs, éditer un journal). Ces applications
permettent d’organiser ces opérations en mettant à la disposition des
utilisateurs des outils coopératifs (applications partagées) et des services de
coordination (politiques de contrôle pour utiliser convenablement les applications
partagées) afin d’atteindre les objectifs fixés.
2 Introduction
Terminologie et définitions
Le terme anglo−saxon CSCW, désignant "Computer−Supported Cooperative
Work", est employé dans la littérature pour définir l’ensemble des systèmes
informatiques qui facilitent la coopération d’individus autour d’une tâche
commune. La traduction française de CSCW est Travail Coopératif Assisté
par Ordinateur (TCAO). L’autre terme anglo−saxon souvent utilisé en
substitution de CSCW est groupware. Ce terme, initialement employé dans le
langage courant des scientifiques américains, a vite connu une utilisation plus
universelle dans la littérature informatique. En 1978, Peter and Trudy
Johnon−Lenz, pionniers dans le travail coopératif, introduisirent le terme
groupware pour définir une activité de groupe intentionnelle augmentée d’un
support logiciel permettant sa réalisation. "Collecticiel" est le terme employé
dans la communauté française pour désigner groupware.
Depuis l’émergence du CSCW, plusieurs applications et produits industriels
ont vu le jour. Néanmoins, l’outil le plus diffusé reste le courrier électronique
(electronic mail) [Sproull and Kiesler 91]. L’utilisation du courrier électronique
accompagnée d’une organisation des dialogues et une structuration des
échanges de messages a donné naissance à la classe d’applications de
téléconférences ([Hiltz and Turoff 78], [Hiltz 84]). Depuis, le CSCW est fondé
sur la convergence des télécommunications et du traitement informatique des
données. Il évoque la possibilité de participer à des conférences à distance en
utilisant les technologies audio−visuelles. Le résultat est souvent appelé
Desktop vidéoconferencing. L’ordinateur est donc utilisé aussi bien pour réaliser
des tâches qui nécessitent de l’assemblage et de la coordination (e.g. la rédaction
d’un document), que pour réaliser des tâches fondées sur la communication
comme, par exemple, une prise de décision par un groupe (group decision
support system).
Une définition plus générale de la coopération peut être la suivante : "un
ensemble d’interactions médiatisées entre des individus qui partagent un
ensemble de ressources communes". Les interactions peuvent être répertoriées
en deux classes : des interactions implicites causées par le partage de ressources
informatiques communes (données communes), des interactions explicites
réalisées par des échanges de messages (messages textuels, données audio ou
vidéo) entre les individus.
3
Aujourd’hui encore, plusieurs controverses sur la nature et la définition des
termes CSCW et Groupware persistent. Par exemple, Malone (cité dans
[Coleman 92]) donne la définition suivante du groupware : "Une technologie
informatique utilisée pour assister des utilisateurs dans l’accomplissement d’un
travail commun." Peter et Trudy Johnson−Lenz qui ont utilisé ce terme dans
[Johnson−Lenz 80] et [Johnson−Lenz 82] donne finalement dans
[92] la définition : "computer−mediated culture".
Le collecticiel est tributaire de plusieurs disciplines technologiques, sociales
et économiques. L’essor que connaît actuellement le domaine du TCAO est
essentiellement lié à l’émergence des réseaux de communication et à la large
diffusion des moyens informatiques dans les environnements professionnels,
éducatifs et domestiques.
Dans une récente étude des collecticiels [Coleman 95], Bob Flanagan
(ancien analyste au Workgroup Technologies Inc. et actuel analyste au Yankee
Group) estime le marché du collecticiel à 1,7 billion de dollards en 1993. Il prévoit
une croissance des ventes atteignant en 1998 5,5 billions de dollars. La plus
grande croissance concerne essentiellement le marché du courrier électronique
(email) et les applications flot de travail (en anglais Workflow). Le courrier
électronique représentant à lui seul 19% du marché mondial.
L’utilisation des collecticiels au sein des entreprises est essentiellement
motivée par un meilleur contrôle des coûts de production, une augmentation de la
productivité, une diminution du nombre de réunions, une automatisation des
processus de routine (e.g. production de la documentation technique de produits),
une amélioration de la coopération entre des équipes géographiquement
réparties, une meilleure coordination au sein des équipes, ...
Actuellement, les collecticiels peuvent être regroupés en 5 catégories
d’applications : les applications de messagerie/courrier électronique, les
applications d’édition de documents partagés, les outils de téléconférence, les
outils de Workflow, et les environnements de développements partagés.
Cette thèse traite la problematique de la construction de différent groupes de
collecticiels en prenant comme contrainte essentielle la récupération
d’applications existantes (e.g. éditeurs de texte, palettes de dessin, navigateurs
World Wide Web, ...). Nous allons, dans ce qui suit présenter les objectifs de ce
travail et l’approche suivis.
4 Introduction
2 Objectifs du travail
L’objectif de ce travail est d’étudier les architectures des collecticiels et les
protocoles de contrôle qui régissent le travail coopératif afin de faciliter la
conception, la construction, et l’exécution de ces applications dans divers
environnements (plates−formes, réseaux, applications). À la différence des
travaux qui se sont intéressés aux applications coopératives, notre étude est
fondée sur l’analyse des besoins des collecticiels à différents niveaux : de
l’"utilisateur", du support d’exécution et du réseau. Le but recherché à travers
cette étude est de trouver des solutions génériques pour construire et utiliser des
collecticiels. Le terme de "généricité" est employé pour caractériser des solutions
pouvant être appliquées pour réaliser des tâches variées dans des
environnements d’exécution variés. L’originalité de ce travail se situe à deux
niveaux.
• La conception d’une architecture générique. L’un de nos objectifs
est de proposer aux développeurs d’applications des méthodes, des
techniques et des outils qui facilitent et accélèrent la mise en œuvre des
applications coopératives.
L’architecture que nous proposons est appelée CoopScan. Elle est
décrite dans un modèle d’agents communicants qui représentent les
différents modules intervenant dans un collecticiel. Conceptuellement, les
agents de CoopScan implantent les fonctions de coopération qui
permettent à plusieurs utilisateurs de partager un espace commun en
temps−réel. Cette architecture est fondée sur une stratégie de
construction par réutilisation de modules logiciels existants, elle peut être
instanciée pour la réalisation de différentes applications sans apporter de
modifications majeures à l’implantation des agents. La validation de
CoopScan est faite à travers le développement de deux applications
coopératives : une application de téléréunion et un navigateur World Wide
Web coopératif.
• La conception et la mise en œuvre des protocoles de contrôle.
Le second aspect auquel nous nous intéressons est celui de la conception
et la mise en œuvre des fonctions de coopération. Plus particulièrement,
nous nous intéressons à la gestion des contextes partagés par les
utilisateurs d’un collecticiel et les protocoles de connexion−déconnexion
dynamique de participants. Dans ce contexte, nous proposons une
classification de ces protocoles en fonction de la répartition de leurs
5
exécutions. La validation expérimentale de ces protocoles est faite dans
l’implantation des deux applications pilotes introduites plus haut.
3 Approche suivie
Dans