Contribution à l'efficacité de la programmation par objets : evaluation des implémentations de l'héritage multiple en typage statique
Auteur / Autrice : | Floréal Morandat |
Direction : | Roland Ducournau |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 17/12/2010 |
Etablissement(s) : | Montpellier 2 |
Ecole(s) doctorale(s) : | Information, Structures, Systèmes (Montpellier ; École Doctorale ; 2009-2014) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....) |
Jury : | Président / Présidente : Peter Van Roy |
Examinateurs / Examinatrices : Roland Ducournau, Jean Privat, Pascal Giorgi, Olivier Zendra | |
Rapporteurs / Rapporteuses : Manuel Serrano, Jan Vitek |
Mots clés
Résumé
Cette thèse traite de la compilation efficace des langages à objets en héritage multiple. La programmation objet est caractérisée par un mécanisme fondamental, emph{la liaison tardive} --- la méthode appelée dépend du type dynamique d'un paramètre distingué, le emph{receveur}. L'efficacité de ce mécanisme nécessite une implémentation adéquate qui est conditionnée par le schéma de compilation utilisé --- compilation séparée avec chargement dynamique, compilation globale, etc. Cependant la programmation par objets présente une apparente incompatibilité entre trois termes : l'héritage multiple, l'efficacité et l'owa --- en particulier, le chargement dynamique. Nous avons étudié les techniques d'implémentation compatibles avec l'héritage multiple couramment utilisées ainsi qu'une alternative prometteuse, le ph. Nous nous plaçons dans le cadre du typage statique, donc nos conclusions peuvent valoir pour des langages comme cpp, eiffel, java, csharp, etc. Différents schémas de compilation sont considérés, de l'owa à l'cwa. Ces techniques et ces schémas ont été mis en uvre dans le compilateur auto-gène du langage prm. L'influence sur l'efficacité de tous ces éléments a été testée dans un protocole expérimental rigoureux de méta-compilation et les tests ont été réalisés sur une variété de processeurs différents. Les résultats des ces expérimentations sont discutés et comparés aux évaluations a priori effectuées sur les techniques d'implémentation. Ils confirment aussi que le ph est une technique d'implémentation intéressante pour le sous-typage multiple à la java.