next up previous
Next: Conclusion Up: CL: Chimera's Conceptual Language Previous: Active Rules and Operation

Triggers

Chimera supports set-oriented triggers, which are activated by database operations and perform reactive computations. The distinguishing choice of Chimera is to map an object-oriented data model with set-oriented triggers, e.g., triggers responding to collective operations. Triggers in Chimera follow the event-condition-action paradigm of active databases:

Events are a uniform interface for defining patterns of actions the observation of which can trigger a reaction. Such patters can be:

Each trigger is defined on a set of triggering events; the set is associated to a disjunction semantics (the trigger becomes active if any of its triggering events occurs). We exclude, for the time being, to support within Chimera a more complex event calculus. Note that we do not support triggers on value classes.

The condition is a declarative formula written in CL; it serves the purpose of monitoring the execution of the reaction part. The reaction is a chain of procedure calls; procedures can be either update primitives of Chimera, or display primitives, or operations, or externally defined procedures, or the transactional command rollback. Conditions and reactions may share some atomic variables that are used in order to relate them; in addition, conditions may use special formulas occurred and holds in order to identify objects which have been the target of one of the above events. Event formulas in the condition part of a trigger are provided as a means of referring to triggering events occurring within a transaction declaratively. Event formulas referring to updates are evaluated with respect to the net effect of a transaction. References to the state before and after a transaction can be made within the condition part as well.

Syntactically, active rules must be safe, that is, the variables occurring as input parameters of some procedures in the reaction part of the rule must be present in some positive literals of the condition part of the same rule (or be defined as output parameters of precedent procedures).

Execution of Chimera triggers may be controlled by means of a few control options (such as ``coupling modes'' or ``event consumption modes''). Priorities can be given in order to partially order triggers relative to each other. A complete description of triggers in Chimera can be found in [CFPT94]; their formal semantics is presented in [FPT94].


next up previous
Next: Conclusion Up: CL: Chimera's Conceptual Language Previous: Active Rules and Operation

Benutzernr. fuer das Idea-Projekt
Wed Sep 11 15:52:56 MET DST 1996