ECOO Environments for COOperation Inria Lorraine
Dec 30, 2015
Objectives
• Coordination of a virtual team (people distributed in time, space and organizations, with a common objective)
– Flexible and reliable process management– Replica management with operational
transformations – Group Awareness
Composition of the team
• 10 + 1 academic people (C. Godart (head), P. Molli (vice-head), K. Benali, N. Boudjlida, G. Canals, F. Charoy, P. Molli, O. Perrin, H. Skaf, P. Urso)(J.C. Derniame)
• 5+7 Phd Students (K. Baina, J. Bitcheva, C. Bouthier, D. Grigori, S. Tata)(S. Alshattnawi, D. Cheng, W. Gaaloul, K. Gaaloul, A. Guabtni, M. Rouached, U. Yildiz)
• 2 post-doctoral fellow (S. Bhiri, G. Oster)• 5+1 engineers (G. Bort, R. Chabald, S. Jourdain,
M. Patten, M. Valdes Faura)(F. Jouille)
Plan
• Results– Flexible and reliable process management
• Flexible process (Highlight 1: the Bonita WfMS)• Reliable process (Highlight 2: Service composition with transactional
guarantees)
– Operational transformations• Safe and generic transformation (Highlight 3: the Vote proof system)• From synchronous to asynchronous work (Highlight 4: the
LibreSource environment)
– Group awareness
• Perspectives– Process engineering– Collaborative editing
Process management topics
• Flexible processes– How to better support the subtlety of human interactions
than traditional workflow systems do ?– Highlight 1: Bonita, a flexible a WfMS
• Reliable processes– How to provide (transactional) guarantees for long term,
with proper internal control, semi-atomic, with user defined correctness … activities ? … in SOA architecture !
– Highlight 2: Service composition with transactional guarantees
Operational transformations
• OT framework allows anyone to edit anytime any kind of data without locking, turn taking or serializing
• Shared data are replicated. Local operations are broadcasted to others sites to be re-executed after transformation
• The system is correct if it eventually converge towards a common state that ensures intentions of users
• Intention are represented as constraints
OT: topics
• Safe and generic synchronization– It appears to be very difficult to write safe OT– Highlight 3: Tombstone Transformation Functions (TTF
)
• From synchronous to asynchronous work– Configuration management system based on OT
technology: you no longer check-out, update, commit file versions, but logs of operations
– Highlight 4: implemented in So6, a safe and generic synchronizer, heart of LibreSource, [Group03]
Group Awareness
• If people receive the right information at the right time, they communicate and coordinate
• Large sets of shared artefacts, large groups of participants, complex organizational structures: many different collaborative situations; loosely coupled groups
• Topics– Awareness visualization– Context-based awareness adaptation
Perspectives
Process EngineeringCooperative processes, Composition of services with properties, Process discovery, Decentralized
control, Process awareness
Collaborative editingPeer-to-peer editors, Beyond linear structures, Massive collaborative editing (process,
awareness)
Keyword: decentralized control and organization
Process engineering (1)
• Composition of services with properties– Questions: How to abstract a process ? Which
properties? How to abstract them ? How to compose process fragments ? How the semantic Web can help ?
– Application: Many, Service Oriented Architecture …– Context: in the vein of work on Trans. Com. Ser., ARA
Cops (Composition of Policies and Services), Regional Cows (Constraint reasoning for the safe composition of WS), French WG « Web Services »
Process engineering (2)
• Process discovery– Objectives: control flow discovery, properties discovery– Applications: process discovery, process group enactment, trust
(when I expose some knowledge, what can be mined concerning my know–how ?) …
– Context: in the vein of initial results (control flow discovery, transactional properties discovery), cooperation with TU Eindhoven (Web process discovery)
• Distributed control– Objective: More distributed control! how to do? Process
delegation, the role of process patterns, the role of trust– Application: towards peer-to-peer processes, trust (When I
delegate an “activity”, how can I trust my supplier ?) …– Context: in the vein of work on Trans. Com. Ser.
Collaborative editing (1)
• Peer-to peer editors– Objectives: OT approach is decentralized but
designed for closed network, need for new algorithms that tolerate the churn of peer-to-peer network
– Applications: P2P group text editor such as a P2P Wiki
– Context: the Woot approach (designed for linear structures, based on a monotonic linearization function of partial orders, does not require vector clocks nor site number knowledge), ARC Recall
• Collaborative editing, beyond linear structures
Collaborative editing (2)
• Massive collaborative editing– Objectives: collaborative editing community
always handles small groups of users (2-50)..., what about tens or hundreds of users? Need to imagine new consistency management, processes and awareness
– Application: e-learning environment, Wikipedia
– Context: ARC Recall
1
• Flexible cooperative workflow management system– Flexible execution of activities– Dynamic process definition– Web services ready
• Built on the Jonas ObjectWeb J2EE Application Server• Proposed by Bull in their Open Source Software
Solution "Open Service"
Composition of services with …
How to ensure correct reliable executions ? (application dependent, user defined, easy to do)
Reliability choices
Composed service
Registry of services Designers
Define correctness: Accepted Termination States: the configurations of terminal states (completed, compensated, aborted …) in which
designers accept the activities of a process to terminate
Extend service description with simple properties : retriable, compensatable, pivot
Extend TCS withdependencies :compensation,alternative …
2
Using the provided information,either we validate the model
or we provide hints for correction
Tombstone Transformational Functions
• Writing a set of Operational Transformation is difficult. – C1: op1.T(op2,op1)≡op2.T(op2,op1)– C2: T(op3,op1.T(op2,op1))=T(op3,op2.T(op1,op2))
• All existing OT were false !• The TTF transformation functions are proved safe
!• Key of success: the VOTE environment that
automatically and quickly proves that a set of OT verifies correctness conditions [TCS06]
Begin
SPIKEAutomated
Proof
Formal Specification & C1 - C2 & Properties (SPIKE)
Formal Specification & Properties (VOTE)
Translation & Completness
ScenarioExtraction
IncrementalVerification
End
[Failure]
Correctness of a set of OT3