Abstractions reactives pour les langages a objets paralleles : modeles et programmation
Auteur / Autrice : | Yves Roudier |
Direction : | Denis Caromel |
Type : | Thèse de doctorat |
Discipline(s) : | Sciences appliquées |
Date : | Soutenance en 1996 |
Etablissement(s) : | Nice |
Mots clés
Mots clés libres
Résumé
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++