ECOO is a project of LORIA (UMR 7503), a joint venture between CNRS, INRIA, Université Henri Poincaré Nancy 1, Université Nancy 2 and Institut National Polytechnique de Lorraine.
The ECOO project is interested in the development of Wen information systems, with a focus on services for deploying distributed teams and virtual enterprises on the Internet. Related services include data sharing, task management, and group awareness services.
The ECOO approach is characterized by its focus on coordination, a crucial problem due to the lost of natural awareness resulting from distribution in space and time.
Difficult research problems related to this problematic and addressed by ECOO are :
consistency maintenance of semantically linked data (modified in a multi-synchronous context)
consistency maintenance of replicas of the same data (modified in a multi-synchronous context)
context based capture and visualization of a large set of data for awareness purpose.
Privileged applications in our target are creative cooperative applications like co-conception, co-engineering, cooperative editing ...in various domains like Software Engineering, e-Commerce, e-Learning, Architecture-Engineering-Construction.
An important research direction of ECOO concerns the coordination of a distributed team based on an explicit definition of working processes (workflow).
Traditional workflow models , if they seem a good starting point for this modelling activity, suffer from a lack of flexibility in both control flow and data flow definition and interpretation; there are too rigid to model the subtlety of interactions characterizing creative cooperative activities.
As a consequence, different approaches have been proposed to extend the traditional workflow approach towards cooperative applications. In this context, our main stream approach is to keep a traditional process description model but with a different semantic for integrating control and data flow flexibility.
Another emerging characteristics of our approach is the consideration that, in a lot of application, there is not one explicit process, but several interacting processes, potentially based on different models, and in some cases not explicitly defined. This applies especially in the context of Web services orchestration.
To be able to define properties of workflow executions, activities are generally considered as black boxes executing as ACID transactions. Unfortunately, ACIDity seems antagonistic with cooperation, cooperative processes being of long time duration, of uncertain development, dynamically defined, mobile ... Especially, the Isolation property seems problematic for interacting activities exchanging intermediate results in complex feedback loops. To surpass the limits of traditional transaction models, several well founded and exotic models have been proposed.
Regarding the transactional problematic, in the vein of , and in the aforementioned objective of multi-model process integration, we are concerned with the concurrency control of transactional processes. This can be sketched in a top-down or in a bottom-up perspective. For both perspectives, we are developing a transactional framework to provide active support for transactional activities composition and composition evaluation.
One domain in which cooperative work is organized since a long time is the software development domain. Tools like CVS are used since several years by thousands of software developers. We can even say that the copy/modify/merge paradigm is one of the more concrete implementation of cooperative work at a large scale. However, we have to note that this model, which synchronizes one entity at a time, if it is highly operational, suffers from some weakness regarding consistency of shared data.
The copy/modify/merge paradigm has deeply influenced our view of cooperation and remains a first order underlying component of our cooperation view. But our objective is to integrate it in a more global vision for better taking into account semantic links between two or more objects, and better integrating asynchronous work phases with synchronous phases.
Synchronous editors allow to maintain as soon as possible the consistency of two or more copies of the same object that are concurrently modified at the same time by several users distributed through a network. Algorithms are founded on the fusion of execution traces.
We use trace fusion algorithms for everything that requests a synchronous view of several user modifications including the synchronous visualization of divergence between users modifying asynchronously copies of the same object. We extended these algorithms for assuring a smooth and consistent transition from asynchronous to synchronous phases, especially for the reconciliation of divergent copies. We develop a technology for specifying and implementing a generic and secure synchronizer.
Cooperative work includes an important human dimension. A bad apprehension of this dimension leads inevitably to the rejection of any software solution on the field. A good study of actual usages before, during and after development is predominant.
Usage analysis is more a research topic in social sciences than in computer sciences. Our approach is to implicate potential users early in the development process (participative design) Also, we ask specialists (psychologists, educationists), when possible, to conduct these analyses. We have had the opportunity to develop this strategy thanks to our scientific and industrial relationships.
Our work aims at supporting creative cooperative applications of various nature: co-design, co-engineering, e-learning, cooperative authoring for participants distributed in time, space and eventually in organizations. It corresponds to enterprises cooperating through Internet to the design and/or development of a common product (e-commerce, business process, cooperative software development, co-design and co-engineering ...).
All the software below is free software.
The Bonita workflow model is defined as a classical graph based one, but with an advanced execution model that allows different kinds of execution strategies: from classical and automatic, to less constrained user driven. Another difference with classical model is that process definition is dynamic. Bonita supports direct process instantiation and execution. A new process can be created by cloning another running or finished process and then adapted to its specific needs. Process fragment importation is also possible. Bonita is implemented on a J2EE application server. It is available on Jonas. It provides a definition and an execution API available as a session bean and as Web services. Integration of external components can be done inside activities using the BeanShel scripting language. Bonita is available as an ObjectWeb project on the ObjectWeb forge http://bonita.forge.objectweb.org/.
LibreSource allows a virtual team to organize and its participants to cooperate. Its objective is in the vein of BSCW's, SourceForge's and Toxic Farm's, but with an original object sharing model where copy convergence is based on the operational transformation approach which provides for a safe and generic synchronizer.
LibreSource integrates services for object sharing, communication, task management and group awareness. Classical synchronous and asynchronous communication tools are integrated.
LibreSource (http://libresource.inria.fr/) is implemented on a J2EE application server. It is available on Jonas. It is developed in the frame of the RNTL PureSource project (cf. ).
Coopera allows a virtual team to organize, and its participants to cooperate. Its objective are in the vein of BSCW and SourceForge but with a focus on coordination and a simplified interface and architecture that put the power of version management at the range of almost everybody.
This result has been obtained thanks to several usage analyses: cooperation between several classrooms of several primary schools and continuing education of nurses distributed through France.
It integrates services for object sharing, communicating, task management and group awareness. Object sharing supports file versioning and access right control. Classical synchronous and asynchronous communication tools are integrated. Task management provides to-do-lists and flexible workflows. One characteristic of Coopera is the provision of awareness, and especially state awareness in different visualization forms.
Coopera http://coopera.loria.fr is implemented with basic Web technologies (HTTP, PHP, Mysql ...) and can be easily deployed. It has developed in the frame of the RIAM Coopera project (cf. ).
In the context of cooperative work, a team alternates divergence phases where each member works in insulation on copies of objects and convergence phases during which the group reconciles and validates data. To support this style of working, we propose the concept of SAMS environments. A SAMS environment allows team members to work in Synchronous, Asynchronous or Multi-Synchronous mode while ensuring the coherence of shared data. Users of SAMS environment can choose interaction mode according to their needs, and the environment will ensure the coherence of data. Sams is available freely at http://woinville.loria.fr/sams.
The first Java library allows visualizing a large collection of data structured in tree maps that can be displayed while enhancing one or another parameter (http://www.inria.fr/valorisation/logiciels/cooperation.fr.html).
The second library has the same objective but structures data in hyperbolic trees (http://www.inria.fr/valorisation/logiciels/cooperation.fr.html).
These libraries are widely used for different applications, including references search by the American National Library of Medicine (cf. ).
jXyDiff is a Java implementation of the XyDiff algorithm which provides for finding differencies between XML files. It has been implemented in cooperation with the Gemo project of INRIA Futur.
During this year, the focus of our research has moved from Extending workflow management systems to support the subtlety of creative interactions towards Concurrency of long term interactive processes. This is motivated by the observation that in a real, complex, cooperative development there is not one well defined process, but several, only partly specified processes that co-habit and interact. How to support concurrency between processes having their proper internal control structure, potentially instantiated from different process models? How to discover processes, and especially cooperation rules from logs of process executions when these processes are not explicitly defined? These two questions are related each to the other by the fundamental need to characterize and formalize cooperative interactions. Concerning concurrency between processes, the idea is, in opposition with the state of the art which mainly founds atomicity on isolation, to take advantage of the structure and the semantics of processes to increase the synergy and the parallelism between processes. Concerning, process discovery, the objective is to find out cooperation patterns and how processes are related each to others in a given application. We see the application of this research naturally in the coordination of multi-user creative applications. More focused applications in our target are the transactional composition of Web services and the definition and enforcement of electronic contracts.
This year related contributions are: the definition of a framework for combining services with transactional properties and an algorithm for mining workflow patterns with transactional properties. Also a new model of multi-instantiated activities has been specified and implemented.
A process coordinates a set of activities as a cohesive unit of work in order to achieve common goals. Current technologies are found lacking efficient transactional support for such applications, especially when activities are integrated in a bottom up approach, where activities pre-exist to the global process definition. We propose a transactional framework that enhances activity description with transactional properties for a better characterization, a more efficient composition, and a more reliable coordination of activities. In this framework we use the user defined Accepted Termination States (ATS) property as the correctness criteria to ensure process failure atomicity. The main contribution of this framework is that it is able to incorporate different transactional semantics as well as different process patterns into the same structured transaction, and besides that it can validate activities according to the ATS correctness criteria.
This approach applies for the validation of a combination of pre-existing activities insides one process, and especially for the combination of Web services inside one Web process .
Existing process mining work is able to discover important aspects of control flow, but is still limited while considering parallelism of activities, and concurrency and failure atomicity properties. Their limitations come from their incapacity to discover transactional dependencies between process activities, or activities transactional properties. To surpass these limitations, we have combined existing mining techniques to deal with parallel activities and to discover more process patterns, and also process termination states (WTS). Then based on this discovered information, a set of rules allows mining process transactional behaviour. Additionally to process discovery this allows also the tuning of an existing process by comparing forecasted executions with real ones .
Processes often require executing a task multiple time in series or in parallel. In some workflow management systems this possibility is already supported and called multiple instantiation. Usually the term iteration is used to define multiple executions in series. Nevertheless, the existing solutions impose many constraints for workflow designers and decrease flexibility. Almost all of them use new operators to represent multiple instances that are integrated in the workflow as any other workflow basic operators. This way of representation encumbers and complicates the workflow so that it is unreadable for the end user. We propose a new working way of defining multiple instantiations in a workflow without using exotic operators, nor complicating the workflow itself. Our approach is based on defining sets of tasks in a dynamic workflow process. Each set contains activities that must be executed multiple times. Each set is governed by constraints making it possible to supervise the multiple executions. These sets can be nested or even overlap. We use two types of sets in this work: parallel instances set for those activities that are executed multiple times in parallel. And the second type is iterative instances set for those that are executed multiple times in sequence. The number of instantiations to do and the condition to iterate can be evaluated at run-time. In this paper, we also show on a real process how this model can be used to ease a process definition.
The idea of a distributed enterprise as understood by ECOO must be considered as an extension of the organizational model of workflow systems for integrating the cross-organizational dimension of virtual teams and enterprises , and for enhancing the automation of human intensive applications like contract management (a thesis on this topic starts this year in cooperation with the CRP Gabriel Lipman in Luxembourg) and competence management .
The problematic regarding the concurrency control of processes is still largely open, and this year contributions are the first pieces of the puzzle. Especially, the work at the junction between the combination of transactional activities on one hand, and process mining et the other hand, i.e. a good characterization and formalization of process interaction patterns, is very sensitive.
Ongoing work concerns the management of more complex activity dependencies than these currently considered for activity combination, and the discovery of complex properties like compensation properties. The idea of concurrency spheres is also deepened to structure combination and discovery activities.
Finally, we will also consider the application of our work in the context of ubiquitous and mobile processes.
Optimistic replication is a very important issue for mobile and collaborative systems. In mobile context, users duplicate data on the mobile device before disconnection, work disconnected, and then reconcile data when connected again. If data has been updated both on the mobile system and on the master then conflicts may occur. In collaborative context, users duplicate data before working insulated. They reconcile their own changes with concurrent work before publishing merged changes. In both contexts reconciliation is the critical stage. Authors of CODA wrote:
For optimistic replication to be viable, ...there needs to be machinery in the system for detecting conflicts, for automating resolution when possible, and for confining damage and preserving evidence for manual repair.
The Operational Transformation (OT) approach allows for efficient reconciliation based on semantic ordering of operations and semantic conflict resolution. But without a correct set of transformation functions, OT is useless and despite all research efforts such transformation functions are not yet available.
Proving correctness of transformation functions is the major drawback of the OT approach. The combinatorial generated by transformation functions makes the proof too complex for a human. We have chosen to analyze OT with the assistance of a theorem prover. We propose a new set of transformation functions and prove its correctness .
Reconciliating divergent data is an important issue in concurrent engineering, mobile computing and software configuration management. Currently, a lot of synchronizers or merge tools perform reconciliations. However, they do not define what is the correctness of their synchronization. We propose to use a transformational approach as the basic model for reasoning about synchronization. We propose an algorithm and specific transformation functions that realize a file system synchronization. Unlike classic synchronizers, our synchronizer ensures properties of convergence, causality and intention preservation and is extensible to new data types
It is possible when merging two correct XML documents to obtain an incorrect XML document. This is not acceptable because this document cannot be read by the tools that produced it.
If we try to solve the problem by modifying the merging algorithm, we obtain a combinatorial explosion of the number of transformation functions. In fact, the goal of a synchronizer is to ensure convergence of data, not the semantic consistency of the state of convergence. Thus, modifying the merging algorithm is not the good way.
We use another approach; we try to automatically repair incorrect documents. We show how we can use automatic reparation algorithms developed in databases domain to provide semantically correct synchronizer .
The general strategy of the majority of the tool that manage optimistic replication is to define a total order on the operations. Indeed, if all the sites execute the same operations in the same order, then logically, the different copies must converge. Unfortunately, the installation of a total order in a distributed system, generally relies on the definition of a central site which schedules the concurrent operations. This is incompatible with several types of use. If we want to synchronize data on a peer-to-peer network, it is not possible to indicate a reference site. If we want to synchronize data on an ad hoc network, a priori, there is no central server. Lastly, quite simply, let us take the case of a user alone with a mobile computer, a mobile phone and a personal assistant. Currently, he can synchronize his contacts between his computer and his phone, his computer and his assistant but not between his phone and his assistant.
In the Operational Transformation approach, there is no need for a total order on the operations. Concretely, the different sites do not execute the same operations in the same order. It is simply necessary that the logs of the different sites be equal or equivalent. It is easy to understand that two logs including/understanding the same operations in different orders are equivalent if all the operations commute. Operational transformation approach can synchronize divergent data without central site and only with a causal order. We want to realize a synchronization service based the theory of transformational approach and to show its value within the framework of a peer-to-peer network.
Group awareness models and mechanisms have a central situation in the cooperative applications that we are concerned with, because they interact directly with users and are largely responsible for tool acceptation. They allow each participant to be conscious of other participants activities, enhancing in this way the synergy, the coordination, the communication and the social links in the group.
Actual existing awareness mechanisms deliver awareness information to participants in a very uniform way and do not take into account the work context of the individuals, their roles and preferences. Although they have proven their efficiency in small settings, they have difficulties to scale up to larger projects where a large variety of work contexts can be encountered. We develop different but complementary approaches to overpass these limitations.
In large settings, awareness information that can be delivered to the user can be numerous and complex. In order to facilitate the understanding and appropriation of awareness notifications in these cases, we apply advanced visualization technics suited for large sets
of data :
Treemaps , are used to give a global and instantaneous view of a group property : participants activity, shared artefacts status, process activities status.
Hypertrees are used to offer navigation capabilities in a large awareness information set. This approach allows the participants to query the actual project status.
This work has produced an open source visualization library that has been experimented in various domains .
To take into account individual settings, preferences and work context to compute awareness information and the way it is delivered, we use an explicit representation of the activity context of each participant.
This representation is used on the one hand to aggregate and filter information at the source, and on the other hand to adapt information delivery to each particular user context. Information aggregation is based on Bayesian networks that allows to correlate low level events for abstracting a higher level information. The relationship between source and recipient is implemented by computing a distance between user's contexts. Based on that, on a evaluation of the potential interest of the recipient, and on its current activity context, the adaptation system take decisions about the modality (query-based, peripheral, intrusive) and the time (immediate, delayed, cancelled) of the delivery .
The goal of this work is to provide support to workgroups engaged in a knowledge-intensive activity (e.g. a design project, a software project) to capitalize and share common knowledge. We particularly focus on mechanisms to make explicit the shared emergent knowledge and to support individual and divergent point of views about this emergent knowledge.
Awareness plays a central role in our approach. On one hand, awareness is the main source for knowledge discovery and learning about other's activity and skills. On the other hand, awareness is helpful to understand the evolution of the shared knowledge and the occurrence of divergent points of view about this knowledge.
We already have proposed a knowledge model based on ontologies and a knowledge workspace based on private/public spaces to store the emergent knowledge and individual/shared point of views, and to detect divergences (). We have also introduced the notion of knowledge awareness as the central mechanism for being aware and understanding knowledge contribution and evolution in a group.
At short term, our objective is to experiment our mechanisms in the frame of the cooperative work environments developed in ECOO. In a first time, it is a technical integration work of these tools in the platforms; in a second time, it is to develop usage analyses for studying and comparing these mechanisms with regards to existing ones.
At middle term, we will extend adaptation properties of our tools for taking into account the usage context of the cooperation environment. This will allow to offer a continuous support of group awareness, especially for mobile activities disconnected from the usual working environment.
Understanding the impact of cooperation environments on people work and the way they understand it is an important factor for the success of their design and deployment. In order to make progress on this topic we have set up cooperation with psychologists and specialists of education to evaluate usage of the Coopera cooperative environment. This study took place in the context of the Coopera RIAM project. The Coopera environment has been used during two years in different classrooms of the Nancy area. Its evolution has been based on the observation in situation of children and teachers working with it for different projects. The result of this work has strengthened our conviction that cooperating in a distributed setting is not natural and that it requires to take into account the technical setting, the ergonomic of the system and the cultural background of the users .
Project partners of LibreSource (formerly PureSource) are Université Henri Poincaré Nancy 1, Université Henri Poincaré Nancy 2, INRIA, the Artenum society and University Paris 7-Denis Diderot.
LibreSource allows a virtual team to organize and its participants to cooperate. Its objective are in the vein of BSCW's, SourceForge's and Toxic Farm's, but with a particular focus on coordination and an original object sharing technology.
Object sharing rests on an original vision where copy convergence is based on the operational transformation approach that provides for a safe and generic synchronizer.
LibreSource will integrate services for object sharing, task management and group awareness.
LibreSource http://libresource.inria.fr is implemented on a J2EE application server. It is available on Jonas.
Partners of the Coopera project are the Jeriko society, specialist of interactive multimedia, the ECOO project of LORIA, psychologists from the Codisant project, University Nancy 2, and educationists from the Gr@mmsci laboratory, Université Bordeaux 3.
Coopera has the same objective than SourceForge, but with an original architecture and a simplified interface that put the power of version management at the range of almost everybody.
This result has been obtained thanks to several usage analyses: cooperation between several classrooms of several primary schools, continuing education of nurses distributed through France ...especially including non computer scientists.
Coopera http://coopera.loria.fr is developed with common basic Web technologies (HTTP, PHP, Mysql ...) and can be easily deployed.
.
The National Library of Medicine (USA) manages a large number of archives concerning medicine. Everybody can access these archives, but the number of documents is so important that the navigation in this document base id very hard. Even with a traditional search engine, the number of returned document is too high for being easily exploited. To surpass this limit, an interface based on our Tree Map and Hyperbolic Trees visualization libraries (cf. , and on a combination of both, is being developed.
KVM is a Eureka ((No 2432) project in which participates the French KAPPA society, the British Epistemologics society and projects of INRIA Lorraine (ECOO, MAIA et ORPAILLEUR). Its objective is to develop a framework for supporting the auditing processes of enterprise knowledge. The framework is built around the Bonita workflow management system that orchestrates the auditing process and integrates the different auditing tools: representation, structuring (tree diagrams) and codification of knowledge; navigation, search and visualization of knowledge and related audit information; cooperation tools for communicating and sharing knowledge.
We have helped the 2ST SME in the re-engineering of their Content Management System, ION-CMS, with Enterprise Java Beans concepts. The project has been supported by ANVAR Lorraine.
Ecoo participates to the CPER << Intelligence Logicielle (Software
Intelligence>> in the axis << Qualité et sûreté Logicielle (Quality
and Safety of software)>> in the Mobi5 action. Mobi5 has funded the
development of XML transformation functions satisfying condition
C1 and the development the XyDiff Java engine. The generic So6
synchronizer can now synchronize efficiently and safely XML files.
We collaborate with psychologists of University Nancy 2 and the rectorship of Nancy for e-learning experimentations in the frame of the Coopera project.
Ecoo participates to the specific actions of CNRS << Accès aux données/Mobilité >> and << Services Web >> and to the working group << UbiMob >> of GDR I3.
We participate to several contracts with national enterprises ().
We collaborate with several French laboratories and universities in the context of the INTEROP Network of Excellence ().
Khalid Benali is program committee member of Inforsid 2005.
Gérôme Canals has been program co-chair of UbiMob 2004. He is program committee member of UbiMob 2005.
Goals of Interop (http://www.interop-noe.org/) are :
the emergence of a lasting European Research community on interoperability of enterprise software applications,
to create the conditions of an innovative and competitive technology transfer by bringing upstream conceptualisation of business based interoperability,
to achieve by the end of the project the integration process which will assemble knowledge components (ontology, enterprise modelling, architecture and enabling technologies) and prepare a lasting center of competence on Enterprise Interoperability with maximum research and audience.
We cooperate since several years with members of the Information Management Computer Sciences and Engineering schools of the University of New South Wales in Sydney on two main themes: transactional web services, and awareness. This cooperation is partially founded by an Irex Grant of ARC (Australian Research Council).
Thesis of Alicia Diaz with LIFIA, La Plata, Argentine: Knowledge sharing process in Communities of Practice.
Thesis of HAMRI Salah, University of Constantine, Algeria: Model-based interoperability of workflow systems.
Thesis of Ustun Yildiz with University of Luxembourg: Electronic contracting.
We participate to several contracts with European enterprises ().
Khalid Benali is program committee member of Interop-Esa (Geneva, 2005).
Nacer Boudjlida is program co-chair of Interop-Esa (Geneva, 2005). He is also member of the program committee of the 7th International Symposium on Programming and Systems (Algiers, May 2005) and a member of the program committee of the 10th International Workshop on Exploring Modelling Methods and Systems Analysis and Design (held in conjuncction with CAiSE'05, Porto, Portugal, June 13-14 2005).
François Charoy is program committee member of BPM (Nancy, 2005) and Interop-Esa (Geneva, 2005).
Claude Godart is general chair of the third Business Process Management Conference (BPM), Nancy, September 2005, co-chair of the first IEEE workshop on Teamware, Trento, January 2005. He has been program co-chair of the first IEEE international workshop on electronic contracting (WEC) (San Diego, 2004). He has been or is program committee member of RIDE (Research Issues in Data Engineering, Montréal, 2004), BPM (Business Process Management, Potsdam, 2004), CoopIS (Cooperative Information Systems, Larnaka, 2004), Saint (Symposium on Applications and the Internet, Trento, 2005), EDOC 2005 (The enterprise computing conference, Enschede, 2005), BPM (Business Process Management, Nancy, 2005), WISE (Web Information Systems, New York, 2005).
Pascal Molli has been program committee member of FIDJI 2004, Luxembourg.
Olivier Perrin is local organizer of the BPM 2005 conference in Nancy. He has been program committee member of the first IEEE international workshop on electronic contracting WEC (San Diego, 2004).
Dr KIM Tae Gyun, Professor at Pusan University, Korea, has visited ECOO on January and February 2004
Fethi Rabhi, Associate Professor at University of New South Wales, Sydney, Australia, has visited ECOO during one month in November.
Khalid Benali is member of the CNU (National committee for recruitment), 27th section.
Nacer Boudjlida is chair of the technical committee of the INTEROP Network of Excellence. He is members of the recruitment committee of University Henri Poincaré Nancy 1 (27th section).
Gérôme Canals is member of the orientation board of GDR I3. He is co-chair of GDR I3 UbiMob working group.
François Charoy is member of the recruitment committee of University Nancy 2.
Claude Godart is head of the recruitment committee of the University Henri Poincaré Nancy 1 (27th section). He has been member of the recruitment committee of the University of Luxembourg (Computer Sciences, Faculty of Information Systems) in 2003 and 2004. He is member of the Scientific Committee of the Laboratory of Computer Sciences of Littoral (LIL).
Jacques Lonchamp is head of the recruitment committee of the University Université Nancy 2.
ECOO members have responsibilities in several formations from University Henri Poincaré Nancy 1, University Nancy 2 and INPL, at different levels, including third cycle (DEA, ESIAL, ESSTIN, ISIAL).