The Device Expert System Shell
For the implementation of the knowledge model, the DEVICE [2,3] expert system shell is selected, since it presents a number of interesting features, like multiple rule type support and Object Orientation. DEVICE (Data-driven & EVent-driven rule Integration using Complex Events) is a sequential Knowledge Based System that runs on top of ADAM and EXACT. The former is an OODB built in Prolog, while the latter is an extension of ADAM with events and ECA rules (Figure 4).
Figure 4: The architecture of the DEVICE system.
DEVICE is in fact, an active OODB enhanced with high-level rule facilities. It provides the infrastructure for the smooth integration of production and deductive rules into an active OODB that generically supports event-driven rules only. The integration is based on the compilation of the condition of both high-level rule types into a discrimination network that consists of simple and complex events which record and combine database modifications that could possibly make a rule fire.
A rule base in DEVICE, can be a mixture of ECA, production and deductive rules. The two latter are high-level rules, whose integration into the active OODB has been smoothly achieved in DEVICE. Backward chaining or goal-driven rules are also supported in DEVICE in the form of methods. Methods are pieces of Prolog code, therefore a backward chaining declarative language is provided.
For the efficient matching of the production rules, DEVICE smoothly integrates a RETE-like discrimination network into an active OODB system as a set of first class objects by mapping each node of the network onto a complex event object of the active database system. In order to bring the full functionality of production systems into an active database system, heuristic conflict resolution strategies (OPS5 approach), namely refractoriness, recency and specificity, have been incorporated into the rule selection mechanisms of the integrated environment. The production cycle of DEVICE is presented in figure 5.
Figure 5: The production cycle of DEVICE
The resulting system is a flexible, yet efficient, 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.
The ability of DEVICE to handle large collections of data is important for the development of the ExperNet system, since the information in any WAN concerning the status of the various network devices is large. It has to be noted here, that the OO architecture and data types supported by DEVICE naturally adopt to existing representations of network management information, such as MIB and HNMS+ MIB, providing an easy mapping of network variables to DEVICE objects.
For the needs of ExperNet, DEVICE has been implemented in CS-Prolog-II, a language which, among others, offers extended communication facilities. The latter, in conjunction with the ability of integrating Prolog code with production rules in a simple, clear and robust manner, offers an expert system shell in which communication can be easily implemented, thus offering a powerful platform for the development of any agent based system.