1,721,013 research outputs found
Declarative specification of constraint maintenance
Integrity repair is a pragmatic alternative to integrity checking, already proposed by relational and Codasyl standards and supported by several commercial systems, although for a small number of constraint types. This paper proposes to integrate constraint languages with the declarative specifications of their integrity repair actions. We introduce a rather powerful, predicate-based language for specifying integrity constraints, then we discuss the semantics of repair actions as computations which react to constraint violations, then we establish sufficient conditions for ensuring their termination, and finally we show how repair actions can be integrated in the SQL2 standard and implemented by means of relational triggers (written in Oracle)
Improved rule analysis by means of triggering and activation graphs
In this paper, we propose new methods for the compile-time analysis of the behavior of active rules, based on the distinction between mutual triggering and mutual activation of rules. This distinction motivates the introduction of two graphs defining rule interaction, called triggering and activation graphs respectively. Analysis techniques presented in this paper are focused on the problem of termination; results provide a systematic identification of reactive behaviors which can be guaranteed to terminate and reactive behaviors which may lead to infinite rule processing. Research presented in this paper is supported by Esprit project P6333 IDEA, and by ENEL contract VDS 1/94: Integrity Constraint Managemen
Run-time detection of non-terminating active rule systems
Especially during the design and tuning of active rules, it is possible that rule execution enters an endless loop, where rules cascade by triggering each other indefinitely, so that their processing does not terminate. Commercial systems detect this situation in a simple way, by keeping counters on the number or depth of cascading rules, and suspending an execution when the counters exceed given thresholds. However, the setting of these counters is quite critical: too low thresholds may cause the halting of rule processing in absence of loops, too high thresholds may reveal a loop only after an expensive processing. In this paper, we propose a technique for revealing loops, which is based on recognizing that a given situation has already occurred in the past and therefore will occur an infinite number of times in the future. This technique is potentially very expensive, therefore we explain how it can be implemented in practice with limited computational effort. A particular use of this technique allows to develop cycle monitors, which check at run time that critical rule sequences, detected at compile time, do not repeat forever. Research presented in this paper is supported by Esprit project P6333 IDEA, and by ENEL contract VDS 1/94: Integrity Constraint Managemen
- …
