Transformers et Vaucanson – Juin 2008
Le prochain séminaire des élèves du LRDE aura lieu le mercredi 18 juin 2008 à partir de 14h, en Amphi 1.
Premier d’une série de quatre, ce séminaire verra des élèves du Laboratoire de Recherche et Développement de l’EPITA présenter leurs travaux. Cette semaine, des élèves de la promo 2009 parleront de leurs recherches dans le cadre des projets Transformers et Vaucanson. Ces présentations seront ouvertes à tous.
Le programme :
TRANSFORMERS
14h00 : SCOOL : Programmation générique et concepts par Maxime Van Noppen.
14h30 : Découpage de programme C++ avec Transformers par Florian Quèze.
VAUCANSON
15h15 : Parser d’expressions rationnelles — Vivien Delmon.
15h45 : FSMXML et son utilisation dans Vaucanson par Florian Lesaint.
16h15 : Booster les itérateurs de Vaucanson par Jimmy Ma.
Les Résumés des exposés :
TRANSFORMERS
SCOOL : Programmation générique et concepts par Maxime Van Noppen
SCOOL est un langage statique orienté objet qui a été créé afin de pouvoir utiliser toute la puissance du C++ statique de manière plus aisée grâce à une syntaxe plus expressive et agréable. Il n’a pas pour but d’être directement compilé mais d’être traduit en C++. Cette année le travail revêt une importance particulière. En effet, SCOOL est développé en étroite collaboration avec l’équipe de développement de la bibliothèque de traitement d’images MILENA de la plate-forme OLENA ; l’an passé a été pour elle le cadre de grands changements internes. Un des axes majeurs du développement de SCOOL va donc être de s’adapter aux nouveaux paradigmes et aux nouveaux besoins de la bibliothèque. Le second axe essentiel de travail est la poursuite du développement du langage. Cette année le travail va être concentré sur la programmation par concepts qui est une approche permettant de formaliser facilement des contraintes sur la programmation générique.
Découpage de programme C++ avec Transformers par Florian Quèze
Transformers est un ensemble d’outils basés sur les technologies Stratego/XT permettant la manipulation de programmes C++. Le découpage de programmes est un domaine important de la transformation de programmes. Nous allons expliquer ce qu’est le découpage de programmes, donner un aperçu rapide de ses différents aspects et montrer comment Transformers pourrait être utilisé comme un outil permettant le découpage de programmes.
VAUCANSON
Parser d’expressions rationnelles par Vivien Delmon
La bibliothèque Vaucanson permet de manipuler des automates et des transducteurs. Le parser d’expression rationnelles doit donc lui aussi traiter ces différentes structures. Malheureusement l’ancien parser ne permettait pas de lire des expressions rationnelles décrivant des transducteurs ou même des automates à poids autres que des nombres. Le nouveau parser permet de lire des expressions rationnelles contenant des poids de toutes sortes et des alphabets définis sur des produits de monoïdes. Ces différentes améliorations permettent d’interpréter des expressions rationnelles complexes représentant entre autres des transducteurs.
FSMXML et son utilisation dans Vaucanson par Florian Lesaint
Nous avions commencé l’année dernière à travailler sur une nouvelle proposition de format XML de description d’automates, devenu FSMXML.
Nous présentons cette année une version aboutie de ce travail sous forme de rfc. FSMXML comprend notamment une gestion complète des expressions rationnelles généralisées, il permet de décrire n’importe quel type d’automate et sa gestion est facilitée. Nous avons repensé la structure du parseur XML de VAUCANSON pour s’affranchir d’une mauvaise gestion de dépendances et l’avons mise à jour conformément à la rfc.
Booster les itérateurs de Vaucanson par Jimmy Ma
Vaucanson est une bibliothèque générique de manipulation d’automates. Le coeur de sa généricité réside dans le support de types d’automates variés mais aussi sa capacité à s’appuyer sur différentes structures de données. Actuellement, nous avons différentes manières de manipuler des transitions. Cependant, aucune d’entre elles n’est réellement indépendante de la structure de données utilisée. Afin de pallier cela, nous allons nous tourner vers le design pattern Iterator. Nous évaluerons l’impact de ce design pattern sur les performances et sur l’utilisation de la bibliothèque en termes d’écriture d’algorithmes.
- Pour plus d’informations sur le séminaire et sur le laboratoire : LRDE.