Date of Award
Doctor of Philosophy (PhD)
This dissertation discusses modifications of the internal architecture of production systems that could significantly increase the execution performance of production system programs. This increased efficiency is achieved in part by modifications to the matching step of the execution cycle. Rather than checking all possible instantiations, we propose to consider only a small subset of the potential instantiations which are the "best candidates" for firing (according to the conflict resolution scheme). The increased execution efficiency provided by this matching strategy is compounded by modifying the OPS5 conflict resolution strategies. We propose a goal-directed (look-ahead) conflict resolution strategy which will still retain the responsiveness emphasized by OPS5. Execution efficiency may be further enhanced by dividing a program knowledge base into procedures, such that each procedure represents a logical unit of processing. As a procedure executes, only the productions forming the procedure are matched against the program database. This strategy reduces the matching overhead for the program. Modularization also enables the programmer to avoid unwanted rule interactions and permits data abstraction and information hiding in the procedures. Program development is supported by our algorithms to diagnose errors in both the program knowledge base and database. Many of these algorithms are based on a network representation of a program's potential rule and procedure interactions. These tests may be administered at compile time and during program execution. The network program representation also forms the basis of techniques for program testing: the network forms the infrastructure for a graphical program trace, provides a means of measuring the comprehensiveness of program testing, and is utilized in determining the possible input and output data of a program's potential execution paths. While we present our methods in the context of OPS5, a popular forward-chaining production system, these techniques may be applied to many other productions systems.
Cunningham, Sally Jo, "Utilizing a Network Program Representation to Support Production System Program Development and Execution." (1990). LSU Historical Dissertations and Theses. 4905.