Vaucanson

Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 03/07/09
  • Minor correction: 27/01/10
Keywords

Vaucanson : finite state machine manipulation platform

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System: UNIX-like, Windows, MacOS X
  • Current version: 1.2 - mars 2008
  • License(s): GPL - Licence LGPL for version 0.7 and former versions.
  • Status: under development
  • Support: maintained, ongoing development
  • Designer(s): Several contributors
  • Contact designer(s): Sylvain.Lombardy @ univ-mlv.fr
  • Laboratory, service: LIGM, LRDE, LTCI

 

General software features

The C++ library provides:

  • Generic algebraic structures, including:
    • efficient polynomials as maps from monoid values to weights
    • efficient rational expressions as binary trees
  • Automaton structures, using a graph structure that ensures minimum complexity for most operations
  • Algorithms
  • Generic testsuites for user-made extensions
Context in which the software is used

Vaucanson is a finite state machine manipulation platform, initiated by Jacques Sakarovitch and Sylvain Lombardy in 2001. A finite state machine (also called automaton) is a computing tool useful in langage processing or automation.
In the past, such platforms were intended to work either at an industrial scale, specialized in weighted letter automaton (FSM) to be efficient, or in a pure abstract way (FSA). Using static and generic C++ programming, Vaucanson tries to respond to these two trends.
Indeed, our framework is the set of automata with multiplicity over any semiring: a general algorithm is written just once and can be statically instantiated to any particular kind of automaton. As a result, we obtain efficient code from algorithms written in an abstract way using basic primitives taken from the C++ library.

Publications related to the software