A Type System for Weighted Automata and Rational Expressions

From LRDE

Abstract

We present a type system for automata and rational expressions, expressive enough to encompass weighted automata and transducers in a single coherent formalism. The system allows to express useful properties about the applicability of operations including binary heterogeneous functions over automata. We apply the type system to the design of the vcsnd platform, a library dedicated to the computation with finite weighted automata, in which genericity and high efficiency are obtained at the lowest level through the use of template metaprogramming, by letting the template system play the role of a static type system for automata. Between such a low-level layer and the interactive high-level interface, the type system plays the crucial role of a mediator and allows for a cleanly-structured use of dynamic compilation.

Documents

Videos

Bibtex (lrde.bib)

@InProceedings{	  demaille.14.ciaa,
  author	= {Akim Demaille and Alexandre Duret-Lutz and Sylvain
		  Lombardy and Luca Saiu and Jacques Sakarovitch},
  title		= {A Type System for Weighted Automata and Rational
		  Expressions},
  booktitle	= {Proceedings of Implementation and Application of Automata,
		  19th International Conference (CIAA'14)},
  year		= 2014,
  publisher	= {Springer},
  series	= {Lecture Notes in Computer Science},
  volume	= 8587,
  address	= {Giessen, Germany},
  month		= jul,
  abstract	= {We present a type system for automata and rational
		  expressions, expressive enough to encompass weighted
		  automata and transducers in a single coherent formalism.
		  The system allows to express useful properties about the
		  applicability of operations including binary heterogeneous
		  functions over automata.\\ We apply the type system to the
		  design of the \vcsnd platform, a library dedicated to the
		  computation with finite weighted automata, in which
		  genericity and high efficiency are obtained at the lowest
		  level through the use of template metaprogramming, by
		  letting the template system play the role of a static type
		  system for automata. Between such a low-level layer and the
		  interactive high-level interface, the type system plays the
		  crucial role of a mediator and allows for a
		  cleanly-structured use of dynamic compilation. },
  doi		= {10.1007/978-3-319-08846-4_12}
}