Automata languages and programming (Berlin Springer-Verlag, 2006)