Présentation

Objectifs

L’objectif de DisCOO est de coordonner les échanges de données entre plusieurs partenaires travaillant sur des sites géographiquement éloignés. Afin de présever l’autonomie de chacun de ces partenaires, DisCOO a été développé de manière à répondre aux besoins suivants:

  • Chaque partenaire dispose de son propre espace de production local.
  • Le contrôle des échanges de données entre partenaires est également distribué.
  • Les règles de coopération entre les partenaires ne sont pas imposées par le système mais négociées par les partenaires.

Architecture

Comme cela est représenté sur la figure suivante, une activité est principalement constituée de quatre composants: un espace de coopération et un espace de travail pour stocker et manipuler les objets partagés; un protocole et un coordinateur pour assurer le contrôle de ses échanges avec les autres activités.

  • L'espace de coopération est l’espace local de gestion de la production de l’activité. Ses fonctions sont la création et la destruction des objets, appelés ressources, manipulés par l’activité, l’identification des ressources et de leurs copies, la gestion des versions et des configurations de ces ressources locales. C’est entre ces espaces de coopération qu’auront lieu les échanges de données entre activités.
  • L'espace de travail présente à l’utilisateur les objets partagés sous une forme utilisable par ses applications habituelles (fichiers .DXF pour Autocad ou .DOC pour Word par exemple).
  • Le protocole définit les règles de coopération que cette activité doit respecter pour échanger des ressources avec les autres activités du système. Il s’agit en fait de savoir quels sont les schémas de coopération que l’activité concernée a négociés avec les autres activités. Il est également chargé de vérifier, à la demande du coordinateur, si une opération concernant l’activité associée doit être acceptée ou refusée. Il se base pour cela sur l’histoire locale de l’activité, les différentes règles des schémas de coopération étant utilisées en tant que pré-conditions pour cette opération.
  • Le coordinateur joue en quelque sorte le rôle d’interface de cette activité vis-à-vis des autres activités du système. Toutes les communications entre activités doivent passer par leurs coordinateurs respectifs. Ceci évite que deux activités ne puissent s’échanger des ressources directement (i.e. entre leurs espaces de coopération) sans que ces échanges ne soient contrôlés par le protocole. En outre, ceci nous permet de définir de manière indépendante la partie “stockage des données” de la partie “contrôle des échanges”.

archi
Architecture DisCOO

Suivant