Title: ECOO
1ECOO
Environments and COOperation
2ECOO Environments and COOperation
e_work Cooperative Work Internet
Co-design Co-engineering
Coordination of a Virtual Team
Process modeling, Workflow Awareness Collaborative
Tools
3ECOO Members
Responsable Claude Godart, Prof. UHP, ESSTIN
Phd students Karim Baina, Julia Bitcheva
Christophe Bouthier Abdelmajid
Bouazza Daniela Grigori Post docs
Samir Tata (Aalborg, Dan)
Olivier Zendra (McGill, Can) Engineer Saâd El
Hadri Marc Patten
Permanents Khalid Benali, MC Nancy 2 Nacer
Boudjlida, Prof UHP Gérôme Canals, MC Nancy
2 François Charoy, MC Nancy 2, CR INRIA (sept 00
-- sept 02) Jean-Claude Derniame, Prof
ENSEM Jacques Lonchamp, Prof. Nancy 2 Pascal
Molli, MC UHP, CR INRIA (sept 00 -- sept
02) Olivier Perrin, MC Nancy 2 Hala Skaf-Molli ,
MC UHP
4Guidelines
- Develop tools
- that people want
- easy to deploy and debug (amateur programming)
5Industrial relationships
- AEE (Car manufacturers and equipment providers),
E! EAST - Interoperability of processes
- CNET (France-Télécom), CRAI
- Virtual teams for architects
- Hitachi Japan
- Flexible workflow
- E! KVM (Kappa, HTTP Software)
- ...
6Academic relationships
- ISA, MACSI, MAIA, ORPAILLEUR, TRIO
- ADP, EIFFEL ...
- Working group on virtual teams with UWS, UNSW,
Macquire U à Sydney - HPLab Palo Alto
- ...
7Virtual Teams
- Team
- A group of people who interact through
interdependent tasks guided by a common goal - Virtual
- Distributed across the time, space and the
organizations - Linked by webs of communications technologies
8Virtual Teams
- Why virtual teams ?
- Sharing
- Quickly gathered core competencies of different
organizations - Work is achieved in a competitive time
- High-productivity, mobility
- Sharing
9Virtual Teams
- Providers host virtual teams
- BSCW Reference of CSCW community for shared
workspace, a commercial product now - SourceForge 10000 open source projects, 70 000
virtual members - HotOffice, TeamCenter, Egroups, Instant!TEAMROOM
Commercial products
10Virtual 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
11Virtual Team Services
- Coordination Tasks management
- Manual Project Management
- Enacted To_Do_List
- Defined in a process and enacted Workflows
- Awareness pertinent
- Activity awareness, Availability awareness,
Process awareness.
12ECOO Research themes
- Shared data consistency
- Concurrent access to shared data
- Asynchronous vs. synchronous updates
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
- Collaboration
13Problems
- Shared data consistency
- Concurrent access to shared data
- Asynchronous vs. synchronous updates
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
- Collaboration
14Problems
- Shared data consistency
- Concurrent access to shared data
- Asynchronous vs. synchronous updates
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
- Collaboration
15Shared Data in Virtual Teams
Private Workspace
Private Workspace
Private Workspace
Shared Workspace
Private Workspace
Private Workspace
Private Workspace
Private Workspace
16Shared Data and Copy-Modify-Merge
Private Workspace
Private Workspace
Private Workspace
Shared Workspace
Private Workspace
Private Workspace
Private Workspace
Private Workspace
17Shared Data and Consistency
a
b
C
18Data Consistency
- Transactional approach
- Encapsulate activities in transactions.
- The system will take in charge the problem of
concurrent access
19Data Consistency
Private Workspace
Private Workspace
Private Workspace
Shared Workspace
Private Workspace
Private Workspace
Private Workspace
Private Workspace
20Which transaction model ?
- Long term
- Uncertain
- Non isolated
- ...
21Cooperation Patterns
- Client/Server
- NO concurrent modifications on shared data
- Redactor/reviewer
- Cross reading of shared data
- Cooperative Writing
- Concurrent modifications
22Data 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. - Canals98, Information sciences, 110, p 297--302
23Problems
- Shared data consistency
- Concurrent access to shared data
- Asynchronous vs. synchronous updates
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
- Collaboration
24Project life cycle
Divergence concurrent modifications on the
different copies of the object. Convergence
integration of parallel modifications ...
Divergence
time
User1
User2
synchro. Points
User3
25Problem
- Currently, divergence and convergence phases are
disconnected. - How to increase convergence efficiency by
establishing a continuity between asynchronous
and synchronous phases ?
26Basculement vers une session de Travail Couplé
User 1
User 2
User 3
User 4
27Basculement vers une session de Travail Couplé
Conflit résolu
User 1
User 2
User 3
User 4
28Fin de la session de Travail Couplé
User 1
User 2
User 3
User 4
29General approach
Late validation of Operation (like CVS)
Immediate validation of operation (like Ellis)
Reconciliation stage
WS1
WS1
WS2
WS2
WS3
WS3
30Conclusion
- Expected results
- Reconciliation of the tightly coupled way of
working (like in real time groupware, no
divergence) and the loosely coupled approach
(like in CM, Divergence allowed
Copy/modify/merge) - Scientific contribution
- A common model for late validation and immediate
validation scheme - Bouazza99, CSCW Workshop on real time edition
31Problems
- Shared data consistency
- Concurrent access to shared data
- Coordination
- Explicit coordination (formal)
- Implicit coordination (informal)
- Collaboration
32Formal Coordination
- Cooperative processes
- Workflow is used in several domains to coordinate
works - Example coordinate tasks in office automation
- Use it to coordinate virtual teams !
- Coopetitive processes
33Formal Coordination
- Cooperative processes
- Workflow is used in several domains to coordinate
works - Example coordinate tasks in office automation
- Use it to coordinate virtual teams !
- Coopetitive processes
34Workflow 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...
35 Example Loan Request Handling
- Activities
- Collect credit information
- Assess risk (amount lt 10 000 FF)
- Request approval (amount gt 10 000 FF or high
risk) - Accept credit
- Reject credit
36Control flow of activities
37My activities
38Problem
- Actual workflow systems are rigid (competitive
activities) - End-gtbegin dependency
- Execute in isolation
- Add flexibility to workflow systems
39Cooperative Workflow
- Two methods
- Change the execution engine
- Keep the model simple (minimal modifications)
- Accept cooperative executions (break isolation)
- Change the process model
- Add cooperative operators to the model
40Competitive vs. Cooperative Process Interpretation
Process Model
Competitive Interpretation
Cooperative Interpretation
41Principle
- 1. Activities executes as COO-transactions
- 2. An activity can anticipate its execution
- start its execution with intermediate results
- even if all its conditions are not fulfilled
42Activities as COO-transactions
C
A
B
Cooperation supported by cooperative transactions
Cooperation supported by anticipating activities
43Anticipated activities
C
A
B
Cooperation supported by cooperative transactions
Cooperation supported by anticipating activities
grigori01a, DEXA conference
44Example
- Activity goes to the anticipating state
- User choose when they want to start them
- At some time they must go to the executing state
- From the outside the execution remains the same
45Cooperative workflow
C
A
B
Cooperation supported by cooperative transactions
Cooperation supported by anticipating activities
grigori01b, CODAS conference
46Condition for anticipation
- When an activity can become ready to anticipate ?
- Free anticipation
- All activities may anticipate
- Possible but difficult to converge to a
consistent state - High risk of lost or unuseful work
- Control flow dictated anticipation
- Start-start dependency with preceding activities
- Reduce the risk of lost work
- Data flow dictated anticipation (require explicit
data flow definition) - The mandatory input must be available
- Guarantee the availability of all the ressources
(may be not in the right state
47Anticipation and Coo transactions
- Anticipation allows flexible execution but
increased the risk of inconsistencies - Coo transactions allows flexible data management
- Combination of both will support a form of
coordinated cooperation
48Combining anticipation and the Coo protocol
- The Coo protocol generates dynamic dependencies
- Dynamic dependencies must not contradict static
dependencies (of the process) - gt Constraints on intermediate results published
by anticipating activities - Anticipating activities may publish only if they
are certain to go in executing state at some time - Intermediate results of anticipating activities
cannot be read by executing activities (risk of
cycle)
49Anticipation and Coo transaction
- Data and workflow management are integrated
- C/S between successive activities
- CW and R/R between parallel activities (and even
processes) - Users have some initiative but remains under
control - The design of the process remains simple
- Designer may rely on its flexibility
50Cooperative Workflow
- Two methods
- Change the execution engine
- Keep the model simple (minimal modification)
- Take in consideration cooperative executions
- Change the process model
- Add cooperative operators to the model
51Change the Process Model
- Cooperation is defined and controlled explicitly
- 3 cooperation patterns
- Client server
- Redactor reviewer
- Cooperative writing
- Users can negotiate their cooperation strategy
godart99, RIDE Virtual Enterprises
52Cooperation Patterns
- Client/Server
- NO concurrent modifications on shared data
- Redactor/reviewer
- Cross reading of shared data
- Cooperative Writing
- Concurrent modifications
53Example Cooperative Write
A
Edit
Shared workspace
B
Edit
Cooperative Operator
54Formal Coordination
- Approach based on workflow (explicit
coordination) - Workflow is used in several domains to coordinate
works - Example coordinate tasks in office automation
- Use it to coordinate virtual teams !
- Coopetitive processes
55Problem
- Two enterprises cooperate on one project but
compete on another - They need to cooperate, but they do not want to
put on the table all their know_how - How to outsource a process ? How to answer to an
invitation to tender ?
56Coopetitive processes
Modèle de procédé interentreprises
a
b
c
d
Généralisation/spécialisation
a
c
b
d
GP
Gestionnaire de procédé
57Approach ?
- Process bus
- how to abstract a process ?
- More than a programming object (duration,
uncertainty )
58Problems
- Shared data consistency
- Concurrent access to shared data
- Coordination
- Explicit coordination (formal)
- Implicit coordination (informal)
- Collaboration
59Informal Coordination
- Gutwin, Roseman and Greenberg in CSCW96
- "Workspace awareness reduces the effort needed
to coordinate tasks and resources, help people to
move between individual and shared activities,
provides a context in which interpret utterance,
and allows anticipation of others actions
60Informal Coordination
- Coordination based on group awareness
- Keep team members informed about the project
activity.. - So they will communicate...
- And auto-coordinate.
- Essential problem
- Providing pertinent information.
- Which information ? when ? To whom ?
61Informal Coordination
- A pertinent source of information
- The measurement group divergence.
- Group divergence
- Measure the quantity of disorder between the
different copies of shared data...
62Divergence
Divergence concurrent modifications on the
different copies of the object. Convergence
integration of parallele modifications ...
Divergence
time
User1
User2
synchro. Points
User3
63Divergence/convergence
- Divergence phase Monitor...
- Convergence phase Accelerate...
- Convergence points COO-SR
64Divergence
- How to measure divergence?
- How to propagate it ? According to which model ?
- How to visualize it in a real time ?
65How to Measure Divergence?
- Configuration management approach
- Copy/modify/merge calculate the difference
between the different copies of an object
flexible merge, diff - Transactional approach
- Number of dirty reads ?-serializability
- Operational transformation
- Number of conflict operations Ellisgibbs,
SOCT4.
66Divergence Propagation
- Divergence is the quantity of disorder in objects
network - It propagates through dependencies between
objects ...
67Divergence Visualization
- User must be able to monitor divergence
variation like CPU load or network activity. - Peripheral, scalable, customizable...
68Divergence Visualization
69Divergence Visualization
70Divergence Visualization
71Experimentation
- Prototype
- MOTU prototype is under realization in an
advanced step.. - motu.sourceforge.net
- Hypothesis
- If users visualize divergence in a real time so
they will communicate to auto-coordinate. - Experience
- Clinical studies on virtual teams disposed on
information about divergence. - This is the objective of the project COCAO with
CNET.
72Conclusion on Informal Coordination
- Divergence is a pertinent source of notification
- A peripheral visualization allows user to
monitor divergence like CPU load or network
activity.. - Auto-coordination
73Research themes
- Shared data consistency
- Concurrent access to shared data
- Asynchronous vs synchronous updates
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
- Collaboration
74Collaboration
- Decision support
- Negotiation
- Collective resolution of questions
- Argumentation
- ...
- http//www.loria.fr/equipes/ecoo/dots/
75General Conclusion
- Data consistency
- Coo-transactions
- Immediate vs. differed updates
- Coordination two approaches
- Formal coordination
- Cooperative workflow
- Coopetitive processes
- Informal coordination
- Auto-coordination based on group awareness
- Divergence metrics
76motu.sourceforge.net