Hostname: page-component-6b989bf9dc-mbg9n Total loading time: 0 Render date: 2024-04-13T03:47:05.231Z Has data issue: false hasContentIssue false

Formal basis for the refinement of rule based transition systems

Published online by Cambridge University Press:  07 November 2008

A. N Clark
Department of Computing, University of Bradford, Bradford, West Yorkshire BD7 1DP, UK (e-mail:
Rights & Permissions [Opens in a new window]


Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

This paper makes a contribution to the refinement of systems which involve search by proposing a simple non-deterministic model for rule based transition systems and using this to define a meaning for rule based refinement which allows each stage of the software development path to be verified with respect to the previous stage. The proposal allows a system which involves search to be specified in terms of all the possible outcomes. Each stage of refinement will introduce complexity to the rules and therefore develop the search space in ever more sophisticated ways. At each stage of the refinement it will be possible to be precise about which collections of outcomes have been deleted, thereby achieving a verified (prototype) implementation.

Copyright © Cambridge University Press 1996


Baader, F. and Siekmann, J. (1994) Unification theory. In Handbook of Logic in Artificial Intelligence and Logic Programming, ed. Gabbay Dov, M.Hogger, C. J. and Robinson, J. A.. Oxford University Press.Google Scholar
Beynon-Davies, P. (1993) Knowledge Engineering for Information Systems. McGraw-Hill.Google Scholar
Bird, R. S. (1987) A Calculus of Functions for Program Derivation. Oxford University Programming Research Group Monograph.Google Scholar
Brownston, L., Farrell, R., Kant, E. and Martin, N. (1985) Programming Expert Systems in OPS5: An introduction to Rule-Based Programming. Addison-Wesley.Google Scholar
Burstall, R. M. and Darlington, J. (1977) A Transformation System for Developing Recursive Programs. J. ACM 24 (1).CrossRefGoogle Scholar
Charniak, E. et al. (1987) Artificial Intelligence Programming. Lawrence Erlbaum.Google Scholar
Clark, A. N. (1994) Pattern recognition of noisy sequences of behavioural events using functional combinators. Computer Journal, 37(5).Google Scholar
Clocksin, W. F. and Mellish, C. S. (1984) Programming in Prolog. 2nd ed.Springer-Verlag.Google Scholar
Culbert, C., Riley, G. and Savely, R. T. (1987) Approaches to the verification of rule-based expert systems. In 1st Annual Workshop on Space Operations Automation and Robotics (SOAR 87), NASA Conf. Pub. 2491.Google Scholar
Goguen, J. A., Thatcher, J. W. and Wagner, E. G. (1976) An initial algebra approach to the specification, correctness and implementation of abstract data types. In Current Trends in Programming Methodology IV, Yeh, R. (ed.). Prentice Hall.Google Scholar
Harper, R., MacQueen, D. and Milner, R. (1986) Standard ML. Laboratory for Foundations of Computer Science Report Series ECS-LFCS-86-2.Google Scholar
Hudak, P. et al. (1992) The Haskell Report. ACM SIGPLAN Notices, 27(5).Google Scholar
Jounanaud, J-P. and Dershowitz, N. (1990) Rewrite systems. In Handbook of Theoretical Computer Science, Van Leeuwen, J. (ed.). Elsevier.Google Scholar
Krause, P. et al. (1993) Can we formally specify a medical decision support system? IEEE Expert, June.CrossRefGoogle Scholar
Lucas, P. and Van Der Gaag, L. (1991) Principles of Expert Systems. Addison-Wesley.Google Scholar
Luger, G. F. and Stubblefield, W. A. (1989) Artificial Intelligence and the Design of Expert Systems. Benjamin Cummings.Google Scholar
Luqi, V. B. and Yehudai, A. (1993) Using Transformations in Specification-Based Prototyping. IEEE Trans. on Software Engineering, 19(5).Google Scholar
Lopez, B., Meseguer, P. and Plaza, E. (1990) Knowledge based systems validation: a state of the art. AI Communications, 3(2).CrossRefGoogle Scholar
Major, F., Lapalme, G. and Cedergren, R. (1991) Domain generating functions for solving constraint satisfaction problems. Journal of Functional Programming, 1(2).CrossRefGoogle Scholar
Morgan, C. (1990) Programming from Specifications. Prentice Hall.Google Scholar
Nilsson, N. J. (1980) Principles of Artificial Intelligence. Springer-Verlag.Google Scholar
O'Keefe, R. M., Balci, O. and Smith, E. P. (1987) Validating expert system performance. IEEE Expert, Winter.CrossRefGoogle Scholar
Partsch, H. and Steinbruggen, R. (1983) Program transformation systems ACM Computing Surveys, 15(3).CrossRefGoogle Scholar
Peyton Jones, S. (1987) The Implementation of Functional Programming Languages. Prentice Hall.Google Scholar
Plotkin, G. D. (1975) Call-by-name, Call-by-value and the λ-calculus. Theoretical Computer Science, 1.CrossRefGoogle Scholar
Roman, G., Gamble, R. F. and Ball, W. E. (1993) Formal derivation of rule-based programs. IEEE Trans. Software Engineering, 19(3).Google Scholar
Rushby, J. (1988) Quality Measures and Assurance for AI Software. NASA Contractor Report CR-4187.Google Scholar
Sondergaard, H. and Setsoft, P. (1992) Non-determinism in functional Languages. The Computer Journal, 35(5).CrossRefGoogle Scholar
Steele, G. (1990) Common Lisp, the Language. Digital Press.Google Scholar
Wadler, P. (1990) Comprehending monads. In Proc. 19th Symp. on Lisp and Functional Programming,Nice, France.ACM.CrossRefGoogle Scholar
Submit a response


No Discussions have been published for this article.