Programmation concurrente orientee objet et calcul numerique sur multiprocesseur
Auteur / Autrice : | JACQUES LE COUPANEC |
Direction : | Michel Banâtre |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 1998 |
Etablissement(s) : | Rennes 1 |
Résumé
Cette these se propose de verifier qu'une approche concurrente orientee objet permet de repondre aux besoins du calcul numerique sur multi-processeur. Le premier chapitre presente les concepts fondamentaux des modeles orientes objet et montre que ceux-ci ne sont generalement supportes que de maniere degradee. Apres avoir presente les raisons qui ont incite les concepteurs de langages a enfreindre ces fondements, l'approche retenue dans la definition du langage hp-tool est introduite et analysee. Les systemes de types des langages orientes objet sont ensuite analyses. Nous montrons que la plupart des langages orientes objet ne sont pas statiquement fortement type. Leurs defauts relevent soit de la gestion des agglomerats de donnees, soit de la definition des structures de donnees recursives. Une analyse formelle des types est alors presentee au chapitre deux. Elle met en evidence une propriete des parametres generiques qui n'a jamais ete integree dans un langage et qui permet de repondre au compromis expressivite-securite recherche. Les chapitres trois et quatre presentent les constructions du langage permettant d'aborder la programmation concurrente sur multiprocesseur. L'introduction de la distribution est basee sur une generalisation de la notion d'appel de procedure, l'integration de la concurrence resulte de l'introduction d'une nouvelle entite, le filtre, et l'expression du parallelisme decoule d'une generalisation de la notion d'expression. Enfin, dans le dernier chapitre nous presentons la semantique operationnelle du langage. Nous mesurons ensuite le cout inherent au controle de la concurrence et a l'exploitation du parallelisme sur une architecture mono-processeur, puis sur un multiprocesseur a memoire partagee et enfin sur un multiprocesseur a memoire distribuee.