OPS5
   HOME

TheInfoList



OR:

OPS5 is a rule-based or production system computer language, notable as the first such language to be used in a successful
expert system In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if†...
, 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 Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
.
Allen Newell Allen Newell (March 19, 1927 – July 19, 1992) was a researcher in computer science and cognitive psychology at the RAND Corporation and at Carnegie Mellon University’s School of Computer Science, Tepper School of Business, and Department ...
'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. In this sense, OPS5 is an execution engine for a Petri net extended with inhibitor arcs. The OPS5 forward chaining process makes it extremely parallelizeable during the matching phase, and several automatic parallelizing compilers were created. OPS4 was an early version, while OPS83 came later. The first implementation of OPS5 was written in
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
, and later rewritten in BLISS for speed. DEC OPS5 is an extended implementation of the OPS5 language definition, developed for use with the
OpenVMS OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
, RISC ULTRIX, and DEC OSF/1 operating systems.


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) * Anoop Gupta, Miland Tambe, Dirk Kalp, Charles Forgy, and Allen Newell
''Parallel Implementation of OPS5 on the Encore Multiprocessor: Results and Analysis''
* Rob Lewis
OPS5 Revisited
(Amazon 2016)


External links







- Open-sourced language based on OPS5, with added modularity constructs.

- CMU Artificial Intelligence Repository
source code
- OPS5 source code on GitHub
Free OPS5 implementation in .Net Core
{{Authority control Functional languages Common Lisp (programming language) software