comparaison motu/bscw
Post on 22-Jan-2016
26 Views
Preview:
DESCRIPTION
TRANSCRIPT
Comparaison MOTU/BSCW
Projet COCAOPascal Molli
MC Université Henri Poincaré
Virtual team services Shared data
Object and dependencies, Concurrency, versioning, annotation, Access Control, Notification
Communication Services Synchronous: video-conference, application
sharing, collaborative tools, shared whiteboard, chat
Asynchronous: Mailing list, web pages, forums, persistent notification
Virtual Team Services Coordination : Tasks management
Manual : Project Management Enacted : ToDo List Defined in a process and enacted:
Workflows Awareness : pertinent
Activity awareness, Availability awareness, Process awareness.
MOTU/BSCW:Shared DataMotu BSCW
Object Model File system File system + URL + forums
Concurrency CMM + long transaction
Locking
Versionning Non-linear on files and dir
Linear on file only
Annotation Meta-data idem
Access Control
ACL ACL
Notification API Final application
MOTU/BSCW:Communication
MOTU BSCW
Synchrone Visio-confInstant message
(can) Call external tool
Asynchrone
Instant-message Forums…
Motu/BSCW:Coordination Workflow
Process definition Task management Workflow engine
based on anticipation
Nothing
Motu/BSCW: Awarness
MOTU BSCW
Activity awarness
State awarness
Log of events
Presence awarness
ICQ like ICQ like
Process awarness
From workflow engine
none
Les « + » des Motus COO-Transactions State-Awarness Flexible-workflow
SharedWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
write
read
write
read
modify
modify
update
Shared Data and Copy-Modify-Merge
ab
ab
readab
ab
aReadab
ab
C
Cb
C Validation of C ??
Shared Data and Consistency
Data Consistency Transactional approach:
Encapsulate activities in transactions. The system will take in charge the
problem of concurrent access
Data Consistency
SharedWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
PrivateWorkspace
write
read
write
read
modify
modify
update
Data Consistency Results:
Coo-serializability : new correction criterion for cooperative executions
Coo-transactions : new advanced transaction model based on coo-serlializability
COO prototype: a cooperative development environment based on the coo-transactions.
Les « + » des Motus COO-Transactions State-Awarness Flexible-workflow
15
Copier/Modifier/Fusionner et Copier/Modifier/Fusionner et Conscience de GroupeConscience de Groupe
Référentiel
Espace deTravail
Espace deTravail
Espace deTravail
Espace deTravail
Espace deTravail
Espace deTravail
Espace deTravail
commit
checkout
commit
checkout
modify
modify
update
Est ce qu’un autre utilisateur modifie les mêmes données ?
Voyons nous la même chose?
Y a-t-il une nouvelle version du fichier ?
Que font les autresmembres du projet ?
Est ce qu’un autre utilisateur possède cette version de fichier ?
Est ce que mes modifications sont prises en compte ?
Est ce la dernière versiondu fichier
16
Problématique L’accès concurrent aux données
basé sur le principe du Copier/Modifier/Fusionner présente des limites Que font les autres membres du projet ? Est-ce qu’ils modifient les mêmes
données ? Y a-t-il une nouvelle version du fichier ?
Proposition Besoin d’awarness sur données
partagées: Calcul des états des objets partagés Représentation graphique Communication
18
Plan de la présentationPlan de la présentation
Conscience de groupe et données partagées Conscience de groupe et visualisation Conscience de groupe et communication
19
Conception du système de Conception du système de conscience de groupeconscience de groupe
Définir les trois catégories d’états concurrents : local : modifications d’un utilisateur dans son
espace de travail privé global : modifications des autres utilisateurs sur les
mêmes données partagées potentiel : un futur état possible du fichier existant
dans l’espace de travail local
20
Conception du système de Conception du système de conscience de groupeconscience de groupe
Définir tous les états pour chaque catégorie Définir toutes les transitions pour assurer les
passages d’un état vers un autre Diagrammes états-transitions
21
Définition des étatsDéfinition des étatsETAT SIGNIFICATION
LOCAL INITIAL Etat local de l’objet lors de sa création
LOCAL ADDED L’objet est ajouté dans le référentiel
LOCAL UP_TO_DATEL’objet est à jour localement, la version sur notreespace de travail est la même que celle sur leréférentiel. Aucune modification local.
LOCAL MODIFIEDL’objet est modifié localement, dans notre espacede travail
GLOBAL INITIAL état global de l’objet lors de sa création
GLOBAL NOT_APPLICABLE L’objet est ajouté dans le référentiel
GLOBAL UP_TO_DATE
L’objet est à jour globalement, la version sur notreespace de travail est la même que celle sur leréférentiel. Aucun autre utilisateur n’a mis unenouvelle version sur le référentiel
GLOBAL_NEED_UPDATEL’objet a besoin d’être mis à jour car une nouvelleversion existe sur le référentiel
POTENTIAL INITIALEtat potentiel de l’objet lors de sa création ou tantqu’il n’y a pas de changement d’état local ouglobal
POTENTIAL UPDATE
L’objet est modifié par d’autres utilisateurs maispas dans notre espace de travail, il est doncpossible que nous soyons amenés à nous mettre àjour
POTENTIAL CONFLICT
L’objet est modifié localement mais par d’autresutilisateurs, il est possible d’avoir un conflit desversions de l’objet si une personne met sa versionsur le référentiel
22
Définition des transitionsDéfinition des transitions
TRANSITION SIGNIFICATION
T_CHECKOUT transition correspondant à une commande checkout
T_ADD transition correspondant à une commande add
T_MOD_PHYStransition correspondant à une modification physique d’unfichier
T_COMMIT transition correspondant à une commande commit
T_UPDATE transition correspondant à une commande update
T_POTENTIALtransition correspondant à la modification physique d’unfichier
23
Diagramme états-transitionsDiagramme états-transitionsétat localétat local
LOCALINITIAL
LOCALADDED
LOCALUP_TO_DATE
LOCALMODIFIED
T_ADD
T_MOD_PHYS
T_CHECKOUT
T_COMMIT
T_MOD_PHYS
T_COMMIT
T_UPDATET_UPDATE
T_MOD_RST_MOD_PHYS
T_MOD_RS
24
Diagramme états-transitions état globalétat global
GLOBALINITIAL
GLOBALNOT_APPLICABLE
GLOBALUP_TO_DAT
EGLOBAL
NEED_UPDATE
T_ADD
T_MOD_PHYS
T_CHECKOUT
T_COMMIT T_MOD_RS
T_UPDATE
T_COMMITT_MOD_RS
T_MOD_PHYST_MOD_PHYS
25
Diagramme états-transitions état potentielétat potentiel
T_UPDATE
T_UPDATE
POTENTIALUPDATE
POTENTIALCONFLICT
POTENTIALINITIAL
T_CHECKOUTT_ADD
T_COMMITT_MOD_PHYS
T_UPDATE
T_MOD_RS
DYNAMICINITIAL
T_POTENTIAL
T_COMMIT
T_POTENTIAL
DYNAMICUPDATE
T_MOD_RS
T_MOD_PHYS
T_COMMIT
T_POTENTIAL
DYNAMICCONFLICT
T_MOD_RS
LocalStatus = LOCAL_UP_TO_DATE
LocalStatus = LOCAL_MODIFIED
Oi LOCAL_MODIFIED
! Oi LOCAL_MODIFIED
Oi LOCAL_MODIFIED
! Oi LOCAL_MODIFIED
26
Réalisation des testsRéalisation des tests
états concurrents du fichier
27
Conception du système de Conception du système de conscience de groupeconscience de groupe
Réalisation des tests : l’affichage des trois états concurrents trop
compliqué pour l ’utilisateur Besoin de condenser l’information pour la rendre
plus pertinente. Utiliser un outil graphique dédié à l’affichage
des informations sur les données partagées
28
Plan de la présentationPlan de la présentation
Conscience de groupe et données partagées Conscience de groupe et visualisation Conscience de groupe et communication
29
Visualisation des états de partageVisualisation des états de partage
Objectif : Pouvoir surveiller l’état des objets partagés comme un trafic réseau ou une charge CPU
Problème : Le nombre de fichiers partagés peut être grand… et l’espace d’affichage est restreint...
UnUn Treemap Treemap
Permet de représenter en deux dimensions une arborescence de fichiers
Chaque fichier est représenté par un rectangle de couleur : la dimension est définie par sa taille la couleur est associée à une propriété du fichier
Chaque niveau de l’arborescence est représenté par une rotation de 90°
31
Mise en place du Mise en place du TreemapTreemap
Exemple :
1 2
3 4 5 6 11
10987
121
5
4
3
6
11
7
Arborescence de 12 fichierssur 3 niveaux Treemap correspondant
32
Mise en place du Mise en place du TreemapTreemap
Caractéristique de notre Treemap : les fichiers représentés correspondent aux données
existantes dans l’espace de travail privé la couleur est associée à un état unique du fichier
partagé La couleur doit être significative pour l’utilisateur
33
Définition des états uniquesDéfinition des états uniquesEtats concurrents Etat unique Couleur
Local InitialGlobal InitialPotential Initial
INITIAL GRIS
Local AddedGlobal Not ApplicablePotential Initial
ADDED BLANC
Local Up To DateGlobal Up To DatePotential Initial
UP_TO_DATE BLEU
Local Up To DateGlobal Up To DatePotential Update
REMOTELY_MODIFIED ROSE
Local ModifiedGlobal Up To DatePotential Initial
LOCALLY_MODIFIED JAUNE
Local ModifiedGlobal Up To DatePotential Conflict
POTENTIALLY_CONFLICT ORANGE
Local Up To DateGlobal Need UpdatePotential Initial
NEED_UPDATE VERT
Local Up To DateGlobal Need UpdatePotential Update
NEED_UPDATE VERT
Local ModifiedGlobal Need UpdatePotential Initial
WILL_CONFLICT ROUGE
Local ModifiedGlobal Need UpdatePotential Conflict
WILL_CONFLICT ROUGE
34
Réalisation des testsRéalisation des tests
Besoin d’un moyen de communication simple et efficace pour permettre aux utilisateurs en conflits de résoudre leurs problèmes
35
Plan de la présentationPlan de la présentation
Conscience de groupe et données partagées Conscience de groupe et visualisation Conscience de groupe et communication
36
Intégration de la visioconférenceIntégration de la visioconférence
Système de visioconférence développé par des étudiants d’ESIAL
Caractéristiques générales : Utilise le JMF (Java Media FrameWork) Communications entre plusieurs utilisateurs
possédant la même adresse IP Multicast
37
Intégration de la visioconférenceIntégration de la visioconférence
Performance du système : résultat satisfaisant pour une connexion
unidirectionnelle qualité dégradée rapidement pour une connexion
bidirectionnelle choix des normes de capture vidéo (H263) et audio
(g723) adaptées à la visioconférence
38
Réalisation des testRéalisation des test
Les « + » des Motus COO-Transactions State-Awarness Flexible-workflow
Workflow Management System Two components:
Process definition (declarative or/and visual)
Define tasks ... Who must accomplish the task Define transitions between tasks.
Process execution engine Execution environment Users tasks appear on their desktop...
Change the Execution Engine
Anticipation.. If intermediate results are available you can
use them To start tasks as soon as
Example: process of write/ review a document
owner: mewrite doc
owner: himreviewer doc
Flexible Workflow
Edit Review Modify
Edit Review Modify
Edit Review
Modify
...
Process
Execution
(1)
(2)
Flexible Workflow
Py ra is already executing Review
in anticipating mode
Edit is in the Executing list of user V4 The Executing list contains anticipating and executing activities. They are distinguished by their color
Modify is already in the Todo list of user Vortex
V4 Vortex Pyra Current Project for the User
Conclusion Les plus des motus:
Concurrence d’accès et ingéniérie concurrente
State Awarness, communication et auto-coordination
Workflow flexible Les moins de motus:
En développement… Pas fiable…
top related