  We present a system for Complex Event Recognition (CER) based on automata.
While multiple such systems have been described in the literature, they
typically suffer from a lack of clear and denotational semantics, a limitation
which often leads to confusion with respect to their expressive power. In order
to address this issue, our system is based on an automaton model which is a
combination of symbolic and register automata. We extend previous work on these
types of automata, in order to construct a formalism with clear semantics and a
corresponding automaton model whose properties can be formally investigated. We
call such automata Symbolic Register Transducers (SRT). We show that SRT are
closed under various operators, but are not in general closed under complement
and they are not determinizable. However, they are closed under these
operations when a window operator, quintessential in Complex Event Recognition,
is used. We show how SRT can be used in CER in order to detect patterns upon
streams of events, using our framework that provides declarative and
compositional semantics, and that allows for a systematic treatment of such
automata. For SRT to work in pattern detection, we allow them to mark events
from the input stream as belonging to a complex event or not, hence the name
"transducers". We also present an implementation of SRT which can perform CER.
We compare our SRT-based CER engine against other state-of-the-art CER systems
and show that it is both more expressive and more efficient.
