@inproceedings{DBLP:conf/vldb/GehaniJS92, author = {Narain H. Gehani and H. V. Jagadish and Oded Shmueli}, editor = {Li-Yan Yuan}, title = {Composite Event Specification in Active Databases: Model {\&} Implementation}, booktitle = {18th International Conference on Very Large Data Bases, August 23-27, 1992, Vancouver, Canada, Proceedings}, publisher = {Morgan Kaufmann}, year = {1992}, isbn = {1-55860-151-1}, pages = {327-338}, ee = {db/conf/vldb/GehaniJS92.html}, crossref = {DBLP:conf/vldb/92}, bibsource = {DBLP, http://dblp.uni-trier.de} }
Active database systems require facilities to specify triggers that fire when specified events occur. We propose a language for specifying composite events as event expressions, formed using event operators and events (primitive or composite). An event expression maps an event history to another event history that contains only the events at which the event expression is "satisfied" and at which the trigger should fire. We present several examples illustrating how quite complex event specificationsare possible using event expressions.
In addition to the basic event operators, we also provide facilities that make it easier to specify composite events. "Pipes" allow users to isolate sub-histories of interest. "Correlation variables" allow users to ensure that different parts of an event expression are satisfied by the same event, thereby facilitating the coordination of sub-events within a composite event.
We show how to efficiently implement event expressions using finite automata. Each event causes an automaton to change state. When an automaton reaches an accepting state, a composite event of interest is recognized, and the corresponding trigger fired.
Events have attributes. For primitive events, these could be parameters of the activity that caused the event, selected parts of the database state, or functions computed therefrom. For composite events, attributes are derived from the attributes of the constituent primitive events. These attributes can be used in checking conditions, and in any actions triggered. Event expressions can specify values (or sets or ranges of values) for particular attributes, and can even require that some attributes be equal. The composite event specified by the expression does not occur unless the specified condition on attributes is satisfied.
Copyright © 1992 by the VLDB Endowment. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the VLDB copyright notice and the title of the publication and its date appear, and notice is given that copying is by the permission of the Very Large Data Base Endowment. To copy otherwise, or to republish, requires a fee and/or special permission from the Endowment.