I passed my thesis on November, 28th   2003

The manuscript:

Asynchronous Object Calculus: Confluence and Determinacy PS  PDF

(Calcul d'Objet Asynchrone : Confluence et Determinisme)


Related Paper :

Asynchronous and Deterministic Objects:
Denis Caromel, Ludovic Henrio, Bernard Serpette - POPL'04



Abstract:

The objective of this thesis is to design an object calculus that allows one to write parallel and distributed applications, particularly on wide range networks, while ensuring good properties. This calculus is named ASP: Asynchronous Sequential Processes.
   
    The main characteristics of ASP are: asynchronous communications, futures, and a sequential execution within each process. ASP presents strong confluence and determinism properties, proved in a context as general as possible within this thesis.
   
    A first design decision is the absence of sharing: objects live in disjoint activities. An activity is a set of objects managed by a unique process and a unique active object. Active objects are accessible through global/distant references. They communicate through asynchronous method calls with futures. A future is a global reference representing a result not yet computed. This thesis models those aspects, their main properties, and the consequences of these mechanisms on the deterministic behavior of programs. The main result consists in a confluence property and its application to the identification of a set of programs behaving deterministically.
   
    From a practical point of view, ASP can also be considered as a model of the ProActive library. This library provides tools for developing parallel and distributed applications in Java.


Résumé :

    L'objectif de cette thèse est de concevoir un calcul d'objets permettant d'écrire des applications parallèles et distribuées, en particulier dans un cadre à grande échelle, tout en assurant de bonnes propriétés. Le calcul proposé s'intitule ASP : Asynchronous Sequential Processes.
 
    Les principales caractéristiques de ce calcul sont : des communications asynchrones, la présence de futurs et une exécution séquentielle dans chacun des processus. Ce calcul exhibe de fortes propriétés de confluence et de déterminisme. Cette thèse a donc aussi pour objectif de prouver de telles propriétés dans un cadre aussi général que possible.
   
    ASP est basé sur une répartition des objets en différentes activités disjointes. Une activité est un ensemble d'objets gérés par un unique processus. Les objets actifs sont des objets accessibles par des références globales/distantes.  Ils communiquent à travers des appels de méthodes asynchrones avec un mécanisme de futurs. Un futur est une référence globale désignant un résultat qui n'est pas encore calculé. Cette thèse modélise ces différents aspects, leurs principales propriétés et les     conséquences de ces mécanismes sur la notion de comportement déterministe des programmes. Le résultat principal consiste en une     propriété de confluence et son application à l'identification d'un ensemble de programmes se comportant de façon déterministe.
 
Du point de vue pratique, ASP la bibliothèque ProActive. Cette librairie Java fournit des outils pour le développement de programmes parallèles et distribués.