Scientific Foundation

From Score

Jump to: navigation, search

Contents

Introduction

{{#widget:SlideShare |doc=semantic-media-wiki-semantic-forms-1205504882436734-4 |width=425 |height=348 }}

Collaborative systems involve humans and computers. They require to define how to share data and knowledge, how to communicate, how to coordinate, how to keep humans and computers aware about any changes in the system, how to secure the collaboration space, how to preserve privacy of participants, how to index information within the collaboration space.

Collaborative systems have to satisfy both distributed system constraints and human constraints. We have to build dependable and usable systems. Traditional models of data sharing or coordination fails to address issues in collaborative systems. The scientific challenge for SCORE is to propose models and algorithms that allow building collaborative systems that involves computers and humans. SCORE considers collaborative systems not as an application domain but as a research object.

There exist many scientific challenges in collaborative systems. The SCORE team focuses on two complementary dimensions:

  1. Process modeling and enactment. This research direction mainly proposes advanced models for business process, workflow, knowledge building.
  2. Data and knowledge sharing. This research direction relies on consistency and interaction models for data and knowledge sharing, interoperability aspects in data and knowledge sharing.

Both research directions have to validate their results with usage analysis in order to verify if users accept the system.

Process Engineering

Business Process Models - Workflow Models

An important research direction of SCORE concerns the coordination of a distributed team based on an explicit definition of working processes.

Traditional workflow models [69] , if they seem a good starting point for this modeling activity, suffer from a lack of flexibility in both control flow and data flow definition and interpretation; they 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 characteristic of our approach is the consideration that, in many applications, there is not one explicit process, but several interacting processes, potentially based on different models (functional, state-based, data-flow), and in some cases not explicitly defined.

Transactional Models for Processes

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 duration, of uncertain development, dynamically defined and mobile. Especially, the Isolation property seems problematic for interacting activities exchanging intermediate results in complex feedback loops. To overcome the limits of traditional transaction models, several well founded or exotic models have been proposed.

Regarding the transactional issue, in the vein of [74] , and in the aforementioned objective of multi-model process integration, we are concerned with the concurrency control and atomicity 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.

Data and Knowledge Sharing

Consistency Models for Distributed Collaborative Systems

Collaborative systems are distributed systems that allow users to share data. One important issue is to manage consistency of shared data according to concurrent access. Traditional consistency criteria such as locking, serializability, linearizability are not adequate for collaborative systems.

Causal consistency, eventual Consistency and Intention preservation (CCI) [75] are more suitable for developing middleware for collaborative applications.

We develop algorithms for ensuring CCI properties on collaborative distributed systems. Constraints on the algorithms are different according to the type of distributed system and type of data. The distributed system can be centralized, decentralized, GRID or peer-to-peer systems. The type of data can include strings, growable arrays, ordered trees, semantic graphs and multimedia data.

Optimistic Replication

Replication of data between different nodes of a network allows improving reliability, fault-tolerance, and accessibility. When the data are mutable, consistency between the different replicas must be ensured. Pessimistic replication is based on the principle of single-copy consistency while optimistic replication allows the replicas to diverge during a short time period. The consistency model for optimistic replication [73] is called eventual consistency, meaning that replicas are guaranteed to converge to the same value when the system is idle.

Our research focuses on the two most promising families of optimistic replication algorithms for ensuring CCI:

  1. The operational transformation (OT) algorithms [68]
  2. The algorithms based on commutative replicated data types (CRDT) [72]

Operational transformation algorithms are based on the application of a transformation function when a remote modification is integrated into the local document. Integration algorithms are generic, being parametrized by operational transformation functions which depend on replicated document types. The advantage of these algorithms is their generality. These algorithms can be applied to any data type and they can merge heterogeneous data in a uniform manner.

Commutative replicated data types is a new class of algorithms initiated by woot [71] . They ensure consistency of highly dynamic content on peer-to-peer networks. Unlike traditional optimistic replication algorithms, they do not require to detect concurrency between operations in order to ensure consistency. CRDT algorithms rely on natively commutative operations defined on abstract data types such as lists or ordered trees. Thus, they do not require a merge algorithm or an integration procedure.

Usage Analysis

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 involve potential users early in the development process (participative design). Also, we ask specialists (psychologists, educationists), when possible, to conduct these analysis. We have had the opportunity to develop this strategy thanks to scientific and industrial relationships.

Personal tools