Jess (programovací jazyk) - Jess (programming language) - Wikipedia
tento článek potřebuje další citace pro ověření.Březen 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | Sandia National Laboratories |
---|---|
Stabilní uvolnění | 7.1p2 / 5. listopadu 2008 |
Plošina | Jáva |
Licence | Uzavřený zdroj / Veřejná doména |
webová stránka | www.jessrules.com |
Jess je pravidlo motoru pro Jáva platforma, kterou vyvinul Ernest Friedman-Hill z Sandia National Labs.[1] Je to nadmnožina z CLIPS programovací jazyk.[1] Poprvé to bylo napsáno na konci roku 1995.[1] Jazyk poskytuje programování založené na pravidlech pro automatizaci expertní systém, a je často označován jako expertní systémový shell.[1] V posledních letech, inteligentní agent také se vyvinuly systémy, které závisí na podobné schopnosti.
Spíše než a procesní paradigma, kde jeden program má smyčku, která je aktivována pouze jednou, deklarativní paradigma používá Jess nepřetržitě aplikuje kolekci pravidel na kolekci faktů tzv. procesem porovnávání vzorů. Pravidla mohou upravovat shromažďování faktů nebo mohou provádět jakýkoli kód Java.
Motor Jessových pravidel využívá Algoritmus Rete,[1] a lze je použít k vytvoření:
Licence
Zatímco CLIPS je licencován jako otevřený zdroj, Jess není open source. JESS je zdarma pro vzdělávací a vládní použití, ale pro použití JESS pro komerční systémy je nutná licence.
Příklady kódu
Příklady kódu:
; je komentář(svázat ?X 100); x = 100(nefunkčnost max (?A ? b) (-li (> ?A ? b) pak ?A jiný ? b))(deffacts můj pokoj (nábytek židle) (nábytek stůl) (nábytek postel) )(deftemplate auto (slot barva) (slot najetých kilometrů) (slot hodnota) )(tvrdit (auto (barva Červené) (najetých kilometrů 10000) (hodnota 400)))
Ukázkový kód:
(Průhledná)(deftemplate dárce krve (slot název) (slot typ))(deffacts krevní banka ; vložte jména a jejich typy do [[pracovní paměť]] (dárce krve (název "Alice")(typ "A")) (dárce krve (název "Agatha")(typ "A")) (dárce krve (název „Bob“)(typ „B“)) (dárce krve (název "Barbara")(typ „B“)) (dárce krve (název "Jess")(typ „AB“)) (dárce krve (název "Karen")(typ „AB“)) (dárce krve (název "Na")(typ "Ó")) (dárce krve (název "Osbert")(typ "Ó")) )(defrule can-give-to-same-type-but-not-self ; zpracovává A> A, B> B, O> O, AB> AB, ale ne N1> N1 (dárce krve (název ?název)(typ ?typ)) (dárce krve (název ? name2)(typ ? typ2 &:(ekv ?typ ? typ2) &: (neq ?název ? name2) )) => (vytisknout t ?název „může dát krev“ ? name2 crlf) )(defrule O-dává-ostatním-ale-ne-sám ; O až O krytí výše uvedeného pravidla (dárce krve (název ?název)(typ ?typ &:(ekv ?typ "Ó"))) (dárce krve (název ? name2)(typ ? typ2 &: (neq ?typ ? typ2) &: (neq ?název ? name2) )) => (vytisknout t ?název "může dát krev" ? name2 crlf) )(defrule A-nebo-B-dává-AB ; případ O dává AB a AB dává AB již řešen (dárce krve (název ?název)(typ ?typ &:(nebo (ekv ?typ "A") (ekv ?typ „B“ )))) (dárce krve (název ? name2)(typ ? typ2 &: (ekv ? typ2 „AB“) &: (neq ?název ? name2) )) => (vytisknout t ?název „může dát krev“ ? name2 crlf) ); (sledovat vše)(resetovat)(běh)
Viz také
Související systémy
- KLIPY: software pro veřejné domény nástroj pro vytváření expertních systémů.
- Pravidla ILOG: systém pro správu obchodních pravidel.
- JBoss Drools: systém správy obchodních pravidel (BRMS).
- Prolog: univerzální logický programovací jazyk.
- Tablety OpenL: pravidla zaměřená na podnikání a BRMS.
- DTRules: a rozhodovací tabulka založený modul pravidel s otevřeným zdrojem pro Javu.
Reference
Další zdroje
- Friedman-Hill, Ernest (2003). Jess v akci: Systémy založené na pravidlech v Javě. Manning Publications. Citováno 30. března 2012. ISBN 1-930110-89-8