Investigations into database management system support for expert system shells (vols. I and II)

V. Johnson · 1993

Many expert system shells are available for developing production rule based expert system applications. However, it is difficult to rapidly change those applications to respond to changing business conditions. Each shell has its own production rule language and inferencing capabilities. It is unclear what information can be shared (reused). Use of main memory instead of a shared, common source for rules constrains the size of applications and can result in duplication. Maintenance is not immediately available to existing inference sessions and updates made by a session only affect that session. This thesis approaches production rules and working storage as data that can be managed by enhanced database management systems (DBMSs). Five expert system shells are studied. A composite (canonical) production rule syntax is developed which provides knowledge engineers with a common language for production rules. It is mapped into an integrated data model for use by tool developers who wish to design common production rule storage databases and maintenance tools. Extensions to the data model allow expert system shell developers to reduce main memory constraints by using a DBMS to store and manage execution data. The analysis performed in building the data model reveals where translation, system enhancements, or standard definitions are required to share production rules. Two DBMS enhancements are defined to facilitate management of production rule and execution data (but which also have other applications). Reflexive indexes enable a DBMS to incrementally maintain transitive closures (including multiple tables, duplicates, side paths, and accumulated values) as a database index. They simplify query formats, and eliminate the need for recursive processing during retrieval. One use is to accumulate rule premise evaluation values during inferencing. The inference locking protocol allows concurrent, dynamic access by those maintaining and executing control data. For example, it provides greater flexibility in maintaining production rules by allowing knowledge engineers to use multiple versions and notification to control how updates to production rules affect other maintenance and inference sessions. The protocol can also be used to extend production rule capabilities by allowing production rules to maintain production rules concurrently with other maintenance and inference sessions.

Read the paper · More papers on PaperTik