CSI Seminar: 7 Janvier 2009, Vaucanson et Transformers, EPITA, Amphi 2, KB
VAUCANSON
14h00 Réduction d’automates -- Vivien Delmon
Un automate déterministe peut être minimisé et donne un automate
dont le nombre d’états est minimal. L’algorithme de
réduction présenté permet de construire un automate dont le
nombre d’états est minimal à partir d’un automate non déterministe
dont les poids sont définis sur un semi-anneaux qui est
un corps. L’algorithme se base sur la représentation matricielle
des automates et nous amène à résoudre un système d’équations
linéaires, ce qui force le semi-anneau de notre série à avoir
les propriétés d’un corps. Nous voulons aussi que notre algorithme
fonctionne sur des séries dont le semi-anneaux est un
corps non commutatif ce qui nous empêche d’utiliser les techniques
classiques de résolution de systèmes linéaires. Nous
montrons comment passer outre ces difficultés et comment adapter
notre algorithme pour qu’il fonctionne sur Z qui n’est pas
un corps, mais qui possède des propriétés suffisantes.
14h30 Les automates en traitement automatique des langues naturelles -- Jimmy Ma?
Jusqu’à présent, Vaucanson s’adressait essentiellement à la
communauté des automaticiens. Cependant, il existe d’autres
domaines où les automates sont utilisés. Dans ce rapport prospectif,
nous nous orienterons vers la communauté des linguistes
et, plus précisément, vers le domaine du traitement
automatique des langues naturelles car les besoins de ce domaine
diffèrent de nos utilisations habituelles. Nous observerons
diverses spécialités et dresserons un bilan des besoins en
automates. Ainsi, nous pourrons évaluer l’adéquation de Vaucanson
pour ce domaine et en dégager des pistes d’évolutions
éventuelles pour le projet.
15h00 Les relations synchrones dans Vaucanson -- Florian Lesaint
La famille des relations rationnelles synchrones est la plus
grande famille de relations rationnelles, définie jusqu’ici, qui
est une algèbre de Boole effective. Fournir des outils permettant
de les manipuler peut donc s’avérer intéressant pour leur
étude. Le récent support des alphabets de paires dans Vaucanson
nous permet une nouvelle approche pour travailler
avec les relations rationnelles synchrones, représentées par des
transducteurs lettre à lettre, pour lesquels nous fournissons les
outils nécessaires à leur manipulation.
TRANSFORMERS
15h45 Transformers : vers la fin du tunnel -- Florian Quèze
Le but du projet Transformers est de créer un ensemble d’outils
de manipulation de C et C++. Une fois achevé, il simplifiera la
création d’outils de transformation ou d’analyse pour le C++.
Il permettra aussi d’expérimenter des extensions du langage.
Les étudiants du groupe Transformers ont travaillé pendant
des années, passant chaque année le résultat de leur travail à la
génération suivante. De nombreux outils ont été créés, chacun
d’eux résolvant (ou tentant de résoudre) un problème auquel
nous sommes confrontés en essayant de manipuler du C++.
Des dizaines de rapports ont été écrits : certains sont obsolètes,
mais d’autres sont des ressources précieuses. Il est maintenant
temps de prendre du recul, de regarder le travail accompli et
ce qui ne fonctionne pas encore, afin de décider si et comment
nous voulons poursuivre ce projet.
16h15 SCOOL : Programmation générique -- MaximeVanNoppen
Le C++ est un langage puissant pour écrire des bibliothèques génériques
et performantes. Cependant, dans certains domaines
l’utilisation de l’orienté objet usuel peut poser des problèmes
de performances, comme dans celui des bibliothèques de calcul
scientifique dans lesquelles de grands ensembles de données
parcourus par des algorithmes génériques. La solution
proposée est la combinaison de la programmation orientée objet
classique et de la programmation statique qui est en fait de la
méta-programmation utilisant intensivement les templates du
C++. Ceci a l’avantage de remplacer le coût à l’exécution de
l’orienté objet dû à la résolution des méthodes virtuelles par
un coût à la compilation. Nous vous présentons SCOOL, un
langage statique fusionnant l’orienté objet et la programmation
générique dans le but d’exploiter toute la puissance du C++
statique grâce à une syntaxe plus expressive. De plus, toutes
les résolutions de méthodes se feront statiquement grâce au
fait que le type exact (dynamique) de chaque objet est connu
à la compilation. Le but de SCOOL étant d’apporter toute la
puissance de l’orienté objet statique au C++, il ne sera pas directement
compilé mais traduit en C++ correctement formaté.
Le développement du traducteur a soulevé les problèmes classiques
du domaine des DSL comme la stratégie de parcours
de l’arbre de syntaxe. Nous proposons une solution originale
basée sur la plateforme de transformation de programme Stratego/
XT avec des applications à Milena, la bibliothèque générique
et performante de traitement d’image de la plateforme
Olena.
to top