Thèse soutenue

Abstractions reactives pour les langages a objets paralleles : modeles et programmation

FR  |  
EN
Auteur / Autrice : Yves Roudier
Direction : Denis Caromel
Type : Thèse de doctorat
Discipline(s) : Sciences appliquées
Date : Soutenance en 1996
Etablissement(s) : Nice

Résumé

FR

Ce travail porte sur l'utilisation de la programmation reactive, et plus particulierement du modele asynchrone, dans les langages a objets paralleles. Ce type de programmation permet de decrire des systemes evoluant en reponse et simultanement aux modifications de leur environnement. Les relations entre reactivite et programmation a objets ont deja fait l'objet de plusieurs etudes, notamment dans le domaine synchrone. Nous dressons tout d'abord un resume des recherches du domaine. Le premier aspect de notre contribution consiste en la definition de trois modeles reactifs, asynchrones et a objets, dotes de possibilites de structuration et d'evolutivite differentes. Le premier est preemptif, le second adapte le langage electre a un cadre objet, le troisieme definit une extension compositionnelle et hierarchique du modele a la electre. Afin de formaliser cette derniere proposition, nous en presentons une semantique operationnelle structurelle. La seconde partie de notre travail etudie les problemes de mise en uvre de ces differentes techniques. L'implantation de ces abstractions reactives est presentee dans le langage eiffel//. Nous expliquons comment nous avons ete amenes a l'utilisation de techniques reflexives, avec pour objectif l'integration de ces abstractions dans le langage c++, sans modification de ce dernier ni de ses compilateurs. Nous abordons notamment la definition d'un protocole meta-objet destine a la reactivite en c++. Nous montrons que ce protocole nous permet egalement de realiser un systeme ouvert et de quelle maniere il est utilisable pour l'integration d'autres paradigmes paralleles et distribues au sein d'une meme plate-forme de developpement ; ce protocole nous permet en particulier d'integrer le modele du langage c++