Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OPS5
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
[[File:OPS_series.png|thumb|375px|Genealogy: The OPS series and systems they are inspired from or inspired.]] '''OPS5''' is a [[rule-based language|rule-based]] or [[Production system (computer science)|production system]] [[computer language]], notable as the first such language to be used in a successful [[expert system]], the [[R1 (expert system)|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. 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 development of OPS4 was sponsored by [[DARPA|ARPA]] Order No. 3597, and monitored by the [[Air Force Research Laboratory|Air Force Avionics Laboratory]] under Contract F33615-78-C-1151.<ref>{{Cite journal |last=McDermott |first=John |date=1982-09-01 |title=R1: A rule-based configurer of computer systems |url=https://www.sciencedirect.com/science/article/abs/pii/0004370282900212 |journal=Artificial Intelligence |volume=19 |issue=1 |pages=39β88 |doi=10.1016/0004-3702(82)90021-2 |issn=0004-3702|url-access=subscription }}</ref> The first implementation of OPS5 was written in [[Lisp programming language|Lisp]], and later rewritten in [[BLISS programming language|BLISS]] for speed. '''DEC OPS5''' is an extended implementation of the OPS5 language definition, developed for use with the [[OpenVMS]], RISC ULTRIX, and DEC OSF/1 operating systems. == References == {{Reflist}} * [[Charles Forgy]], ''OPS5 User's Manual'', Technical Report CMU-CS-81-135 (Carnegie Mellon University, 1981) * [[Lee Brownston]], Robert Farrell, [[Elaine Kant]], [[Nancy Martin (computer scientist)|Nancy Martin]], ''Programming Expert Systems in OPS5'' ([[Addison-Wesley]], 1985) {{ISBN|0-201-10647-7}} * Anoop Gupta, Miland Tambe, Dirk Kalp, Charles Forgy, and Allen Newell, [https://apps.dtic.mil/sti/pdfs/ADA207320.pdf ''Parallel Implementation of OPS5 on the Encore Multiprocessor: Results and Analysis''] * Rob Lewis, [https://www.amazon.com/dp/B01BA7SQBQ?ref_=pe_2427780_160035660 OPS5 Revisited] (Amazon 2016) == External links == * [http://www.pcai.com/web/ai_info/pcai_ops.html OPS5 overview] * [http://www.cs.gordon.edu/local/courses/cs323/OPS5/ops5.html OPS5 Reference manual] * [http://www.ruleworks.co.uk/uguide/rwug1.html RuleWorks ] - Open-sourced language based on OPS5, with added modularity constructs. * [http://www.scs.cmu.edu/afs/cs/project/ai-repository/ai/areas/expert/systems/ops5/0.html OPS5: RETE-based expert system shell] - CMU Artificial Intelligence Repository * [https://github.com/sharplispers/ops5 source code] - OPS5 source code on GitHub * [http://www.iocog.com/ Free OPS5 implementation in .Net Core] {{Authority control}} [[Category:Functional languages]] [[Category:Common Lisp (programming language) software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite journal
(
edit
)
Template:ISBN
(
edit
)
Template:Reflist
(
edit
)