Event specification in an active object-oriented database

Abstract
We describe the integration of composite event specification in the context of O++, the database programming language for the Ode object database (1). We propose a new Event-Action (E-A) model, which is simpler than the E-C-A model. Not only have we eliminated the need for a separate ''condition'' part in the model — the condition is part of an event specification in our model — we have also eliminated the need to have special types of couplings as proposed in the E-C-A model. In fact, our event specification facility can model not just the E-C-A couplings discussed in the literature, but arbitrary additional types of couplings as well. We construct a formal model for the specification (and detection) of composite events, and show its equivalence in terms of expressive power to regular expressions over strings of logical events. On this basis we are able to compile arbitrary composite event specifications into finite automata, thereby rendering event detection particularly efficient. In many cases, one automaton per class is sufficient and objects need only record their states within this automaton. Time-based events are important for active databases and their incorporation into a general framework of addressing events is therefore desirable, if not mandatory. The issue of (true physical) time and the proper way of incorporating it with a ''logical'' system view presents many difficulties; see for example (11, 14). One obvious problem is that communication takes time (especially in a distributed system) and that internal events and state transitions are not instantaneous. Furthermore, transaction execution takes time. We propose a way for handling time and time related events. We also define serializability in the presence of (physical) time. Furthermore, we address the interaction of (physical) time events and traditional notions of a transaction system.

This publication has 9 references indexed in Scilit: