OPS5
From Wikipedia, the free encyclopedia
OPS5 is a rule-based or production system computer language, notable as the first such language to be used in a successful expert system, the R1/XCON system used to configure VAX computers.
The OPS (said to be short for "Official Production System") family was developed in the late 1970s by Charles Forgy while at Carnegie Mellon University. Allen Newell's research group in artificial intelligence had been working on production systems for some time, but Forgy's implementation, based on his Rete algorithm, was especially efficient, sufficiently so that it was possible to scale up to larger problems involving hundreds or thousands of rules.
OPS5 uses a forward chaining inference engine; programs execute by scanning "working memory elements" (which are vaguely object-like, with classes and attributes) looking for matches with the rules in "production memory". Rules have actions that may modify or remove the matched element, create new ones, perform side effects such as output, and so forth. Execution continues until no more matches can be found.
OPS4 was an early version, while OPS83 came later.
The first implementation of OPS5 was written in Lisp, and later rewritten in BLISS for speed.
DEC OPS5 is an extended implementation of the OPS5 language definition, developed for use with the VMS, RISC ULTRIX, and DEC OSF/1 operating systems.
[edit] References
- Charles Forgy, OPS5 User's Manual, Technical Report CMU-CS-81-135 (Carnegie Mellon University, 1981)
- Lee Brownston, Robert Farrell, Elaine Kant, Nancy Martin, Programming Expert Systems in OPS5 (Addison-Wesley, 1985) ISBN 0-201-10647-7
[edit] External links
- Free OPS5 compiler
- OPS5 overview
- OPS5 Reference manual
- RuleWorks Knowledge Based Systems - Expert System Programming based on OPS5
- OPS5: RETE-based expert system shell - CMU Artificial Intelligence Repository