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.