Master d'Informatique FMIN 330 --- 2010-2011
Spécification et
Implémentation des Langages Objets (SILO)
Article à étudier pour l'année 2010-2011
L'article à étudier est :
R. Ducournau, F. Morandat.
Perfect class hashing and
numbering for object-oriented implementation
Software Practice & Experience,
32 pages, John Wiley & Sons, 2010 (to appear)
doi: 10.1002/spe.1024
Le travail à effectuer consiste à :
- rédiger un résumé de 3-4 pages : attention,
il s'agit d'un résumé, pas d'un commentaire ;
- rédiger un commentaire de 3-4 pages, en analysant
l'article et en faisant des rapprochements avec ce que vous avez pu
voir en cours ou ailleurs ;
- proposer en quelques pages un protocole de
compilation-recompilation d'un compilateur utilisant le hachage parfait
dans la machine virtuelle d'un langage en héritage multiple.
L'idée générale est que le compilateur utilise le
hachage parfait quand il ne peut pas faire autrement. Quand c'est
possible, il utilise la coloration ou un appel statique, en
mémorisant les méthodes qui sont à
recompiler quand les hypothèses ont été
invalidées.
Prérequis et rattrapage
Les prérequis du module sont de solides bases en programmation
par objets, par exemple les modules UMINM 202
et 208 du Master Info première
année (ancienne habilitation).
A défaut la lecture du polycopié
de ces deux modules peut fournir un bon rattrapage.
Période et emploi du temps
Le module FMIN 330 est dans le première
vague : il commencera le mardi 18
septembre de 9h00 à 12h15, pendant 5 semaines.
Contrôle des connaissances
(sans objet en 2010-2011)
L'examen écrit aura lieu le mardi
??
décembre, de 9h à 12h : il portera sur des
articles
scientifiques distribués auparavant (cf. Page de l'année 2005-2006).
Petit projet à réaliser durant le premier trimestre : il
portera sur le langage SCALA ou sur PRM.
Objectif et contenu du module
- Etude des différentes techniques d'implémentation
des mécanismes fondamentaux spécifiques aux langages
à objets (liaison tardive, accès aux attributs, test de
sous-typage).
- Examen d'un cadre général de compilation alliant
compilation séparée et optimisations globales.
- Examen des spécifications de diverses
fonctionnalités d'après les possibilités
d'implémentation.
- Présentation, étude et participation au
développement et à l'évaluation du langage PRM
développé par Jean Privat au LIRMM.
- au passage, étude de divers autres langages : JAVA, C++,
EIFFEL, C#, SCALA, etc.
Sujet de stage
Je proposerai vraisemblablement 1 ou 2 sujets de stage, qui porteront
sur le langage PRM et seront
co-encadrés par Floréal Morandat.
Documents
Supports de cours
Première liste non limitative...
- R. Ducournau and M. Huchard. Programmation
par Objets : les concepts fondamentaux. (polycopié de M1) 2000--2005.
- R. Ducournau. Implementing statically
typed object-oriented programming
languages. Rapport de Recherche 02-174, L.I.R.M.M., Montpellier,
2002-05.
- R. Ducournau.
Perfect hashing as an almost
perfect subtype test. Rapport de Recherche 05-xxx, L.I.R.M.M.,
Montpellier, 2005.
- R. Ducournau. La coloration pour
l'implémentation des langages à
objets à
typage statique In M. Dao et M. Huchard, editors, Actes LMO'02
, pages
79--98, 2002 (ps).
Documents, sujets d'examen et de projet, de stage, etc.