Джесс (язык программирования) - Википедия - Jess (programming language)
Эта статья нужны дополнительные цитаты для проверка.Март 2012 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | Сандийские национальные лаборатории |
---|---|
Стабильный выпуск | 7.1p2 / 5 ноября 2008 г. |
Платформа | Ява |
Лицензия | Закрытый источник / Всеобщее достояние |
Интернет сайт | www.jessrules.com |
Джесс это механизм правил для Ява платформа, разработанная Эрнест Фридман-Хилл из Национальная лаборатория Сандии.[1] Это суперсет из Язык программирования CLIPS.[1] Впервые он был написан в конце 1995 года.[1] Язык обеспечивает программирование на основе правил для автоматизации экспертная система, и его часто называют оболочка экспертной системы.[1] В былые времена, интеллектуальный агент также были разработаны системы, которые зависят от аналогичных возможностей.
А не процедурная парадигма, где одна программа имеет цикл, который активируется только один раз, декларативная парадигма используется Джессом, постоянно применяет набор правил к набору фактов процессом, называемым сопоставление с образцом. Правила могут изменять набор фактов или выполнять любой код Java.
Механизм правил Jess использует Алгоритм Rete,[1] и может использоваться для создания:
Лицензия
Хотя CLIPS имеет лицензию Открытый исходный код, Jess не является открытым исходным кодом. JESS является бесплатным для использования в образовательных и государственных учреждениях, но для использования JESS в коммерческих системах требуется лицензия.
Примеры кода
Примеры кода:
; это комментарий(связывать ?Икс 100); х = 100(отклонение Максимум (? а ? б) (если (> ? а ? б) тогда ? а еще ? б))(деффакты моя комната (мебель стул) (мебель стол) (мебель кровать) )(deftemplate машина (слот цвет) (слот пробег) (слот ценить) )(утверждать (машина (цвет красный) (пробег 10000) (ценить 400)))
Образец кода:
(Чисто)(deftemplate донор крови (слот имя) (слот тип))(деффакты банк крови ; поместите имена и их типы в [[рабочую память]] (донор крови (имя "Алиса")(тип "А")) (донор крови (имя "Агата")(тип "А")) (донор крови (имя "Боб")(тип "B")) (донор крови (имя "Барбара")(тип "B")) (донор крови (имя "Джесс")(тип "AB")) (донор крови (имя «Карен»)(тип "AB")) (донор крови (имя "На")(тип "О")) (донор крови (имя «Осберт»)(тип "О")) )(отклонять может-дать-тому же типу-но-не-себе ; обрабатывает A> A, B> B, O> O, AB> AB, но не N1> N1 (донор крови (имя ?имя)(тип ?тип)) (донор крови (имя ? name2)(тип ? type2 &:(экв ?тип ? type2) &: (neq ?имя ? name2) )) => (распечатывать т ?имя "может дать кровь" ? name2 crlf) )(отклонять О-дает-другим-но-не-себе ; O to O в правиле выше (донор крови (имя ?имя)(тип ?тип &:(экв ?тип "О"))) (донор крови (имя ? name2)(тип ? type2 &: (neq ?тип ? type2) &: (neq ?имя ? name2) )) => (распечатывать т ?имя "может дать кровь" ? name2 crlf) )(отклонять A-or-B-дает-AB ; случай O отдает AB, а AB отдает AB, уже рассмотренный (донор крови (имя ?имя)(тип ?тип &:(или же (экв ?тип "А") (экв ?тип "B" )))) (донор крови (имя ? name2)(тип ? type2 &: (экв ? type2 "AB") &: (neq ?имя ? name2) )) => (распечатывать т ?имя "может дать кровь" ? name2 crlf) ); (смотреть все)(перезагрузить)(пробег)
Смотрите также
Связанные системы
- КЛИПЫ: программное обеспечение общественного достояния инструмент для построения экспертных систем.
- Правила ILOG: система управления бизнес-правилами.
- JBoss слюни: система управления бизнес-правилами (BRMS).
- Пролог: язык логического программирования общего назначения.
- Планшеты OpenL: бизнес-ориентированные правила и BRMS.
- DTRules: а таблица решений основанный на открытом коде механизм правил для Java.
Рекомендации
Дополнительные источники
- Фридман-Хилл, Эрнест (2003). Джесс в действии: системы на основе правил в Java. Публикации Мэннинга. Получено 30 марта, 2012. ISBN 1-930110-89-8