Device is a system that integrates production rules in an active Object-Oriented Database (OODB) system that supports event-driven rules. Production rules are useful for several tasks of active database systems, such as integrity constraint checking, derived data maintenance, database state monitoring, etc. Furthermore production rules can express knowledge in a high-level form for problem solving in Knowledge Base Systems (KBS). Present active OODB systems traditionally provide event-driven rules, which are triggered by events, i.e. database modifications.

The matching of production rules requires special algorithms based on the flow of updated data through a discrimination network, like RETE. DEVICE offers a smooth integration of production rules into an active OODB system that only supports event-driven rules, without introducing new data structures, maintaining at the same time the properties of discrimination networks. This is achieved using complex events to map the conditions of production rules and monitor the database to incrementally match those conditions. DEVICE maps each production rule into one event-driven rule, keeping the size of the rule base small and offers centralized rule selection control for correct run-time behavior.

Furthermore, the DEVICE method leaves room for optimization of the matching process through variations of the basic discrimination network and provides an infrastructure for the integration of other rule paradigms into a single KBS.

E-DEVICE is an extension of DEVICE that provides a) persistence for the discrimination network components, b) virtual node optimization and c) deductive rule support. E-DEVICE is itself extensible because a) it re-uses the primitives of the host active OODB system to build the integration scheme, without introducing low-level data structures that do not blend well with the OO model and are not easily extensible, and b) the rule managers support general-purpose rule scheduling functions. Due to the above reasons the extensions to DEVICE have been implemented with minimum effort. Furthermore, E-DEVICE is a flexible KBS that gives the user the ability to express knowledge in a variety of high-level forms for advanced problem solving in data intensive applications.

DEVICE has been fully implemented along with the various extensions, in the extensible active OODB EXACT, which is a descendant of the ADAM OODB. The host programming language environment is ECLiPSe Prolog from ECRC. The development of the system required about 4 manmonths and consists of <200 KB of Prolog source code (including comments and extensions). The various components are plugged-in as modules, extending the basic active OODB system, rather than being placed on a distinct layer on top of the EXACT and ADAM systems. This is a consequence of the OODB extensibility through metaclasses and makes DEVICE itself extensible.

Relevant Publications

Department of Informatics Home Page
LPIS Group Home Page

For any comments regarding this page contact Nick Bassiliades.