Salvatore J. Stolfo, Hasanat Dewan, David Ohsie, Mauricio Hernandez and Leland Woodbury
Rule-based systems have been used extensively by the AI community in implementing knowledge-based expert systems. A current trend in the Database community is to use rules for the purpose of providing inferential capabilities for large database applications. However, in the database context, performance of rule-program processing has proved to be a major stumbling block, particularly in data-intensive and real-time applications. Similar work in the AI community has demonstrated the same problems mainly due to the predominantly sequential semantics of the underlying rule languages and the lack of facilities to optimize run-time execution performance. In this brief paper, we describe the PARULEL rule language and its meta-rule formalism for declaratively specifying control of rule execution. We argue that the meta-rule facility provides a means for programmable operational semantics that separates control from the base logic of a rule program. This allows the potential realization of a wide range of operational semantics including those of Datalog and OPS5. In previous work, we presented an incremental update algorithm for Datalog and extended it for PARULEL. Run-time performance optimization is also studied by way of the technique of copy-and-constrain. We briefly describe extensions of this work to include run-time reorganization as a principle to enhance execution performance after an initial compile-time analysis. These features, incremental update, copy-and-constrain, and run-time reorganization, are being developed within a parallel and distributed environment for execution of PARULEL programs targeted to commercial multiprocessors and distributed computing facilities.