|
Projet ECOO:
Environnements pour la COOpération Version 4.1. du 09/04/99
Mots-clés:Coopération, Coordination, Distribution, Entreprise Virtuelle, Environnement, Interopérabilité, Objet, Système, Système de Gestion de Bases de Données Avancés, TransactionSur le WEB:http://www.loria.fr/equipes/ecoo/
Ce document présente une proposition de projet dans le domaine des concepts, services et outils pour la coopération dans les entreprises virtuelles distribuées. Il est organisé ainsi:
Projet ECOO: Environnements pour la COOpération Version 4.1.du 09/04/99 Sur le WEB:http://www.loria.fr/equipes/ecoo/CompositionResponsable scientifique: Personnel UMR 7503: Ingénieur Expert Doctorants Post-doctorant IntroductionContexte et motivationsL'évolution des performances des réseaux d'ordinateurs combinée à la baisse de leur coût permet désormais aux compagnies de coopérer électroniquement pour former des entreprises virtuelles. Cette coopération peut être pérenne, comme par exemple entre un constructeur automobile et ses sous-traitants, ou éphémère comme par exemple les différents corps de métier dans la construction d'un bâtiment. Une telle construction assemble des partenaires avec des compétences complémentaires pour une durée limitée à la construction (c'est le concept d'entreprise projet).
Le projet ECOO est motivé par la mise en Il s'agit d'un sujet très actuel sur lequel de nombreuses recherches démarrent ou redémarrent en conjonction avec l'évolution des infrastructures matérielles-logicielles. Mais l'évolution des technologies, si elle contribue à une meilleure acceptation de la communication électronique n'en est qu'une composante. Une autre condition est que la communication électronique ne modifie pas inutilement le comportement des partenaires, et que la la modification de comportement soit compensée par une plus-value appréciable qui fasse accepter cette modification. Cela passe par la définition de modèles d'interaction, de coopération, qui correspondent le plus possible aux usages courants. Un important travail de recherche est donc à faire, y compris dans des domaines où un effort de normalisation des échanges informatisés a été fait. En effet, cette normalisation porte essentiellement sur la définition de formats d'échange de données, mais la littérature sur le sujet souligne le manque d'information sémantique accompagnant ces échanges. Cela a pour effet de déranger la synergie entre partenaires pourtant souvent présente sur le terrain. Au contraire, il faut développer un média de communication qui amplifie cette synergie.
Le projet ECOO va mener une recherche dans cette direction. L'objectif
est de développer des modèles informatiques simples permettant de
mettre en
Soulignons aussi que, de la même façon que les intranets sont
couramment développés en utilisant une technologie internet,
nous pensons que les résultats des recherches que nous développerons
pour les entreprises virtuelles s'appliqueront également à la mise en
Objectifs du projetL'objectif général du projet est de développer des modèles informatiques simples permettant de mettre en
Concrètement, il s'agit de réaliser une infrastructure, en
termes de concepts, mécanismes et langages pour la définition,
l'administration, et la mise en
Le problème dans sa globalité est très vaste. Il faut structurer les
données de l'entreprise en intégrant les mémoires des entreprise
partenaires, faciliter la communication et la négociation entre ces
partenaires, définir, gérer et faire interopérer leurs procédés
... La section qui suit donne un modèle d'entreprise virtuelle et la
section
Modèle d'entreprise virtuelleLa figure décrit une architecture fonctionnelle d'une
entreprise virtuelle. Elle dessine une telle entreprise comme un
projet coopératif impliquant des partenaires autonomes devant faire
interopérer leur procédés.
La fonction de gestion des données assure le stockage et l'accès aux informations nécessaires à la vie de l'entreprise. Les modèles prédéfinis (d'entreprise, de procédés ...) sont les briques de base sur lesquelles les concepteurs peuvent s'appuyer pour définir une nouvelle architecture d'entreprise ou de nouveaux procédés. L'état courant de l'entreprise est défini par l'état des produits, en particulier les documents, et des procédés actifs. Il fournit des informations sur l'état d'avancement des procédés actifs. Il peut être interrogé par les procédés actifs ou par une personne physique. Les données historiques et d'audit sur les procédés peuvent supporter des mesures d'efficacité, aider à l'évolution de l'entreprise et permettre de faire du data mining ... La fonction d'organisation de l'entreprise doit permettre de modéliser l'entreprise pour la diriger en intégrant la dimension multi-partenariat, ce qui nécessite la définition de nouvelles architectures organisationnelles, de nouvelles structures hiérarchiques impliquants différents niveaux de responsabilités, d'autorisation, de nouveaux circuits de décision ...
La fonction de coordination de procédés assure
l'<< enchaînement >> distribué de tâches, en coopération avec la
fonction de communication
La fonction de communication est tout aussi fondamentale. Elle
doit fournir les moyens aux partenaires distribués de travailler
(presque) comme s'il étaient sur le même lieu. Un premier problème
dans ce contexte concerne la conscience qu'un individu a de l'intérêt
et de l'avancement de son travail par rapport à la globalité ainsi que
du travail des autres par rapport aux tâches communes et aux objets
partagés. La communication s'appuie sur des modèles de travail
coopératif synchrone ou asynchrone, plus ou moins formalisés,
réutilisant ou pas les documents de l'entreprise La fonction d'interopérabilité gère les problèmes liés à la nature multi-entreprise d'une entreprise virtuelle: hétérogénéité, co-concurrence .... Elle doit rendre les procédés et les données des partenaires interopérants tout en préservant le besoin naturel d'autonomie de chacun. On intègre donc dans cette dimension les aspects gestion de la confidentialité et de la sécurité ...
La dernière fonction qui apparaît sur la figure Pour conclure cette section, rappelons, comme nous venons de le souligner à propos de la coordination et de la communication, que le contour entre ces fonctions n'est pas toujours simple à dessiner. Caractéristiques et approche de la recherche prévue dans le projet ECOOLa recherche prévue dans le projet ECOO touchera aux différentes fonctions décrites, mais avec des forces différentes. On organisera principalement la recherche autour de deux axes principaux:
Concernant l'interopérabilité, nous ne prévoyons pas a
priori d'action spécifique. Il n'en reste pas moins que
l'interopérabilité est fondamentale et sera une des dimensions de la
recherche sur la coordination et la communication. Concernant la
gestion des données, notre contribution devrait être limitée à
l'exploitation des particularités du domaine pour définir des services
plus efficaces (gestion de versions, de réplications ...). L'étude de
l'organisation des entreprises est à la limite entre
l'informatique et la gestion des entreprises; nous nous intéresserons à
deux modèles d'entreprises virtuelles, l'une établissant des relations
pérennes entre des partenaires habitués à travailler ensemble (dans le
cadre du projet AEE (cf. On définit également une tâche analyse des usages commune aux deux axes de recherche principaux.
La section Coordination de tâchesL'objectif de la coordination de tâches est de formaliser les tâches et les procédés qui décrivent l'enchaînement des tâches pour les automatiser. De plus, dans le contexte des entreprises virtuelles, l'objectif est aussi de formaliser et d'automatiser les interactions entre les procédés. Le problème est vaste, et pour mieux le cerner, on fait un certain nombre d'hypothèses. La première est que la coordination des partenaires d'une entreprise virtuelle se fait pour beaucoup par l'échange de documents. La seconde est que les échanges de documents entre partenaires suivent des lois qui se répètent d'une application à une autre. Une dernière est que les partenaires d'une entreprise virtuelle ont souvent une infrastructure informatique << légère >>. Ces hypothèses nous ont amené à choisir une approche de type workflow transactionnel pour la coordination des tâches.
Un système de workflow a pour but d'automatiser des procédés, a priori
de type administratif, en gérant l'échange de documents entre les
intervenants. Un objectif recherché est que la définition des modèles
soit simple et que toute la complexité des interactions soit cachée à
ces intervenants. L'encapsulation des tâches dans des transactions
ACID Si on se place dans cette veine, il est néanmoins clair que le concept traditionnel de workflow ne convient pas tel quel car il est pensé pour enchaîner des tâches << concurrentes >> se synchronisant en s'échangeant des documents en début et en fin d'exécution. Le concept de workflow doit évoluer pour prendre en compte des tâches coopératives, c'est-à-dire s'échangeant des documents en cours d'exécution. Pour cela, il faut définir de nouveaux opérateurs de description d'enchaînement de tâches et de nouveaux modèles de transaction pour encapsuler les tâches coopératives.
Cet objectif se basera sur une analyse des usages permettant de mettre
en évidence des << patrons de coopération Une dimension de cette recherche est l'étude des relations entre transactions coopératives et transactions traditionnelles, certaines tâches et/ou fragments de procédés restant concurrents. Une autre dimension est l'étude des tâches transactionnelles coopératives avec les tâches non transactionnelles. Cela rejoint en partie la problématique de la communication développée ci-dessous, en particulier l'étude des relations entre coopération directe et coopération indirecte, coopération formelle et coopération informelle, coopération synchrone et coopération asynchrone. D'autre part, ce modèle de workflow devra être suffisamment flexible pour prendre en compte la nature des entreprises qui nous intéressent. Cela signifie qu'il devra supporter une certaine adaptabilité, c'est à dire permettre le démarrage d'un workflow avant sa définition complète et son évolution dynamique à l'exécution. Il devra également être capable de supporter des exceptions aux règles prédéfinies. Un autre dimension du problème est l'interopérabilité de workflows dans un contexte où chaque entreprise partenaire peut avoir son propre workflow, le système global étant une intégration de ces workflows locaux. De nouveaux mécanismes exécutifs sont à développer. Probablement aussi que des modèles de négociation et de médiation sont à développer dans cet objectif. Il est clair aussi que les agréments entre partenaires doivent pouvoir se limiter aux points d'interaction entre leurs procédés. D'autre part, dans bon nombre de cas, aucun partenaire n'a une vue globale de l'entreprise, ce qui complexifie le contrôle de l'application. Une dernière dimension concerne le déploiement et l'exécution distribuée des procédés. On s'appuiera sur les composants existants (communication de groupe, gestion de réplications, gestionnaire de configurations distribués, consensus, évaluation de prédicats instables distribués ...) en essayant d'exploiter la connaissance des applications pour simplifier certaines fonctions, par exemple la formation des groupes de communication, pour assouplir les protocoles de réplication, pour supporter la mobilité ...Un principe directeur est que les utilisateurs doivent pouvoir continuer à travailler avec leurs outils habituels.
Enfin, soulignons que dans toutes ces études, on s'appuiera sur les
standards existants: WfMC
Nous développons ces aspects dans la section CommunicationLe support à la communication est une fonctionnalité essentielle au bon fonctionnement d'une entreprise virtuelle. Ce support permet la reconstruction d'un espace social, disparu du fait de la dispersion géographique ou temporelle, où les différents participants peuvent interagir dans le déroulement de leurs travaux. La communication est complémentaire à la coordination de tâches : elle permet de mettre en relation les agents pour le compte de tâches communes et à ces agents d'interagir au travers de la construction d'une compréhension commune des artefacts et des travaux en cours. La communication dans certains cas participe, voire même remplace, la coordination, notamment lorsque la coordination n'est pas explicitement formulée ou est insuffisamment formalisée pour être manipulable par le système support. C'est une activité transversale que l'on retrouve à tous les moments de la vie d'une entreprise virtuelle. On distingue habituellement plusieurs dimensions caractéristiques dans la communication électronique. Elle peut être explicite lorsqu'elle utilise un canal dédié : message électronique, forums, publication (électronique ou non), audio ou vidéo conférence. A contraire, elle peut être implicite lorsque la communication prend place au travers du partage d'un objet ou d'un document : partage de plans de conception, de fichiers, de produits. D'autre part, la communication peut être synchrone, lorsque les partenaires interagissent en temps réel au travers d'une connexion établie, ou asynchrone lorsque les participants ne sont pas explicitement connectés et sont éventuellement distants sur le plan temporel. Enfin, la communication peut être plus ou moins formalisée : la structure et l'enchaînement des échanges ou des messages entre les partenaires peuvent être explicitement décrits ou au contraire ne faire l'objet d'aucune contrainte spécifique. Le support à la communication électronique a fait l'objet de nombreux travaux et voit déjà des réalisations commerciales mais les principales contributions du domaine correspondent à des outils très divers le plus souvent dédiés a une des formes de communication énoncées ci-dessus.
Si de nombreuses solutions ponctuelles existent, leur mise en Pour dépasser ces limites, le projet s'intéresse à la communication sur 3 plans :
Nous développons ces aspects dans la section Stratégie de recherche et de transfertLa stratégie de recherche consiste:
On pense princpalement à 2 types d'industries informatiques pour transférer nos résultats:
Domaine d'applicationLa classe d'applications considérée en priorité est celle des entreprises virtuelles à usage intensif de documents. L'étude proposée intègre des dimensions de travail en groupe, d'enchaînement de procédés, d'ingénierie simultanée, d'édition coopérative, de télétravail ... présente dans ces entreprises. Elle intéresse de nombreux secteurs d'activités, parmi lesquels l'administration, le BTP, le génie logiciel, la médecine, le télé-enseignement ...
Une dimension de notre stratégie est de nous impliquer très tôt dans
des domaines applicatifs par des relations industrielles. Nous avons
la chance de pouvoir le faire dans deux applications pilotes très
représentatives: l'automobile et le BTP. La section Applications pilotesLe BTPLes caractéristiques de cette application nous semblent intéressantes pour plusieurs raisons. Tout d'abord, on y trouve des entreprises de tailles et de structures différentes, avec des problèmes organisationnels variés : si on trouve dans le BTP de très grandes entreprises, 95 pour cent de celles-ci sont de petites entreprises.
Une autre caractéristique est la nature très éphémère de la
coopération entre les entreprises, contrastant avec la collaboration
fortement intégratrice et relativement permanente entre agents,
services et sous-traitants de l'industrie manufacturière. C'est le
concept d'entreprise-projet introduit ci-dessus. Ce
particularisme de l'entreprise-projet nous paraît intéressant car il
met en Ensuite, les acteurs du BTP ont une expertise très ancienne des pratiques coopératives. Plus qu'ailleurs, la communication sous des formes multiples constitue une préoccupation importante (échanges de données graphiques, techniques, échanges de pièces administratives, devis, bordereaux de paiement, compte rendus de chantier,...). Mais le déplacement direct et la discussion << au coin du comptoir >> sont encore très utilisés et l'échange de disquette est la pratique d'échange de données la plus répandue. Notons cependant que les partenaires plus réguliers ont mis en place des liaisons bi-points, souvent supportées par Numéris, et que certaines grandes entreprises fonctionnent réellement en réseau. Un autre point important est que le domaine est déjà informatisé et qu'un travail important de normalisation des échanges informatisés est en cours. Nous pensons que cela simplifiera l'introduction des nouveaux outils que nous développerons. Soulignons aussi que ces caractéristiques font que les concepts développés dans ce cadre doivent selon nous se généraliser à bon nombre d'applications rapprochant dans un objectif commun des partenaires distribués exerçant des rôles différents.
Le travail en relation avec les architectes se fait dans le cadre
d'une CTI L'automobileOn retrouve évidemment beaucoup de points communs avec le domaine précédent, mais aussi des spécificités. En particulier, une plus grande pérennité dans les relations peut permettre la mise en
Le travail en relation avec les acteurs de l'automobile se fait dans
le cadre du projet AEE Caractéristiques des applications considéréesAu delà des études de cas, un objectif est de caractériser le domaine. D'ores et déjà, on peut souligner les caractéristiques suivantes :
On verra par la suite que ces caractéristiques tantôt simplifient, tantôt complexifient les problèmes habituels de coordination et de communication. Pour illustrer cela, on peut considérer par exemple la longue durée des tâches à coordonner. On pense qu'une approche transactionnelle est bien adaptée aux contrôles des échanges de documents entre les partenaires d'une entreprise parce qu'elle décharge les concepteurs d'application des problèmes liés au parallélisme des exécutions. Mais la longue durée des tâches à coordonner remet en cause le principe d'atomicité aux défaillances (tout ou rien) des modèles de transactions traditionnels. En effet, s'il est admissible d'annuler une transaction qui s'exécute en quelques millisecondes du fait d'un interblocage avec une autre transaction, cela n'est pas acceptable pour une transaction qui encapsule une tâche de conception qui s'exécute depuis plusieurs heures, voir plusieurs jours. Dans ce cas, la longue durée est un handicap. Mais dans d'autres cas, elle est un avantage. Par exemple en ce qui concerne les temps de transfert, si un décalage de plus de 20 millisecondes n'est pas acceptable entre une image et le son associé, un décalage de plusieurs minutes entre deux plans, mais qui nécessitent plusieurs jours d'élaboration, est tout a fait acceptable. Programme de travail
Comme introduit en
Avant de présenter ces deux axes (sections Analyse des usagesCette action s'appuiera sur nos applications pilotes, dans le domaine du BTP et dans celui de l'automobile (cf. ), et sur la
littérature [].
L'objectif est la mise en évidence d'un noyau représentatif de pratiques courantes de coopération se répétant d'une application une autre. De pratiques définissent ce qu'on appelle un patron de coopération.
En particulier, on cherchera à mettre en évidence des règles d'échange
de documents entre partenaires qui se répètent fréquemment d'une
application à une autre. La figure
Dans un premier temps, nous étudierons avec le CRAI les
usages de coopération sur de petits chantiers de construction. En
complément, nous analyserons les logiciels utilisés par les
architectes et plus particulièrement les échanges de documents
s'opérant entre ces logiciels. Nous pensons que l'étude des flux de
documents dans ces exemples réalistes nous permettra de mettre en
évidence des comportements coopératifs représentatifs. Les travaux qui
démarrent dans le cadre du projet AEE (cf Un autre objectif est la classification des patrons de coopération. Pour cela, nous cherchons des critères de classification. Un premier travail dans ce sens est décrit dans [2]. Il utilise, pour des couples de tâches et un ensemble d'objets, les paramètres suivants: les dépendances lecture/écriture, le fait que la mise en cohérence soit synchrone ou asynchrone, le fait que les tâches doivent terminer ou pas avec une vue commune des documents partagés. Un objectif est de formaliser les patrons de coopération à un plus haut niveau d'abstraction que le niveau modèle de transaction. On pourra s'appuyer ici sur des formalismes de type CSP [], CCS [] ... Pour terminer, soulignons que l'on pense utiliser les capacités des workflows adaptatifs pour structurer et analyser la coopération présente dans les projets considérés. L'idée est de partir d'un embryon de workflow, que l'on enrichit ensuite en traçant la réalité du terrain puis que l'on pondère par des statistiques d'utilisation des différentes alternatives (ou déviations) []. CoordinationApproche et problèmes
Comme introduit précédemment, on s'intéresse ici à la coordination des
procédés dans des applications créatives de type conception et
ingénierie coopérative. Ces procédés se coordonnent en particulier
par l'échange de documents qui sont créés et transformés par les
outils de l'application sous le contrôle des agents humains. Cela est
illustré par le client/serveur de la figure
L'objectif de cet axe est d'outiller cette coordination en fournissant
des briques de bas, les patrons de coopération et un langage pour
décrire la coordination dans une application donnée,
ainsi qu'une infrastructure pour mettre en
Comme nous venons de le souligner, il faut permettre une description
simple de la coordination dans les applications. Une telle description
se base sur les patrons de coopération définis en
Cependant, si on veut développer une approche de ce type, il est
clair que les modèles de workflow existants (qui en général mettent en
Pour illustrer cela, on peut reprendre le comportement décrit dans
la figure
Pour permettre la mise en
Plusieurs modèles de transactions dits avancés ont été développés
[], certains avec des objectifs connexes aux
nôtres. Il s'agit en général de modèles ad hoc (encore dits
exotiques) parce qu'exploitant la sémantique des applications pour
relâcher la sérialisabilité (cf. fgure
Concernant l'implantation des modèles de transactions, parmi les
difficultés relatives au contexte coopératif, soulignons à nouveau le
problème du maintien de la cohérence: des résultats intermédiaires,
donc par définition incohérents, peuvent être impliqués dans
l'évaluation d'une contrainte [], les
protocoles Pour conclure momentanément sur la dimension transactionnelle, et dans l'objectif de programmation simple introduit précédemment, nous prévoyons de développer des outils de génération de protocoles. Il s'agit, d'une part de fournir un environnement pour définir de façon simple des protocoles de coopération, d'autre part, partant d'une description de procédés dans un langage de description de procédés, de générer automatiquement un protocole assurant la cohérence des interactions coopératives mises en jeu dans la description. Un problème important est celui de la gestion des exceptions. On s'est placé pour l'instant dans le cas favorable d'un cycle de vie simple : définition du modèle de coopération, exécution du modèle. Force est de constater que la réalité est aussi faite d'imprévus qu'il faut être capable de gérer (annulation d'un vol d'avion, mauvaise évaluation de la difficulté d'un problème ...). Selon la nature exceptionnelle ou pas, profonde ou pas, de l'exception rencontrée, il faut gérer une déviation au niveau d'une instance d'un procédé ou une évolution au niveau du modèle. L'évolution peut être à plusieurs niveaux: par rapport au procédé prévu, par rapport aux techniques/outils qui devaient être utilisés, par rapport aux événements qui se sont produits, par rapport aux personnes concernées, par rapport au mode de coopération prévu (asynchrone/synchrone) ... Dans ce cas, le système pour permettre de défaire les procédés en cours, soit automatiquement, soit en apportant une aide, par exemple, en mettant en relation les personnes concernées. On pourra aussi s'appuyer ici sur les techniques de recouvrement en avant développées dans le cadre du transactionnel avancé []. Et dans ce contexte, peut-être est-il plus judicieux de définir un workflow comme un ensemble de fragments de modèles, souples et adaptables (workflow adaptatif []), que comme un modèle monolitique. Ces différents fragments seraient alors assemblés grâce à des points de contrôle (réunions de chantier (électronique ?), deadline pour la production d'un document,...).
Un autre problème est celui du déploiement des applications. Il faut
d'abord définir un modèle d'activité. On peut ici s'appuyer sur les
modèles proposé par la WfMC ou l'OMG. Comme les
applications coopèrent en interconnectant leurs procédés, il faudra
définir des modèles d'interopérabilité. Là encore, on pourra s'appuyer
sur ceux de la WfMC, de l'OMG ou sur SWAP
Concernant l'infrastructure d'exécution, la mise en
Pour conclure cet axe, soulignons également l'intérêt de disposer
d'outils de coordination ad hoc. On pense en particulier à la
définition d'une métrique de mesure de la divergence. En
général, un procédé transmet, de façon asynchrone, un document à un
autre procédé au travers d'un espace de coopération. Comme les deux
procédés travaillent en parallèle, ils voient des versions différentes
des documents de coopération. Avec le temps, leurs vues du même
document divergent. Coordonner deux procédés coopérants, c'est aussi
contrôler cette divergence pour assurer in fine la << convergence >>
vers un document unique. Une telle métrique contribuera à la
supervision de la coopération et permettra de tirer une sonnette
d'alarme avant que la divergence devienne trop importante et
compromette la convergence à terme. Ces mesures peuvent
se baser sur le calcul des différences entre objets simples ou
complexes, le nombre de lectures sales, le nombre d'opérations non
ordonnées ...Ces métriques seront également d'un grand intérêt
pour ce qui concerne la conscience de groupe (cf. CommunicationApproche et problèmesComme introduit précédemment, les apports du projet se situeront sur 3 plans.
Le projet contribuera à ces différents plans au travers de trois points d'études complémentaires.
De plus, cette structuration doit pouvoir évoluer dynamiquement : il faut pouvoir réorganiser les groupes et gérer leur composition tout au long du déroulement du projet. Ce type de problèmes est abordé dans le domaine des systèmes distribués, et plus précisément de la communication de groupe []. De nombreux protocoles et systèmes ont été proposés, offrant diverses garanties quant à l'ordre de livraison des messages transmis (livraison garantie, maintien de la causalité, ordonnancement total [,,]). Ces systèmes intègrent un protocole de gestion de la composition du groupe (membership protocol), fonctionnant en général en étroite relation avec le protocole de diffusion de messages. L'objectif est de gérer la composition du groupe, entrées, sorties, exclusion sur panne, de façon à garantir le maintien des propriétés de livraison à tous les membres du groupe. La notion de groupe est donc ici vue non pas comme un concept de structuration mais comme une unité de diffusion et d'affectation de propriétés. Dans le domaine des systèmes coopératifs, le problème est abordé sous l'angle de la gestion de sessions, avec comme objectif principal de mettre en avant des concepts et des métaphores décrivant la constitution d'un groupe. Les approches les plus courantes sont basées sur l'invitation ou la demande d'entrée explicite, ainsi que sur les objets partagés : un groupe et constitué des participants utilisant des artefacts communs. On trouve également des approches plus élaborées comme par exemple celles basées sur la notion de pièce (MUD, DIVA [], TeamRoom []) : un groupe est composé des participants présents dans une pièce virtuelle, on le rejoint et on le quitte en entrant et sortant de la pièce ; celles basées sur << l'aura >> dans les mondes virtuels (par ex. DIVE ou []) : à chaque participant est associé une sphère d'influence et un groupe est constitué de participants dont les sphères se recouvrent partiellement. Notre approche sera d'étendre la notion de groupe issue des systèmes répartis, en particulier en incluant la notion de sous-groupe et de multi-appartenance, et en dissociant la définition du groupe de son utilisation. Cette approche rendra plus générale la notion de groupe et permettra son application à plusieurs contextes différents:
L'introduction de sous-groupes permettra, tout en manipulant un groupe dans son entier, de contrôler plus finement son utilisation dans les contextes ci-dessus en gérant cette utilisation et les propriétés associées de manière séparées pour différents sous groupes. Par exemple, ceci permet de diffuser des messages à un groupe en offrant des garanties de livraison distinctes à différents sous-groupes. L'introduction de la multi-appartenance permettra d'une part de construire des structures transversales aux contextes d'utilisation et d'autre part de construire des structures plus complexes que de simple partitions.
Habituellement, on distingue différentes dimensions dans la perception et la conscience de groupe :
De nombreux travaux ont déjà été réalisés dans ce domaine, avec une prédominance assez marquée pour les applications synchrones de taille réduite (éditeurs coopératifs, réunions virtuelles et vidéoconférences, tableaux électroniques). Ces approches consistent en général à matérialiser en temps réel les opérations effectuées par les différents intervenants sur l'interface de chacun. Par contre, peu de résultats sont aujourd'hui disponibles concernant des applications complexes intégrant indifféremment des communications synchrones et asynchrones, des procédures formalisées et des échanges très informels, des collaborations explicites ou au contraire implicites, et mettant en jeu des groupes de taille plus importante (typiquement de 10 à quelques centaines de participants) manipulant des quantités importantes de documents.
Les apports du projet dans le domaine des mécanismes support à la
conscience de groupe se situeront sur deux plans. Le premier plan
concerne la prise en compte des différentes dimensions de la
communication et de la coopération (directe/indirecte (cf. annexe
Notre approche sera de privilégier le cas asynchrone, puisqu'il s'agit à la fois du cas où les résultats sont les moins nombreux et du cas probablement le plus fréquent dans notre contexte. Dans un premier temps, nous aborderons surtout la conscience de groupe liée à la perception de l'espace de travail, pour la compléter ensuite avec les autres dimensions.
Notre idée est de baser ces mécanismes sur l'idée de métrique introduite
en L'intéret d'une telle approche est multiple. D'une part, une mesure est par essence même synthétique et donc à même de supporter une utilisation à différentes échelles en représentant de la même manière une mesure portant sur un nombre quelconque d'artefacts. Du point de vue de la mise en oeuvre, cette approche permet également un meilleur passage à l'échelle puisqu'il devient moins impératif de diffuser à l'ensemble des participants l'ensemble des évènements relatifs aux différentes mesures à réaliser. Au contraire, il devient possible de réaliser et diffuser des mesures locales qui sont ensuite agrégées et consolidées par chaque destinataire. Enfin, dans de nombreux cas il est possible de calculer ces mesures de façon incrémentale. Cette propriété facilite l'application de l'approche aux cas synchrones et rend la transition asynchrone/synchrone transparente. Modélisation des négociations et prises de décisions Cet objectif est supporté par de nombreux travaux dans le domaines du GDSS et du CSCW et nous les étudierons. Ils visent le développement d'outils dédiés, intégrant des protocoles d'argumentation, de négociation, de décision parfois très sophistiqués mais codés en dur (ex: rIBIS, gIBIS citeconklin88a, cognoter, argnoter [], Hermes [], Zeno []). D'autres travaux considèrent le problème sous l'angle de la modélisation explicite des tâches. Un méta-modèle définit les concepts utilisables pour décrire les tâches. On trouve de telles approches en particulier dans le domaine du << requirements engineering >> ([], []). Enfin, quelques travaux orientés modélisation des tâches, définissent en outre des procédés génériques pour certaines tâches courantes (ex: revue inspection [], fusion de points de vue []).
Une première tâche consistera à cataloguer des patrons de coopération
où apparaissent explicitement les tâches de décision collective et de
résolution de conflits, établissant ainsi un lien entre la
modélisation macroscopique (du type workflow) et la modélisation à
grain fin des tâches en coopération directe. Ce travail doit s'appuyer
bien entendu sur les observations réalisées autour de l'application
pilote (cf. Partant de là, une première approche consiste à intégrer des outils dédiés. Si elle ne peut pas être repoussée, elle ne nous semble pas totalement satisfaisante car peu flexible et couplant peu ou pas du tout les procédés macroscopiques et microscopiques (description des conséquences des décisions sur les produits, homogénéité des rôles aux deux niveaux, etc.) En enrichissant les approches de modélisation << orienté décision >> pour intégrer les aspects avancés des outils dédiés (ex : raisonnement fondé sur une logique d'argumentation pour assister à l'exploration des questions et à la décision), un bien meilleur niveau d'intégration doit pouvoir être obtenu.
D'autre part, la << programmation >> des tâches de décision collective
et de résolution de conflit peut être largement facilitée par la
fourniture de modèles génériques spécialisables. Les travaux actuels
sont à approfondir et à élargir à d'autres tâches, en particulier
celles résultant de la coopération indirecte via les produits
(cf. Dans ce contexte, on s'intéressera plus particulièrement à la négociation qui semble critique dans le contexte des entreprises virtuelles: négociation de procédés, négociation de patrons de coopération. On continuera en cela le travail démarré dans []. Relations entre coordination et communicationCette section explique brièvement comment nous pensons faire le lien entre les deux axes de recherche dégagés dans les sections qui précèdent.
Une première remarque, a été faite ci-dessus: la distinction entre
coordination et communication n'est pas toujours évidente à
faire. Une autre remarque est qu'une application réelle intègre
certainement ces deux dimensions. En conclusion de cela, l'intégration
des deux dimensions est un préalable à la validation des parties
individuelles dans un contexte réaliste. Cela implique trois choses :
une analyse des usages commune aux deux axes, un positionnement des
activités concernant la coordination par rapport à celles concernant
la communication et réciproquement, et une mise en
Concernant le positionnement de la coordination par rapport à la communication, plusieurs références aux interactions entre ces deux dimensions sont faites dans le texte :
Le dernier point qui permettra l'intégration des deux dimensions est le développement sur une plate-forme commune. Plutôt que de définir une architecture, nous préférons énoncer des principes directeurs:
Définir une architecture physique mettant en
Pour nous aider dans ces choix, nous développons, avec nos collègues
architectes du BTP une expérience qui consiste à mettre en Plan de travail et résultats attendusPlan de travailEtape 1(mois1 à mois18)a) Analyse des usages en s'appuyant sur le projet AEE, le projet avec les architectes et la littérature. Mise en évidence de critères de classification des usages (modes de lecture et écriture, mode de consommation des résultats intermédiaires, ...), classification des usages b) Formalisation des usages par des critères de correction. On s'appuiera a priori sur les formalismes issus du domaine transactionnel (ACTA []). On pourra s'appuyer sur des formalismes de description de comportements plus généraux (Lotos, CSP ...). Une part importante de ce travail consiste à étudier les interactions entre les usages et en particulier les risques d'incohérence. c) Définition des mécanismes de structuration de l'espace coopératif. Implantation des groupes/sous-groupes dynamiques dans une infrastructure de gestion des documents. d) Conception d'une infrastructure système pour le déploiement et la mise en e) Etude de cas d'interaction entre coopération structurée et coopération non structurée. f) Identification des informations nécessaires pour la conscience de groupe de type << espace de travail >> dans le cas asynchrone. Identification des mécanismes sous-jacents. Propositions de métaphores et de modes d'interactions. g) Définition d'un langage de description de procédés (version 1) (type langage de workflow mais intégrant des opérateurs de coopération). h) Définition d'une métrique de divergence. Etape 2(mois18 à mois36)a) Conception et réalisation d'outils de génération de protocoles. Il s'agit, partant d'une description de procédés dans le langage V1 de générer un algorithme assurant la cohérence des interactions coopératives des différents partenaires. b) Spécification d'une interface assurant l'interopérabilité entre systèmes hétérogènes (moteurs de workflow hétérogènes, systèmes de gestion d'objets hétérogènes ...). c) Prise en compte de la conscience de groupe de type structurelle. Mise en d) Mise en e) Réalisation d'une infrastructure de coopération permettant le déploiement des applications et la mise en f) Définition d'un langage de description de procédés (version 2). Etape 3(au delà de 36 mois)a) Evaluation des modèles, outils et de l'infrastructure développée dans des applications réelles. b) Consolidation de ces modèles, outils et infrastructure. c) Standardisation, diffusion du travail réalisé. d) Intégration dans un modèle plus large d'entreprise virtuelle. Résultats attendus
On peut distinguer entre différents types de résultats:
Position par rapport l'existant
On peut situer notre approche de différents points de vue, en
complément des références faites dans le texte descriptif des actions
de recherche : Insertion du projet ECOO dans l'INRIANous pensons que des relations sont à développer sur les thèmes suivants:
Actions industrielles en coursAEELe projet AEE (Architecture pour l'Electronique Embarquée) regroupe les constructeurs automobiles français (PSA, Renault), leurs équipementiers (Sagem, Siemens, Valéo), l'Aérospatiale et des chercheurs de l'INRIA, de l'IRCYN et du LORIAL'objectif général du projet est la définition d'un processus rapide et sûr pour la définition de l'architecture système et le développement des logiciels associés, embarqués à bord des véhicules automobiles. Plusieurs aspects du projet nous intéressent: modèles de communication entre intervenants, modèle d'entreprise virtuelle, ...Le projet a démarré au 1er janvier 1999 pour une durée de 3 ans. C'est une action de développement de l'INRIA (http://aee.inria.fr/). Usages des téléactivités et impacts sur les organisations et les services - CTI CNETL'objet de cette étude est de mieux comprendre les principes de la coopération pour la mettre enLe travail se fait en coopération avec une équipe du CNET à Lannion et une équipe du CRAI à Nancy (Centre de Recherche en Architecture et Ingénierie). Le projet a commencé le 1er avril 1998 pour une durée de 30 mois (http://www.loria.fr/equipes/ecoo/cocao/). MicrolorL'objectif est de réaliser un environnement de développement interactif (compilateur, simulateur et interface graphique pour Windows NT/95/98, documentation et exemples) pour une famille de micro-contrôleurs paramétrables. Le logiciel permettra d'une part de simuler interactivement l'exécution du programme source et d'autre part, une fois le programme source mis au point, produire le binaire correspondant. Le compilateur accepte en entrée des sources d'un sous-ensemble du C ANSI, pour les traduire vers des fichiers objets en langage machine du micro-contrôleur cible. L'architecture interne du micro-contrôleur ainsi que la définition de l'assembleur seront variables selon le modèle choisi et seront renseignées par des paramètres avant la simulation ou la création des fichiers destinations. En mode de simulation interactive, l'utilisateur pourra suivre le déroulement de son programme en visualisant simultanément l'instruction source courante et l'instruction machine correspondante. Le simulateur permettra également d'exécuter le programme source instruction par instruction (mode pas-à-pas), de poser et d'enlever des points d'arrêts, de suivre l'évolution des registres, l'évolution de la pile ainsi que l'évolution de la mémoire.Nous avons prévu d'appliquer une technique de compilation globale similaire à celle que nous avons déjà utilisée pour le projet SmallEiffel. Ce projet a débuté en février 1999 pour une durée de 1 an. Définition de composants de systèmes de gestion de Workflow distribués et flexibles - collaboration XEROXL'objectif général est d'explorer l'application de modèles de transactions avancés dans les systèmes de gestion de workflow. Les résultats attendus sont la conception et l'implantation de composants d'un gestionnaire de workflows distribués qui gèrent des tâches de longue durée suivant des procédés de collaboration flexibles, en particulier grâce à la gestion de documents versionnés.Le travail se fait en coopération avec l'équipe << Coordination Technologies >> du Xerox Research Center Europe à Grenoble et se formalisera par le partage d'un post-doctorant. Manuel Munier, thésard issu de ECOO est en post-doc chez XEROX depuis le 1er mars et pour une durée de 8 mois. HitachiECOO participe aux discussions en cours entre Hitachi et l'INRIA. Actions nationales et internationalesActions régionalesNous collaborons avec le CRAI (Centre de Recherche en Architecture et Ingénierie) de Nancy dans le cadre d'une CTI CNET. Claude Godart est membre du conseil scientifique de l'ESSTIN. L'équipe ECOO est jeune équipe soutenue par la région. Nous participons au Centre Charles Hermitte (Centre Lorrain de Compétence en Modélisation et Calcul à Haute Performance). Actions nationalesGérôme Canals est responsable du groupe de travail << Nouvelles bases de données >> du PRC I3. Les membres du projets participent à des réunions des PRC I3 et ALP. Nacer Boudjlida a été membre et est membre des comités de programmes d'INFORSID et de BDA. Claude Godart est membre du Conseil Scientifique du LIL (Laboratoitre Informatique du Littoral) à Calais. Actions financées par la Commission Européenne
Nous participons au groupe de travail ESPRIT << Promoter >> soutenu
par le Réseau d'Excellence ESPRIT << Renoir >>. Les participants sont
le LORIA, Imperial College, Politechnico di Milano, les Université de
Grenoble, Manchester, Paderborn, Pise et Trondheim. Actions InternationalesNacer Boudjlida est ou a a été membre des comités de programme de: Maghrebian Conference on Artificial Intelligence and Software Engineering (1996,98), 18th International Conference on Conceptual Modelling (1999), Mediterranean International Conference on Computer Science (1999). Dominique Colnet est membre du comité de programme de TOOLS99. Claude Godart est ou a été membre des comités de programme de: 10th et 11th Software Engineering and Knowledge Engineering Conference (SEKE98, SEKE99), IEEE symposium << Enterprise Applications and services >> associé à Globecom99, 7th International Conference on Parallel and Distributed Systems (ICPADS2000, section CSCW). Des membres de l'équipe ont participé au projet Tempus Phare entre l'ESSTIN et l'Université de LODZ à Bielsko Biawa. Un projet de coopération entre l'Université de Western Sydney et le LORIA est en cours de développement. C. Godart s'est rendu à l'UW Sydney en mars 99, P. Ray (position prof. invité) et V. Varadharajan rendront visite au LORIA en juin 99. Un objectif est de définir un projet entre le CSIRO et l'INRIA ou l'université sur le thème << Entreprises virtuelles >>. Diffusion des résultatsLogicielsCOO
COO est un atelier de Génie Logiciel construit sur
une base de type PCTE DOTSDOTS (Decision Oriented Task Support) est un environnement générique d'assistance aux tâches collectives à forte composante décisionnelle qui couvre aussi bien le travail asynchrone que le travail occasionnellement synchrone. Il procure 3 formes d'assistance : guidage dans la tâche, assistance à l'argumentation et à la décision, conscience de groupe asynchrone et synchrone. Il est accompagné d'un environnement complet de définition, d'instanciation et de vérification des modèles de tâches. Il est entièrement développé en java. GNU EiffelSmallEiffel est un traducteur Eiffel vers ANSI C et la machine virtuelle Java. Du fait de l'utilisation d'une nouvelle technique d'inférence de types, il est très performant, produit du code performant et détecte statiquement un plus grand nombre d'erreurs que les autres compilateurs Eiffel. Très largement distribué et utilisé, il est << the GNU Eiffel Compiler >>.Tua MotuUn Motu est un gestionnaire d'objets augmenté d'une gestion de versions et d'une gestion d'utilisateurs répondant à des besoins mis en évidence pour supporter la coopération. Un Tua Motu est un ensemble de Motus connectés supportant la réplication d'objets et l'organisation de groupes de coopération. L'ensemble est écrit en Java. Plusieurs interfaces de persistance ont été définies. Enseignement universitaireLes enseignants chercheurs du projet participent très activement aux formations nancéiennes des universités Henri Poincaré Nancy 1 et Nancy 2 à tous les niveaux, et en particulier en 3ème cycle (ESIAL, ESSTIN, ISIAL, DEA). Nacer Boudjlida est responsable du DESS informatique, option Ingénierie du logiciel à l'université Henri Poincaré Nancy 1. Il est membre élu de la commission de spécialistes 27 eme section de l'université Henri Poincaré et du conseil de l'UFR STMIA à l'université Henri Poincaré. Claude Godart est responsable du département informatique de l'ESSTIN. Il a été membre du bureau de la commission de spécialistes 27 ème section de l'université Henri Poincaré et de l'Institut National Polytechnique de Lorraine jusqu'à son détachement à l'INRIA. Il est membre du conseil d'administration de l'ESSTIN. Jacques Lonchamp est responsable du département informatique de l'IUT A de Nancy 2. Il est membre du bureau la commission de spécialistes 27 ème section de l'université Nancy 2. Pascal Molli a enseigné dans le cours CODITIEL (UPS CNRS 856) << Génie logiciel pour la modélisation numérique >> qui s'est déroulé en avril 1997 à Mont-Saint Aignan et au cours << Langages et systèmes à objets >> organisé par le SIMPA à Hanoï. RéférencesPublications au cours des quatres dernières années
Références
molli96aP. MOLLI. -
Références
benali99aK. BENALI AND M. MUNIER AND C. GODART. -
bounab98aM. BOUNAB AND C. GODART.
canals98aG. CANALS, C. GODART, P. MOLLI AND M. MUNIER canals98cG. CANALS, C GODART, F. CHAROY, P. MOLLI, AND H. SKAF.
canals99aG. CANALS, P. MOLLI, AND C. GODART.
charoy96aF. CHAROY AND L. LACOTE-GABRYSIAK. -
godart99aC. GODART, A. CARZANIGA, N. BELKHATIR, E. DI NITTO, J. ESTUBLIER, A. FUGGETA, J. JANKE, P. LAGO, W. SHAEFER, AND H. SKAF.
lonchamp98a J. LONCHAMP AND B. DENIS. -
skaf99aHALA SKAF, FRANfont size=-1>CCOIS CHAROY, AND C GODART.
Références
benali95aK. BENALI, J.C. COLSON. -
benali96aK. BENALI, J.C. COLSON, J. LAHYANE. -
bignon98aJ.-C. BIGNON, G. HALIN, K. BENALI AND C. GODART
bignon98bJ.-C. BIGNON, G. HALIN, D. LEONARD, O. MALCURAT, K. BENALI, C. GODART,
benali98bK. BENALI, G. CANALS, C. GODART, AND S. TATA.
benali98c. BENALI, M. MUNIER AND C. GODART
boudjlida96a N. BOUDJLIDA, M. BOUNEFFA AND O. PERRIN,
Références
colnet98bD. COLNET, P. COUCAUD, O. ZENDRA,
godart98aC. GODART, V. CHEVRIER,
molli98aP. MOLLI, L. ANDREY,
rossel95A. ROSSEL. -
zendra98aO. ZENDRA, D. COLNET, P. COUCAUD,
Autres RéférencesRéférences
bernstein87aP.A. BERNSTEIN AND V. HADZILACOS AND N. GOODMAN,
cichocki98aA. CICHOCKI AND A. HELA AND M. RUSINKIEWICZ AND D. WOELK. -
elmagarmid92A. ELMAGARMID (editor). -
gray93aJ. GRAY AND A. REUTER (editors). -
jajodia97a S. JAJODIA AND L. KERSHBERG (editors). -
kumar98aV. KUMAR, M. HSU. -
oszu93aOSZU, DAYAL AND VALDURIEZ (editors). -
Références
guerraoui97a R. GUERRAOUI. -
pacull95a F. PACULL. -
suleiman98a M. SULEIMAN. -
tiakime98a G. TIA-KIME. -
Références
barghouti91aN. BARGHOUTI AND G. KAISER. -
birman93aKENNETH P. BIRMAN. -
canals94a G. CANALS AND N. BOUDJLIDA AND J.C. DERNIAME AND |