An algorithm for maintaining working memory consistency in multiple rule firing systems
Multiple rule firing models are used to improve the performance of forward chaining production systems. Interference analysis techniques are used to detect cases when the result of a concurrent execution is different from the result of any sequential firing. The current interference analysis techniques are computationally intensive. Further, these techniques permit less concurrency than that is actually possible. Multiple rule firing is akin to concurrent transaction execution in databases. The interference problem can be viewed as a problem of maintaining working memory (WM) consistency in multiple rule firing environments. We propose a new algorithm to maintain working memory consistency. This algorithm uses `Access requests' to control access to working memory. Though, `Access requests' seem to be similar to locks in databases, they have different semantics. These different semantics allow the algorithm to be deadlock free. A comparison of different algorithms shows that the degree of concurrency permitted by our algorithm is more than that allowed by other algorithms.
working memory consistency multiple rule firing production systems interference analysis concurrency control real time expert systems speed up