Recent production system applications have been experiencing exceedingly difficult software maintenance problems. This is because the control of rule firings has been buried in the production rules themselves. To cope with this problem, we propose a meta-level control architecture for production systems, where procedural programming languages, such as Lisp and C, are employed to explicitly describe the control plans of production systems. The key idea of the architecture is to view production systems as a collection of independent rule processes, each of which monitors the global database and performs actions when its conditions are satisfied by the database. Procedural Control Macros (PCMs), which are based on Hoare's CSP, are then introduced into procedural programming languages to establish communication with the collection of rule processes. Although the PCMs are simple and easy to implement, the readability and maintainability of production system applications are greatly enhanced. Together with the original facilities of procedural languages, the PCMs enable users to efficiently specify the control plans for production systems. Furthermore, since control information is gathered into control plans, production rules can be declarative and thereby application-independent. This new feature makes it possible to develop large-scale shared rule bases. Experiments of redescribing 370 rules have been performed based on the proposed meta-level control architecture. The results demonstrate significant improvements in the readability and maintainability of those rules without any significant representation (file volumes) and runtime (processing time) overheads.
|ジャーナル||IEEE Transactions on Knowledge and Data Engineering|
|出版ステータス||Published - 1995 2|
ASJC Scopus subject areas
- コンピュータ サイエンスの応用