Active Database Execution Model
The execution model of an active database describes how a set of ECA rules behave at run time.
The execution model describes how a set of ECA rules (i.e., active database rule base) behave at run time [2, 4]. Any execution model of an active database must have support for (i) detecting event occurrences, (ii) evaluating conditions, and (iii) executing actions.
If an active database supports composite event detection, it needs a policy that describes how a composite event is computed. A typical approach is to use the event consumption modes as described in Snoop : recent, chronicle, continuous, and cumulative. In the recent event context, only the most recent constituent events will be used to form composite events. In the chronicle event context, events are consumed in chronicle order. The earliest unused initiator/terminator pair are used to form the composite event. In the continuous event context, each initiator starts the detection of a new composite event, and a terminator may terminate one or more composite event occurrences. The difference between continuous and chronicle event contexts is that in the continuous event context, one terminator can detect more than one occurrence of the composite event. In the cumulative event context, all events contributing to a composite event are accumulated until the composite event is detected. When the composite event is detected, all contributing events are consumed. Another approach to these event consumption modes is to specify a finer semantics for each event by using logical events as suggested in .
When should the condition be evaluated and when should the action should be executed with respect to the triggering event and the transaction model? This is usually specified by coupling modes.
- What happens if an event triggers several rules?
Are all rules evaluated, a subset, or only one rule?
Are rules executed in parallel, according to rule priority, or non-deterministically?
- What happens if one’s rules trigger another set of rules?
What happens if the rule action of one rule negates the rule condition of an already triggered rule?
Can cycles appear? For example, can a rule trigger itself?
The answers to the above questions are important to know, as they dictate how a ECA rule system will behave at run time. If the answers to the above questions are not known, then the behavior of the ECA rule application becomes unpredictable.
- 1.Chakravarthy S, Krishnaprasad V, Anwar E, Kim SK. Composite events for active databases: semantics contexts and detection. In: Proceedings of 20th international conference on very large data bases; 1994. p. 606–17.Google Scholar
- 2.Dayal U, Blaustein B, Buchmann A, Chakravarthy S. et al. HiPAC: a research project in active, time-constrained database management. Technical report CCA-88-02. Cambridge: Xerox Advanced Information Technology; 1988.Google Scholar
- 3.Gehani N., Jagadish HV, Smueli O. Event specification in an active object-oriented database. In: Proceedings of ACM SIGMOD international conference on management of data; 1992. p. 81–90.Google Scholar
- 5.Widom J, Finkelstein S. Set-oriented production rules in relational database systems. In: Proceedings of ACM SIGMOD international conference on management of data; 1990. p. 259–70.Google Scholar