190 likes | 344 Views
ECOO. Environments for COOperation Inria Lorraine. 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.
E N D
ECOO Environments for COOperation Inria Lorraine
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
Process Engineering Cooperative processes, Composition of services with properties, Process discovery, Decentralized control, Process awareness Collaborative editing Peer-to-peer editors, Beyond linear structures, Massive collaborative editing (process, awareness) Perspectives 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"
2 Extend service description with simple properties : retriable, compensatable, pivot Extend TCS with dependencies : compensation, alternative … Registry of services Designers Composed service Define correctness: Accepted Termination States: the configurations of terminal states (completed, compensated, aborted …) in which designers accept the activities of a process to terminate Composition of services with … Reliability choices Using the provided information, either we validate the model or we provide hints for correction How to ensure correct reliable executions ? (application dependent, user defined, easy to do)
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]
3 Correctness of a set of OT Begin Formal Specification & Properties (VOTE) Incremental Verification Translation & Completness Scenario Extraction Formal Specification & C1 - C2 & Properties (SPIKE) SPIKE Automated Proof [Failure] End