This Article 
 Bibliographic References 
 Add to: 
Response Time Analysis of OPS5 Production Systems
May/June 2000 (vol. 12 no. 3)
pp. 391-409

Abstract—This paper focuses on the problem of determining a priori the maximal response time of rule-based programs. The response time analysis problem is an important problem, especially for real-time systems. We study this problem in the context of OPS5 production systems. Two aspects of the response time of a program are investigated, the maximal number of rule firings and the maximal number of basic comparisons made by the Rete network during the execution of the program. The response time analysis problem is in general undecidable. However, a program terminates in a finite time if the rule triggering pattern of this program satisfies certain conditions. In this paper, we present four such termination conditions for OPS5 production systems. An algorithm for computing an upper bound on the number of rule firings is then given. To have a better idea of the time required during execution, we present an algorithm that computes the maximal time required during the match phase in terms of the number of comparisons made by the Rete network. This measurement is sufficient since the match phase consumes about 90 percent of the execution time.

[1] S. Abiteboul and E. Simon, "Fundamental Properties of Deterministic and Nondeterministic Extensions of Datalog," Theoretical Computer Science, vol. 78, pp. 137-158, 1991.
[2] A. Aiken, J. Widom, and J.M. Hellerstein, “Behavior of Database Production Rules: Termination, Confluence, and Observable Determination,” Proc. ACM SIGMOD Int'l Conf. Management of Data, M. Stonebraker, ed., pp. 59-68, May 1992.
[3] F. Barachini, “Frontiers in Run-Time Prediction for the Production-System Paradigm,” AI Magazine, vol. 15, no. 3, pp. 47–61, Fall 1994.
[4] M. Benda, “Real-Time Applications of AI in the Aerospace Industry,” Proc. Fall School on Artificial Intelligence, Sept. 1987.
[5] A.M.K. Cheng, J.C. Browne, A.K. Mok, and R.-H. Wang, "Analysis of Real-Time Rule-Based System with Behavioral Constraint Assertions Specified in Estella," IEEE Trans. Software Eng., vol. 19, no. 9, pp. 863-885, Sept. 1993.
[6] C.L. Forgy, OPS5 User's Manual. Technical Report CMU-81-135, Carnegie-Mellon Univ., 1981.
[7] C.L. Forgy, “Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem,” Artificial Intelligence, vol. 19, pp. 17–37, 1982.
[8] C.L. Forgy, “The OPS Languages,” PC Artificial Intelligence, pp. 16–21, Sept./Oct. 1995.
[9] T. Ishida,“Parallel rule firing in production systems,” IEEE Trans. on Knowledge and Data Engineering, vol. 3, No. 1, pp 11-17, March 1991.
[10] D. Koch, K. Morris, C. Giffin, and T. Reid, “Avionic Sensor-Based Safing System Technology,” Presentation Tri-Service Software System Safety Working Group in association with IEEE COMPASS Conf., 1986.
[11] T.J. Laffey,P.A. Cox,J.L. Schmidt,S.M. Kao, and J.Y. Read,"Real-time knowledge-based systems," AI Magazine, pp. 27-45, Spring 1988.
[12] J.S. Lark,L.D. Erman,S. Forrest,K.P. Gostelow,F. Hayes-Roth,, and D.M. Smith,“Concepts, methods, and languages for building timely intelligent systems,” J. Real-Time Systems, vol. 2, pp. 127-148, May 1990.
[13] C.A. O'Reilly and A.S. Cromarty, ““Fast”Is Not“Real-time”: Designing Effective Real-Time,” Proc. SPIE, Artificial Intelligence Systems, Applications of Artificial Intelligence, J.F. Gilmore, ed., 1985.
[14] D.W. Payton and T.E. Bihari,“Intelligent real-time control of robotic vehicles,” Comm. of the ACM, vol. 34, No. 8, pp. 48-63, Aug. 1991.
[15] R.-H. Wang and A.K. Mok, “Response-Time Bounds of EQL Rule-Based Programs Under Rule Priority Structure,” IEEE Trans. Software Eng., vol. 21, no. 7, pp. 605–614, July 1995.
[16] P.H. Winston, Artificial Intelligence. Reading, Mass.: Addison-Wesley, 1984.

Index Terms:
Computer-aided software engineering, OPS, real-time decision systems, response time, rule-based programs, special forms, static analysis, verification.
Albert Mo Kim Cheng, Jeng-Rung Chen, "Response Time Analysis of OPS5 Production Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 12, no. 3, pp. 391-409, May-June 2000, doi:10.1109/69.846292
Usage of this product signifies your acceptance of the Terms of Use.