Thèse soutenue

Étude du modèle de programmation parallèle Eiffel// : sémantique formelle, preuves et visualisation

FR  |  
EN
Auteur / Autrice : Sidi Ould Ehmety
Direction : Isabelle AttaliDenis Caromel
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1997
Etablissement(s) : Nice
Partenaire(s) de recherche : Autre partenaire : Université de Nice-Sophia Antipolis. Faculté des sciences
Jury : Président / Présidente : Jacques Chazarain
Examinateurs / Examinatrices : Michel Beaudoin-Lafon, Jean-Luc Gaudiot
Rapporteurs / Rapporteuses : Luc Bougé, Robert de Simone, Guy Vidal-Naquet

Résumé

FR  |  
EN

Dans cette thèse, nous étudions et formalisons un modèle de programmation à objets parallèle, plus précisément Eiffel// (une extension du langage Eiffel). Les spécifications sont décrites dans un style opérationnel utilisant la sémantique naturelle (big-step) et la sémantique opérationnelle structurelle (small-step) et sont exécutables grâce au formalisme TYPOL du système CENTAUR. Cette étude comprend quatre parties : sémantique d’Eiffel ; sémantique d’Eiffel// et généralisation ; preuves de propriétés ; environnement graphique et interactif. Tout d'abord nous donnons une formalisation des principaux concepts de la programmation à objets en général (objet, envoi de message, polymorphisme, héritage et liaison dynamique) et d’Eiffel en particulier (renommage et redéfinition), puis nous abordons la modélisation et la spécification des notions du parallélisme (objet actif, asynchronisme, attente par nécessité et continuation automatique) dans le cadre d’Eiffel//. Des propriétés de la sémantique définie sont ensuite prouvées : l'organisation des objets en sous-ensembles disjoints (sous-systèmes) et la séquentialité de l'exécution à l'intérieur d'un sous-système, etc. Ces propriétés ont pour but d'une part, de prouver la correction partielle de la sémantique et d'autre part, de servir de base pour la preuve d'équivalence entre programmes séquentiels et parallèles. Enfin, l'environnement graphique et interactif fournit des outils de visualisation permettant la mise au point de programmes Eiffel et Eiffel//. Il permet la visualisation des objets à l'exécution sous différentes formes (textuelle, graphique) et offre à l'utilisateur d'agir sur le non-déterminisme de l'entrelacement.