Environnements de Développement Programmables : Réification des Protocoles de Langage en Objets de Première Classe

Defense type
Thesis
Starting date
End date
Location
IRISA Rennes
Room
Grand Amphi
Speaker
Pierre JEANJEAN
Theme

Vous êtes cordialement invités à venir assister à la soutenance de thèse de Pierre Jeanjean ( équipe DIVERSE) qui aura lieu le vendredi 29 Avril à 14h00 dans le grand Amphi.

Titre :Environnements de Développement Programmables : Réification des Protocoles de Langage en Objets de Première Classe.

Mot clés : Génie logiciel, Générateurs (logiciels), Langages dédiés, Interpréteurs (logiciels)

Résumé :

L’utilisation de langages de programmation modernes et complexes nécessite des environnements de développement dédiés, capables d’assister les programmeurs. Les environnements de développement intégrés (IDE) sont les environnements les plus utilisés aujourd’hui, fournissant tous les outils nécessaires pour utiliser efficacement les langages qu’ils ciblent. Fournir un IDE complet pour un langage spécifique est cependant très coûteux, ce qui conduit leurs mainteneurs à ne se concentrer que sur quelques langages pour chaque IDE, divisant ainsi leurs utilisateurs. Afin de rester pertinents, les petits langages tels que les langages dédiés (DSL) doivent être correctement intégrés dans l’environnement de leurs utilisateurs, ce qui nécessite de vastes ressources et ne peut pas prendre en compte la fragmentation entre les IDEs. Dans cette thèse, nous explorons l’idée de déployer des environnements de développement adaptés aux besoins de leurs utilisateurs, et de tirer parti d’outils de langages complètement séparés de tout IDE spécifique. Nous commençons par considérer les protocoles de langage, tels que LSP, et concevons une alternative modulaire et extensible qui correspond mieux aux spécificités des DSLs. Ensuite, nous nous concentrons sur les interpréteurs REPL, des interpréteurs de langage interactifs qui ont une grande valeur pour l’éducation et l’exploration, mais qui ne sont pas facilement dérivés à partir des techniques d’ingénierie des langages existantes. Nous proposons une approche formelle pour définir les REPLs, ainsi qu’une approche générative, et discutons de leur intégration dans les environnements de développement. Enfin, nous unifions la sémantique de plusieurs outils d’exécution (moteurs d’exécution, REPLs et débogueurs) par la spécification de l’interface commune entre eux.

Composition of the jury
Examinateurs :
- Sebastian ERDWEG, Professeur (Johannes Gutenberg-Universität)
- Richard PAIGE, Professeur (McMaster University)
- Emma SÖDERBERG, Maître de Conférence (Lund University)
- Mark VAN DEN BRAND, Professeur (Eindhoven University of Technology)
Dir. de thèse :
- Benoit COMBEMALE, Professeur (Université Rennes 1)
Co-dir. de thèse :
Olivier BARAIS, Professeur (Université Rennes 1)