OPS5 je programovací jazyk založený na pravidlech, který na počátku 70. let 20. století navrhl Charles Forgy během své doktorandské práce na Carnegie Mellon University. Je všeobecně považován za první produkční pravidlový systém a inspiroval řadu pozdějších pravidlových jazyků, jako jsou CLIPS, JESS a Drools.
OPS5 byl navržen jako uživatelsky přívětivější a výkonnější alternativa k tehdy populárnímu programovacímu jazyku Lisp. Měl umožnit programátorům snadno psát a udržovat programy, které by mohly rozhodovat na základě souboru pravidel.
Forgy založil syntaxi OPS5 na syntaxi jazyka Lisp, ale provedl řadu důležitých změn. Především nahradil syntaxi S-výrazů jazyka Lisp tradičnější infixovou notací. Díky tomu se programy v OPS5 mnohem lépe četly a psaly a bylo také možné používat standardní aritmetické operátory.
Programy OPS5 se skládají ze souboru pravidel. Každé pravidlo má podmínku a akci. Když je splněna podmínka pravidla, provede se akce. To umožňuje programům rozhodovat a provádět akce na základě souboru podmínek.
OPS5 je výkonný a expresivní jazyk, který je vhodný pro širokou škálu aplikací. Zvláště dobře se hodí pro umělou inteligenci a expertní systémy.