projet : CROAP

previous up next contents
Précédent : Outils de manipulation structurée Remonter : Résultats nouveaux Suivant : Spécification à l'ordre supérieur


Sous-sections


   
Sémantique et environnements pour la programmation à objets et parallèle

Mots clés : programmation parallèle à objets, sémantique, interprétation abstraite, environnement interactif, compilation, Java .

Environnement de programmation pour Java sous Centaur



Participant : Valérie Pascual.

Nous avons continué notre travail sur l'environnement interactif de programmation Java en nous intéressant plus spécialement aux aspects syntaxiques et en adaptant notre définition du langage aux spécifications publiées par Sun (en particulier l'affichage respecte les conventions de Sun).

Propriétés formelles du modèle Eiffel //



Participants : Isabelle Attali, Denis Caromel [SLOOP], Sidi Ould Ehmety.

La notion de continuation automatique a été généralisée et formalisée dans un style opérationnel [[13]]. Deux stratégies ont été proposées : la première consiste à ne retourner que des réponses complètes, la seconde, plus asynchrone par l'utilisation de réponses partielles, permet d'éviter les situations de deadlocks. D'autre part, nous avons pu montrer formellement des propriétés du modèle Eiffel// comme l'absence d'objets partagés ou la séquentialité des sous-systèmes [[12]].

Parallélisation de programmes à objets



Participants : Isabelle Attali, Denis Caromel [SLOOP], Romain Guider.

Dans le cadre du langage Java, nous proposons, par des techniques d'interprétation abstraite, et des analyses de formes sur la structure du graphe d'objets un moyen de détecter comment rendre certains objets actifs, et donc de paralléliser certaines activités. Ces techniques peuvent également servir pour optimiser la compilation Java en exploitant par exemple des informations sur la durée de vie des variables, ou en supprimant des appels virtuels (inférence de type).

Sémantique du langage Java



Participants : Isabelle Attali, Denis Caromel, Carine Courbis, Mikael Pettersson, Marjorie Russo.

Nous avons apporté de nouvelles fonctionnalités aux outils de mise au point de programmes Java et nous avons défini formellement la gestion des exceptions.

Nous avons également développé en ML un vérificateur de code pour l'assembleur de la machine virtuelle Java.



previous up next contents
Précédent : Outils de manipulation structurée Remonter : Résultats nouveaux Suivant : Spécification à l'ordre supérieur