Projet ANR-10-INTB-0203 – VAUCANSON 2 : VAUCANSON 2: Une plateforme de manipulation d'automates finis
Programme : Blanc international - Sciences de l'information, de la matière et de l'ingénierie : Sciences de l’information, simulation (Blanc inter SIMI 2) 2010
Année de financement : 2010
Coordinateur du projet : Monsieur LOMBARDY  Sylvain  (UNIVERSITE DE BORDEAUX 1)
Partenaires : Laboratoire Traitement et Communication de l'Information; École pour l'informatique et les techniques avancées; Université de Bordeaux; Université Paris-Est Marne-la-Vallée
Montant : 185943.0 euros
Date de début : 2011
Durée : 36 mois
Résumé : Ce projet consiste d'une part en la réalisation d'une plateforme logicielle dédiée au calcul de, et par, les automates finis. D'autre part, il s'agit de la suite ( le numéro 2 après le nom VAUCANSON) d'un projet du même type, conduit par les mêmes partenaires depuis huit ans, mais sans soutien financier ou institutionnel spécifique -- exceptée la coopération entre Paris et Taipei initiée par un prohjet PHC.
L'expérience de cette première phase, ses enseignements,
ses succès, ses défauts, ses problèmes, et ses échec nous
ont conduit à redéfinir les objectifs scientifiques de ce projet de recherche, les moyens techniques pour les atteindre et les ressources humaines et financières nécessaire à leur
réussite.
Une particularité des automates finis, par rapport à d'autres modèles de calcul, est que la plupart des propriétés sont décidables et que les algorithmes correspondants sont implémentables. Parmi d'autres systèmes de calcul sur les automates, le projet Vaucanson se distingue par les objectifs suivants.
Générique.
La plateforme doit refléter et satisfaire la richesse du modèle et permettre l'implémentation et le calcul d'accepteurs
ou de transducteurs pondérés, sans restriction a priori sur le
type des étiquettes ou des poids.
Efficace.
La plateforme doit offrir de (très) bonnes performances;
la généricité ne doit pas l'handicaper par rapport à des systèmes plus spécialisés.
Fidèle à la théorie.
La programmation des algorithmes et la construction des automates doit être aussi proche que possible de leur description en langagae mathématique.
Versatile.
La plateforme doit satisfaire différents utilisateurs et
utilisations des automates finis, des étudiants d'informatique en première année au mathématiciens,
des universitaires aux industries de vérification logicielle ou de traitement des langues naturelles.
Ceci implique qu'elle soit accessible à différents niveaux, que les fonctions de la bibliothèque soit appelables soit
selon une API, un ensemble de commandes, ou, pour toucher
les utilisateurs les moins versés en programmation, une interface graphique.
Enfin, et c'est plus un moyen qu'un objectif, la plateforme
sera un logiciel open-source.
Le projet Vaucanson a été inité par les partenaires de Paris.
Nous avons compris ensuite l'importance de disposer d'une
interface graphique et nous avons eu la chance d'intégrer
notre partenaire de Taipei via un projet ORCHID (2007-2008).
Vaucanson 1 nous fournit un bon prototype de ce que nous voulions au démarrage du projet. Il supporte différent types d'étiquettes et de poids, il offre deux implémentations possibles pour les automates et la plupart des algorithmes
standard pour les accepteurs et transducteurs pondérés.
Vaucanson 1 contient un ensemble de commandes shell, appelé TAF-Kit, qui permet de calculer sur des automates de type fixé (une douzaine de types sont disponibles).
De plus, un prototype d'interface graphic, appelé Vaucanson Graphic Interface, offre les mêmes fonctionalités que TAF-Kit.
Dans la nouvelle phase du projet, que nous appelons VAUCANSON 2 et qui est l'objet de cette demande, nous conservons les mêmes objectifs qu'avant, dont nous mesurons même mieux l'ambition.
Les efforts porteront principalement sur les aspects suivants de la plateforme.
 +  Une nouvelle architecture du coeur de Vaucanson, afin de
    d'éliminer la complexité d'écriture de la bibliothèque et  
    la perte de performance.
 +  Une spécification plus stricte de l'interface des
    automates.
 +  Un travail systématique pour améliorer l'accessibilité
    de la plateforme, sa documentation et la communication
    avec d'autres systèmes.