Active Databases

Temporal Triggers in Active Databases for Monitor and Control

Project Description

We are building a rule-processing component that can be incorporated into commercial-off-the-shelf Database Management Systems. The component will add monitor and control capabilities to existing DBMS's. The target applications consist of a continuously changing database that represents the status of a real system (e.g. a battlefield). Using the rule-system the user will be able to specify conditions that need to be monitored in real-time over the changing database, and actions to be taken upon occurrence of these conditions.

Our rule system is used for specifying triggers. Each rule is an independent trigger that monitors a separate condition. This is unlike existing AI/logic-programming systems, where all the rules comprise a program with an input and an output. An additional difference is that in our systems the database is updated by transactions external to the rule-system.

There are two novel aspects of our rule-processing component.

  • First is the rule language which, in contrast to existing languages, allows the concise specification of temporal conditions (i.e., conditions on the way the database evolves over time) and temporal actions. This is achieved through the use of temporal logic (actually, our rule-language combines temporal logic with the underlying database query language). So, for example, the user will be able to specify that if the aircraft speed, a database variable, decreases by more than 50% in 3 seconds, then a certain action is to be taken. In contrast, in existing rule-languages the condition is specified on the current database state, rather than the way the state evolves. In our rule language the action part of a rule can also be temporal, e.g., it can invoke a certain program every 10 minutes, for one hour.
  • The second novel aspect of our system is the use of incremental processing and parallel processing to meet the real-time performance requirements. Incremental processing means that instead of evaluating from scratch each rule-condition after each database update, the rule-processing component only checks whether or not the UPDATE could have made the condition true. It does so by saving intermediate results of previous evaluations. Performance enhancement is obtained since the size of the database-update and the intermediate results is usually much smaller than the size of the entire database. Performance is further enhanced by performing the incremental processing in parallel.
  • P. Sistla, O. Wolfson, “Temporal Conditions and Integrity Constraints in Active Database Systems”Proceedings of the ACM-SIGMOD 1995, International Conference on Management of Data, San Jose, CA, May 1995.
  • M. Deng, P. Sistla, O. Wolfson, “Temporal Conditions with Retroactive and Proactive Updates”Proceedings of ARTDB 1995, International Workshop on Active and Real-Time Database Systems, Skovde, Sweden, June 1995.
  • P. Sistla, O. Wolfson, “Temporal Triggers in Active Databases”IEEE Transactions on Knowledge and Data Engineering (TKDE), June 1995 pp. 471-486.
  • P. Sistla, O. Wolfson, “Triggers on Database Histories”, (invited), Data Engineering, IEEE Computer Society Press, Dec. 1992.
  • O. Wolfson and A. Silberschatz, “Decomposability and Its Role in Parallel Logic-Program Evaluation”, Journal of Logic Programming (JLP), Vol. 11(3\&4), October/November 1991, pp. 345-358.
  • O. Wolfson, “Parallel Evaluation of Datalog Programs by Load Sharing”, Journal of Logic Programming (JLP), Vol. 12, April 1992, pp. 369-393.
  • O. Wolfson, W. Zhang, H. Butani, A. Kawaguchi, K. Mok, “Parallel Processing of Graph Reachability in Databases”International Journal of Parallel Programming (IJPP), Vol. 21(4), August 1992, pp. 269-302.
  • H. Dewan, D. Ohsie, S. Stolfo, O. Wolfson, S. DaSilva, “Incremental Database Rule Processing in PARADISER”, Journal of Intelligent Information Systems (JIIS), Vol. 1(2), October 1992, pp. 177-209.
  • O. Wolfson and A. Ozeri, “Parallel and Distributed Processing of Rules by Data-Reduction”,IEEE Transactions on Knowledge and Data Engineering (TKDE), Vol. 5(3), June 93, pp. 523-530.
  • S. Cohen, O. Wolfson, “Why a Single Parallelization Strategy is Not Enough in Knowledge-Bases”, (invited article), Journal of Computer and System Sciences (JCSS), special issue on databases, Vol. 47(1), Aug. 1993, pp. 2-44.
  • O. Wolfson, H. Dewan, S. Stolfo, Y. Yemini, “Incremental Evaluation of Rules and Its Relationship to Parallelism”Proceedings of the ACM-SIGMOD 1991, International Conference on Management of Data, Denver, CO, May 1991, pp. 78-87.
  • S. Stolfo, H. Dewan, O. Wolfson, “The PARULEL Parallel Rule Language”, Proceedings of the 1991 International Conference on Parallel Processing (ICPP), St. Charles, IL, Aug. 1991, pp. II/36 – II/45.