Semiautomaton