LRDE Seminar : Transformers, 8 Juin 2005, EPITA, Amphi P004
14h00 : Ecriture de grammaires attribuées en Stratego/XT -- Olivier Gournet?
Pour désambiguiser le C++, étape indispensable du projet Transformers, une nouvelle approche utilisant les grammaires attribuées a été adoptée. Une implémentation ex-nihilo d'un système de grammaire attribuée, entièrement dans le langage de programmation Stratego, a été réalisé pour satisfaire nos besoins. Néanmoins, celle-ci est encore largement perfectible, notamment au niveau de l'écriture des attributs.
Nous présentons le système de grammaires attribuées actuellement en place dans Transformers, puis les extensions rendues possibles par les différentes solutions et implémentations déjà existantes.
14h45 : Panorama des techniques pour allier élégance et performances -- Nicolas Pouillard?
L'écriture de programmes, ou de composants logiciels, est souvent contrainte par deux axes relativement incompatibles : d'un côté l'efficacité, et de l'autre l'élégance de la modélisation et le confort d'écriture. Par exemple, en C++, les techniques de méta-programmation nous permettent d'obtenir les performances rêvées, mais en contre partie nous diminuent l'élégance et la lisibilité.
Pendant ce séminaire, un panorama des techniques nous permettant de passer
automatiquement de "l'élégant" à "l'efficace" sera dressé. Ainsi l'extension
du C++ (Transformers) sera comparée à d'autres méthodes, telles que la
modification d'un langage fonctionnel (OCaml) pour produire du C++ (Metagene),
la création d'un nouveau langage (G language), ou l'extension dynamique d'un
langage tel que Ruby (Rubyxx). Ces méthodes seront explorées, analysées, et
discutées. Finalement, la plus satisfaisante sera approfondie.
15h45 : Environnement d'évaluation automatique des régressions de performance -- Nicolas Desprès?
L'évaluation des régressions de performance d'une application fait partie intégrante de la phase de test de régression. Le but est d'exprimer le plus précisément possible les différences de performance entre deux versions. Par précision, nous entendons à la fois la pertinence de l'estimateur de temps utilisé et la granularité des parties évaluées.
Bien que de nombreux systèmes d'évaluation comparative des performances existent déjà, peu sont complètement automatisés et/ou adaptés à différentes sortes d'applications. Pourtant, l'automatisation de cette phase est cruciale afin de détecter le plus tôt possible les pertes de performance.
Cet exposé présente tout d'abord les prérequis à la mise en place d'un tel
système. Puis son architecture ainsi que son application au projet
Transformers. Ensuite, nous comparerons différentes techniques d'estimations
du temps d'éxécution. Et enfin, nous évoquerons les possibilitées d'adaptation
d'un tel environnement à d'autres sortes d'applications.
to top