thesis

Répartition modulaire de programmes synchrones

Defense date:

Jan. 1, 2008

Edit

Institution:

Grenoble INPG

Disciplines:

Directors:

Abstract EN:

We address the design of distributed systems with synchronous dataflow programming languages. As modular design entails handling both architectural and functional modularity, the first contribution is to extend an existing synchronous dataflow programming language with primitives allowing the description of a distributed architecture and the localization of some values or computations. A type system is defined, in order to infer the localization of non-annotated values and to en sure, at compilation time, the consistency of the distribution. This type system is used to define a type-directed projection operation to obtain automatically, from a centralized typed program, the local program to be executed by each computing resource. The program obtained by mean of this operation is proved to be semantically equivalent to the initial one. The type system as weil as the automatic distribution mechanism has been fully implemented in the Lucid Synchrone compiler.

Abstract FR:

Nous nous intéressons à la conception sûre de systèmes répartis. Nous proposons une méthode permettant de concevoir un système réparti défini comme un programme unique, dont la structure fonctionnelle est indépendante de l'architecture du système. Cette méthode est basée sur l'ajout de primitives de répartition à un langage flots de données synchrone permettant le placement par le programmeur de certains calculs sur les ressources de l'architecture. Un système d'inférence de types est utilisé pour vérifier la cohérence de ces annotations, ainsi que pour inférer la localisation des valeurs non annotées. Ce système de types est ensuite utilisé pour la définition d'une opération de répartition modulaire, conservant la structure fonctionnelle du programme. La sémantique du programme obtenu par cette méthode est équivalente à la sémantique du programme initial. Le système de types et l'opération de répartition automatique ont été implémentés dans le compilateur du langage Lucid Synchrone.