Symbolic Automata with Memory: a Computational Model for Complex Event Processing
We propose an automaton model which is a combination of symbolic and register automata, i.e., we enrich symbolic automata with memory. We call such automata Register Match Automata (RMA). RMA extend the expressive power of symbolic automata, by allowing Boolean formulas to be applied not only to the last element read from the input string, but to multiple elements, stored in their registers. RMA also extend register automata, by allowing arbitrary Boolean formulas, besides equality predicates. We study the closure properties of RMA under union, concatenation, Kleene closure, complement and determinization and show that RMA, contrary to symbolic automata, are not in general closed under determinization, but they are when a window operator, quintessential in Complex Event Processing, is used. We present detailed algorithms for constructing deterministic RMA from regular expressions extended with Boolean constraints, when windowing is used. We show how RMA can be used in Complex Event Processing in order to detect patterns upon streams of events, using a framework that provides denotational and compositional semantics, and that allows for a systematic treatment of such automata.
READ FULL TEXT