1 / 58

Les outils du travail coopératif La cohérence des données coopératives

Les outils du travail coopératif La cohérence des données coopératives. Claude Godart Université Henri Poincaré Nancy1 Equipe ECOO, LORIA. Problématique Gestion de versions Gestion de transactions Gestion de workflow Editeurs synchrones Conclusion. Problématique générale.

glyn
Download Presentation

Les outils du travail coopératif La cohérence des données coopératives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Les outils du travail coopératif La cohérence des données coopératives Claude Godart Université Henri Poincaré Nancy1 Equipe ECOO, LORIA

  2. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Problématique générale Permettre à des personnes qui sont • sur des sites différents, • avec des décalages horaires importants, • et dans des organisations différentes de travailler « presque » aussi bien que si elles étaient dans la même pièce en même temps. Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  3. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Mieux partager les données • Gestion de versions • Gestion de transactions • Gestion de réplications • Gestion de procédés • Plus de flexibilité, d’interactivité, d’intégration • Sans perdre cohérence, confidentialité, robustesse … Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  4. Plan • Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  5. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Intégrer la subtilité des interactions coopérativespour mieux partager

  6. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Modify(m) write(m1) write(m2) write(mn) write(mf) r1 m1 m2 r mn Ecrire(r) mf read(m1) read(mf) Write(r1) read(mn) Résultat intermédiaire Compensation Résultat final Paradigme« Ingénierie concurrente » T1 T2 Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  7. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion • Client/Serveur • Echange itératif de résultats intermédiaires, pas de modification concurrente w r • Rédacteur/re-lecteur • Echange croisé de résultats intermédiaires r r w w • Ecriture Coopérative • Modifications simultanées de deux copies d’un même objet r/w r/w Patrons de coopération + dans : [Tata2001] Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  8. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Gestion de versions

  9. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Repository Copy CheckOut CheckOut Commit Update User 1 WS Merge User 0 WS Modify Edit Edit Le paradigme« Copy-Modify-Merge » • La référence • Le point de départ Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  10. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Gestion de versions(les + et les -) • Les + : • La référence pour le développement de logiciel • Ça marche • Les - : • Pas de contrôle de la divergence, risque de réconciliation difficile • Lectures sales … • Pas de base formelle … mais ça marche Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  11. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Gestion de versions(Perspectives) • Intégration à la gestion de transactions [Canals1998] • Mesure qualitative de la divergence (des deltas) [Molli2002] • Amélioration de la convergence (relation entre travail asynchrone et synchrone) [Bouazza2000] Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  12. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Gestion de transactions

  13. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Gestion de transaction • Transactions ACID • Modèles de transactions avancés (MTA) • Relation MTA / Workflow Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  14. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Gestion des transactionsTransactions ACID • La référence • ACID • Bien fondée : sérialisabilité • Protocoles simples à mettre en œuvre : • Ex : 2PL (2 Phases Locking) Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  15. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion La référence :les transactions ACID • Atomicité: tout ou rien. Soit toutes les opérations de la transaction sont exécutées, soit aucune. • Cohérence: une transaction prise individuellement fait passer la base d’un état cohérent dans un autre état cohérent. • Isolation: une transaction n’observe que des états cohérents de la base (pas de résultat intermédiaire d’une autre transaction) • Durabilité: lorsqu’une transaction termine, ses résultats deviennent permanents et ne peuvent plus être remis en cause, ni par une panne du système, ni par une autre transaction Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  16. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Transactions ACID(les + et les -) • Les + • Bases saines : sérialisabilité • Protocoles efficaces (2 PL) • Correction • Gestion des « pannes », recouvrement • Les - • Atomicité trop forte pour des transactions de longue durée • Isolation en opposition avec coopération • Cohérence « à priori » impossible pour des tâches « incertaines » Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  17. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Modèles de transactions avancés • Dépasser les limites ACID • [Jajodia1997] • transactions emboîtées, Sagas, COO-transactions, transactions flexibles, check-out/check-in, split/join, transactions coopératives, clients/sous-contractants, modèles à flot de tâches, transactions multi-niveaux Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  18. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Modèles de transactions avancés (SAGAS) • Objectif • relâcher la contrainte d’ « isolation », … ce qui permet une forme de coopération • Principe • Saga = transaction ACD composée de sous-transactions AID • A chaque sous-transaction Ti est associée une transaction de compensation CTi Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  19. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion SAGAs • R1 L’abandon d’une sous-transaction entraîne l’abandon de la saga (compensation des sous-transactions déjà exécutées) • R2 La validation d’une sous-transaction n’est pas conditionnée par la validation de la saga • R3 La transaction racine n’a pas la propriété d’isolation alors que ses sous-transactions l’ont Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  20. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion SAGAsExécutions autorisées T …….. T1 T2 Tn-1 Tn T T1 CT1 T2 ... Ti CTi ... CT2 Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  21. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Modèles de transactions avancés (les + et les -) • Les + • de flexibilité • Les - • pas grand chose d’opérationnel (pas pratique ?) • flots de contrôle insuffisants (pour de la coordination en général) • Les transactions ACID restent à la base … on y revient plus loin !!! Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  22. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Gestion de workflow

  23. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Workflow (la référence) • Le concept de « workflow » permet de définir la logique des procédés indépendamment de leur mise en œuvre dans les programmes • Dans le même esprit que le concept de « base de données » met en œuvre l’indépendance entre les programmes et des données • WfMC (Workflow Management Coalition) http://www.wfmc.org Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  24. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Workflow concepts Condition transition Control flow connector Activity In Out Data container In Out Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  25. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Hypothèse • Les activités s’exécutent comme des transactions • (sinon la cohérence est à la charge des programmeurs d’application et on n’a plus de garantie implicite donnée par le modèle) Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  26. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Workflow (les + et les -) • Les + • Indépendance logique des procédés/programmes • Contrôle de l’utilisateur, équilibrage de charge … • Flots de contrôle et flots de données • Systèmes opérationnels • Les - • Structures de contrôle de flot de contrôle et de flot de données trop rigides pour les applications les plus créatives Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  27. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion SynthèseModèles de Transactions Avancés/ Workflow classique

  28. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Les MTA comme des workflows ? RC_1 = 0 RC_2 = 0 Activité 1 Activité 2 Activité 3 T1 T2 T3 State_1 State_2 State_3 Bloc de travail RC_FB <> 0 Bloc de compensation RC_4 = 0 RC_5 = 0 Activité 4 Activité 5 Activité 6 CT3 CT2 CT1 State_3 <> 0 State_2 <> 0 State_1 <> 0 NOP [Alonso1996] Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  29. Le Workflow est-il l’aboutissement du transactionnel ? • Dans les applications « traditionnelles », peut-être, mais cela reste à prouver … • Dans les applications créatives certainement pas : • Si on suppose que l’on peut connaître les briques ACID : • Trop complexe, ne passe pas à l’échelle [Godart1999] • Et dans les applications les plus créatives, on ne connaît pas les briques ACID (développement incertain) Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  30. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Modify(m) write(m1) write(m2) write(mn) write(mf) r1 m1 m2 r mn Ecrire(r) mf read(m1) read(mf) Write(r1) read(mn) Intermediate Compensation Final value Patron « Client/Serveur » T1 T2 Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  31. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Quel modèle pour décrire les procédés coopératif ? • Dépasser la vision des activités comme des transactions ACID • Modèle de transaction ouvertes, interactives, ou d’activité • Dépasser la rigidité des opérateurs de la WfMC • Modèle de workflow avancé, ou de procédé Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  32. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Modèles de procédé(workflow avancé) • Le modèle comme une ressource pour l’action, pas comme une contrainte d’exécution • pas satisfaisant, peu de contrôle [Agostini96] • Le modèle est classique, contraint l’exécution, mais peut évoluer dynamiquement en cours d’exécution (ajout, suppression, décalage … d’une activité, modification des flots de contrôle …) • des bases théoriques plus saines, mais peu pratique [Casati 96, Reichert98, Weske96] Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  33. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Modèles de procédés • Le modèle est étendu pour permettre une modélisation plus souple et intégrer les comportements coopératifs : • Collaborative Management Infrastructure [Schuster2000a] • group activities, optional activity, inhibor primitive, window of opportunity, synchrony primitives • Coo_operator [Godart1999] • Le modèle est classique, mais son interprétation est différente • COO-flow [Grigori01] Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  34. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion UN exemple : COO-Flow • Flexibilité du flot de contrôle • Anticipation sur flot de contrôle (anticipation libre, dictée par le flot de contrôle, dictée par le flot de données) • Flexibilité du flot de donnée : • Les activités comme des COO-transactions • Anticipation sur flot de données Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  35. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion COO-transactions • Synthèse « Copy/Modify/Merge » et Transaction • Echange contrôlé de résultats intermédiaires (client/serveur, rédacteur/relecteur, écriture coopératives) • COO-sérialisabilité et COO-protocole • Une transaction ACID est une COO-transaction qui ne rend pas visible de résultats intermédiaires Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  36. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Y a-t-il besoin d’un nouveau modèle de description ? Même modèle de description, ... A B C Interprétation compétitive C B A A B C Interprétation coopérative Mais une interprétation différente Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  37. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion B C A D E Anticipation • Flexibilité du flot de contrôle : - Workflow traditionnel : une activité ne peut pas démarrer son exécution si la précédente n’a pas terminé la sienne - Workflow coopératif : une activité peut anticiperson exécution même si toutes les conditions ne sont pas remplies Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  38. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion B C A D E Les activités comme desCOO-transactions • Flexibilité du flot de données : • Workflow traditionnel : seulement les activités connectées • directement par le flot de contrôle échangent des données • (ou alors sans garantie) • Workflow coopératif : anticipation dictée par les données, • Les activités s’exécutent comme des COO-transactions Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  39. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Procédés (Perspectives) • Encore plus de flexibilité, plus d’extensibilité • Intégration de la dimension « workflow » aux autres dimensions de la coopération • Process awareness, context aware process management … • Dans une application complexe, il n’existe pas un, mais des procédés, qui peuvent être de nature différente et qui interagissent entre eux (multi-procédés) Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  40. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Multi-procédés • Modèle générique de description des multi-procédés • Découverte des multi-procédés (analyse des traces d’exécution, analyse des conflits d’accès aux ressource) • Multi-procédés transactionnels Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  41. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Multi-procédés (Modèle générique) • Collaborative Management Infrastructure [Schuster2000a] fournit des primitives de synchronisation multi-procédés qui définissent: • Quoi synchroniser : quelles transitions d’état de quels procédés • Quand synchroniser : quelles sont les conditions de synchronisation ? • Comment synchroniser : quel type de supervision ? • Que faire quand une synchronisation échoue : comment compenser • Procédés cross-organisationnel [Schuster2000b] Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  42. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Transactional Multi-processes • Les interactions entre les procédés impliquent des interactions « cachées » entre activités qui peuvent échouer (compensables ou pas) et des activités « pivot » (non compensables) • [Schuldt02] propose une nouvelle théorie pour la synchronisation de procédés transactionnels multi-synchrones … mais toujours fondée sur l’atomicité et de l’isolation, qu’en est-il des procédés créatifs ? Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  43. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Découverte de procédés • Analyse de traces d’exécution • Analyse des conflits (accès aux ressources partagées) • … Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  44. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Editeurs synchrones

  45. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Problématique • Modification simultanée des copies • Exigence : • Haute réactivité : effet des opérations visibles le plus rapidement possible (travail synchrone) • Assurer la cohérence des copies [Vidot2000] Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  46. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Approche • Objets répliqués sur chaque site… • Les opérations exécutées sur un site sont diffusées sur les autres sites… • Construire une histoire équivalente sur chaque copie locale Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  47. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Usager 1 Usager 2 pas pas op2=insérer(3,'r') op1=insérer(3,'i') pars pais insérer(3,'r') insérer(3,'i') paris pairs Problématique Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  48. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Approche • Opération sur objets typés • String: InsertCar, DeleteCar • Calendar: InsertEvent, DeleteEvent • XML: AddNode, DeleteNode, ChangeAttr • Transformer les opérations (transformées opérationnelles) pour obtenir des histoires équivalentes correctes : qui vérifient • Causalité • Préservation de l’intention. • Conditions de convergence Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  49. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Usager 1 Usager 2 pas pas op2=insérer(3,'r') op1=insérer(3,'i') pars pais T(op2,op1)= insérer(3,'r') T(op1,op2)= insérer(3,'i') paris pairs Transposée en avant qui ne respecte pas la condition 1 • Transpose_av(insérer(p1,c1), insérer(p2,c2))= cas p1 ? p2 de p1 < p2 alors insérer(p2+1,c2) p1 > p2 alors insérer(p2, c2) p1 = p2 alors insérer si c1 = c2 alors Id sinon insérer(p2,c2) Ne vérifie pas la Condition 1: Oi.op1.T(op2,op1) = Oi.op2.T(op1,op2) Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

  50. Problématique • Gestion de versions • Gestion de transactions • Gestion de workflow • Editeurs synchrones • Conclusion Usager 1 Usager 2 pas pas op2=insérer(3,'r') op1=insérer(3,'i') pars pais T(op2,op1)= insérer(3,'r') T(op1,op2)= insérer(4,'i') paris paris Transposée en avant qui respecte la condition 1 • Transpose_av(insérer(p1,c1), insérer(p2,c2))= cas p1 ? p2 de p1 < p2 alors insérer(p2+1,c2) p2 > p1 alors insérer(p2,c2) p1 = p2 alors insérer si c1 = c2 alors Id sinon si code(c2) > code(c1) alors insérer(p2,c2) sinon insérer(p2+1,c2) Vérifie la Condition 1: Oi.op1.T(op2,op1) = Oi.op2.T(op1,op2) Les outils du travail coopératif - La cohérence des données coopératives - ECOO - godart@loria.fr

More Related