• DocumentCode
    1397846
  • Title

    Compile-time and runtime analysis of active behaviors

  • Author

    Baralis, Elena ; Ceri, Stefano ; Paraboschi, Stefano

  • Author_Institution
    Dipt. di Autom. e Inf., Politecnico di Torino, Italy
  • Volume
    10
  • Issue
    3
  • fYear
    1998
  • Firstpage
    353
  • Lastpage
    370
  • Abstract
    Active rules may interact in complex and sometimes unpredictable ways, thus possibly yielding infinite rule executions by triggering each other indefinitely. This paper presents analysis techniques focused on detecting termination of rule execution. We describe an approach which combines static analysis of a rule set at compile-time and detection of endless loops during rule processing at runtime. The compile-time analysis technique is 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. This analysis technique allows us to identify reactive behaviors which are guaranteed to terminate and reactive behaviors which may lead to infinite rule processing. When termination cannot be guaranteed at compile-time, it is crucial to detect infinite rule executions at runtime. We propose a technique for identifying 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 us to develop cycle monitors, which check that critical rule sequences, detected at compile time, do not repeat forever We bridge compile-time analysis to runtime monitoring by showing techniques, based on the result of rule analysis, for the identification of rule sets that can be independently monitored and for the optimal selection of cycle monitors
  • Keywords
    active databases; deductive databases; graph theory; program debugging; program verification; activation graphs; active behaviors; active databases; active rules; compile-time analysis; compile-time analysis technique; critical rule sequences; cycle monitors; endless loops; infinite rule executions; infinite rule processing; reactive behaviors; rule debugging; runtime analysis; static analysis; triggering graphs; Bridges; Debugging; Expert systems; Monitoring; Production systems; Prototypes; Runtime; Testing; Transaction databases;
  • fLanguage
    English
  • Journal_Title
    Knowledge and Data Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1041-4347
  • Type

    jour

  • DOI
    10.1109/69.687973
  • Filename
    687973