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 Management

Run-time detection of non-terminating active rule systems / Baralis, ELENA MARIA; Ceri, S.; Paraboschi, S.. - STAMPA. - 1013:(1995), pp. 38-54. (Intervento presentato al convegno Deductive and Object-Oriented Databases 4th International Conference, DOOD '95 tenutosi a Singapore (SGP) nel December 4–7, 1995) [10.1007/3-540-60608-4_33].

Run-time detection of non-terminating active rule systems

BARALIS, ELENA MARIA;
1995

Abstract

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 Management
1995
3540606084
File in questo prodotto:
Non ci sono file associati a questo prodotto.
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11583/2500040
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo