Franz Barachini, Hans Mistelberger, Anoop Gupta
A major obstacle to the widespread use of expert systems in real-time domains is the non-predictability of response times. While some researchers have addressed this issue by optimizing response time through better algorithms or parallel hardware, there has been little research towards run-time prediction in order to meet user defined deadlines. To cope with the latter, real-time expert systems must provide mechanisms for estimating run-time required to react to external events. As a starting point for our investigations we chose the RETE algorithm, which is widely used for real-time production systems. In spite of RETE’s combinatorial worst case match behavior we introduce a method for estimating match-time in the RETE network. This paper shows that simple profiling methods do not work well, but by going to a finer granularity, we can get much better execution time predictions for basic actions as well as for complete right hand sides of rules. Our method is dynamically applied during the run-time of the production system by using continuously updated statistical data of individual nodes in the RETE network.