Bonjour,
Vous êtes tous cordialement invités à assister au séminaire du LRDE
qui aura lieu le mercredi 17 mai à 14 heures en amphi P004 (KB).
-----------------------------------------------------------------------
Le programme :
*VAUCANSON & TRANSFORMERS*
http://www.lrde.epita.fr/cgi-bin/twiki/view/Publications/Seminar-2006-05-17
VAUCANSON
14h00 : Remodélisation du projet Vaucanson -- Robert Bigaignon
14h30 : On m'a dit que 275 604 541 était premier -- Michael Cadilhac
15h00 : Extension du format XML -- Florent Terrones
TRANSFORMERS
15h45 : Preprocessing & Unpreprocessing du C et C++ -- Thomas Largillier
16h15 : Grammaires hors-contexte et désambiguïsation -- Renaud Durlin
16h45 : Vectorisation automatique grâce à la transformation de programme
-- Alexandre Borghi
-----------------------------------------------------------------------
Les Résumés des exposés :
*************************
VAUCANSON
* Remodélisation du projet Vaucanson -- Robert Bigaignon
Vaucanson est une bibliothèque générique de manipulation d'automates
finis conçue en 2001. Son but est de permettre la manipulation efficace
de n'importe quel type d'automate tout en restant fidèle au cadre
algébrique établi par la théorie des automates. Ceci au prix d'une
écriture parfois lourde et souvent difficile.
Aujourd'hui, nous envisageons la refonte du coeur de la bibliothèque
afin de tirer parti des dernières avancées notamment en termes de
programmation C++. Ainsi, nous présenterons lors de cet exposé une
comparaison de techniques de modélisations appliquées à un sous-ensemble
représentatif de Vaucanson.
* On m'a dit que 275 604 541 était premier -- Michael Cadilhac
Quand sont évoqués conjointement l'arithmétique et la cryptographie, un
des premiers points communs qui vient à l'esprit se trouve dans la
propriété de primalité des nombres.
La méthode la plus simple pour tester si un nombre est premier est de
reprendre la définition, c'est-à-dire lister les diviseurs de ce nombre
et vérifier qu'il y en a exactement 2. Mais cet algorithme naïf est
extrêmement coûteux, il s'agira donc non pas de passer par la
définition, mais par les propriétés des nombres premiers.
Nous présenterons un large éventail d'algorithmes de test de primalité,
qu'ils soient probabilistes ou déterministes, chacun a son domaine
d'utilisation. Nous étudierons des tests rapides pour petits nombres, ou
pour nombres probablement premiers, aussi bien que des algorithmes
généraux dont, en particulier, celui montrant que le test de primalité
est dans la classe de complexité P.
* Extension du format XML -- Florent Terrones
Proposé lors des différentes conférences CIAA (Conference on
Implementation and Application of Automata), le format XML de
description d'automates présenté par l'équipe Vaucanson a pour but de
permettre et faciliter le transfert des informations d'un automate entre
les différents logiciels qui les manipulent. On peut en effet charger en
mémoire un automate stocké dans un fichier XML et le modifier dans
Vaucanson, ou au contraire sauvegarder un automate en format XML.
Mais un détail gêne encore la parfaite portabilité de ce format: les
étiquettes des transitions sont pour l'instant de simples chaînes de
caractères. Elles sont donc dépendantes des syntaxes utilisées par
chaque logiciel, à l'instar de Vaucanson. Le but de ce séminaire est de
faire le point sur les propriétés que cette extension doit satisfaire,
puis d'écrire cette dernière. Enfin, certaines parties du contenu de
Vaucanson seront modifiées afin de supporter ces changements.
TRANSFORMERS
* Preprocessing & Unpreprocessing du C et C++ -- Thomas Largillier
L'objectif du projet Transformers est de fournir des transformations de
source à source pour les langages C et C++. Ces transformations se
doivent d'être les plus fidèles possibles. Les directives de compilation
sont omniprésentes dans des sources C/C++. L'utilisateur souhaite
naturellement les retrouver après avoir transformé son fichier source.
Il est donc impossible d'utiliser les outils libres existants puisque
ceux-ci ne font le travail que dans un seul sens.
Après un exposé des problèmes rencontrés dans une telle démarche, il
vous sera présenté une implémentation réalisée, dans le cadre du projet
Transformers, avec les outils de Stratego/XT.
* Grammaires hors-contexte et désambiguïsation -- Renaud Durlin
Les grammaires hors-contexte sont de plus en plus utilisées car elles
permettent d'analyser des langages réels en utilisant un formalisme
simple et naturel. De manière générale, les grammaires hors-contexte
permettent de spécifier des langages ambigus.
En utilisant de telles grammaires, un analyseur syntaxique généralisé
produit non pas un arbre mais une forêt de parse. La désambiguïsation
consiste alors à analyser cette forêt pour obtenir l'unique arbre
correspondant à l'entrée en prenant en considération les règles
sémantiques contextuelles.
Nous verrons trois méthodes pour effectuer la désambiguïsation : la
réécriture de termes guidée par des spécifications algébriques
(ASF+SDF), l'utilisation de stratégies (Stratego/XT) et le formalisme
des grammaires attribuées (Transformers). Nous discuterons des points
forts et des points faibles de chacune de ces approches.
* Vectorisation automatique grâce à la transformation de programme --
Alexandre Borghi
La majorité des processeurs sur le marché permet de tirer parti de la
vectorisation. Cependant, les langages et le code existants n'y sont pas
particulièrement adaptés. Les derniers compilateurs essaient
d'auto-vectoriser mais les résultats sont rarement satisfaisants.
Le C étant intrinsèquement séquentiel, il exprime un grand nombre de
dépendances qui n'ont pas lieu d'être. Ceci rend difficile la
vectorisation automatique. Les outils d'auto-vectorisation doivent en
particulier considérer les boucles pour en extraire un maximum
d'information suivant des analyses de dépendances parfois très élaborées.
Il s'agit ici de transformer un fichier source C afin de le rendre plus
facilement vectorisable par les derniers compilateurs à l'aide de
Transformers et des outils de transformation de programmes qu'il fournit.
--
Daniela Becker
Responsable administrative du LRDE