Analyse de synchronisation dans les objets actifs basée sur les types comportementaux

par Vicenzo Mastandrea

Thèse de doctorat en Informatique

Sous la direction de Ludovic Henrio et de Cosimo Laneve.

Soutenue le 15-12-2017

à Côte d'Azur , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Sophia Antipolis, Alpes-Maritimes) , en partenariat avec Université de Nice (1965-2019) (établissement de préparation) , Laboratoire Informatique, signaux et systèmes (Sophia Antipolis, Alpes-Maritimes) (laboratoire) , Institut national de recherche en informatique et en automatique (France). Unité de recherche (Sophia Antipolis, Alpes-Maritimes) (laboratoire) , Foundations of Component-based Ubiquitous Systems (laboratoire) et de Safe Composition of Autonomous applications with Large-SCALE Execution environment (laboratoire) .

Le président du jury était Robert de Simone.

Le jury était composé de Ludovic Henrio, Cosimo Laneve, Robert de Simone, Ferruccio Damiani, Tobias Wrigstad, Florian Kammüller.

Les rapporteurs étaient Ferruccio Damiani, Tobias Wrigstad.


  • Résumé

    Le concept d'objet actif est un modèle de calcul puissant utilisé pour définir des systèmes distribués et concurrents. Dans ce travail, nous étudions un modèle d'objet actif sans type futur explicite et avec 'attente par nécessité', une technique qui déclenche une synchronisation sur la valeur retournée par une invocation lorsque celle-ci est strictement nécessaires. Bien que la concurrence élevée combinée à un haut niveau de transparence conduise à de bonnes performances, elles rendent le système plus propice à des problèmes comme les deadlocks. C'est la raison qui nous a conduit à étudier l'analyse de deadlocks dans ce modèle d'objets actifs. Le développement de notre analyse de les deadloks est divisé en deux travaux principaux. Dans le premier travail, nous nous concentrons sur la synchronisation implicite sur la disponibilité d'une certaine valeur. De cette façon, nous pouvons analyser la synchronisation des flux de données inhérente aux langues qui permettent une attente par nécessité. Dans le deuxième travail, nous présentons une technique d'analyse statique basée sur des effets et des types comportementaux pour dériver des modèles de synchronisation d'objets actifs et confirmant l'absence de deadlock dans ce contexte. Notre système d'effets trace l'accès aux champs d'objet, ce qui nous permet de calculer des types comportementaux qui expriment des modèles de synchronisation de manière précise. En conséquence, nous pouvons vérifier automatiquement l'absence de blocages dans des programmes basés sur des objets actifs avec des synchronisations d'attente par nécessité et des objets actifs dotés d’un état interne.

  • Titre traduit

    Analysis of synchronisation patterns in active objects based on behavioural types


  • Résumé

    The active object concept is a powerful computational model for defining distributed and concurrent systems. This model has recently gained prominence, largely thanks to its simplicity and its abstraction level. In this work we study an active object model with no explicit future type and wait-by-necessity synchronisations, a lightweight technique that synchronises invocations when the corresponding values are strictly needed. Although high concurrency combined with a high level of transparency leads to good performances, they also make the system more prone to problems such as deadlocks. This is the reason that led us to study deadlock analysis in this active objects model.The development of our deadlock analysis is divided in two main works. In the first work we focus on the implicit synchronisation on the availability of some value. This way we are able to analyse the data-flow synchronisation inherent to languages that feature wait-by-necessity. In the second work we present a static analysis technique based on effects and behavioural types for deriving synchronisation patterns of stateful active objects and verifying the absence of deadlocks in this context. Our effect system traces the access to object fields, thus allowing us to compute behavioural types that express synchronisation patterns in a precise way. As a consequence we can automatically verify the absence of deadlocks in active object based programs with wait-by-necessity synchronisations and stateful active objects.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université Côte d'Azur. Service commun de la documentation. Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.