ГЛАВА 13Ограничения
Эта глава посвящена вопросу ограничений, применяемых в фактах или объектах, и типам проверки значений слотов и полей. Кроме того, атрибуты ограничений используются в левой части правил для определения дополнительных условий запуска правил, проверяемых во время процесса сопоставления образцов.
CLIPS поддерживает два типа проверки ограничений — статическую и динамическую. Если включен режим статической проверки ограничений, нарушения ограничений обнаруживаются при вызове функций и создании различных новых конструкций. Статическая проверка также обеспечивает проверку на соответствие переменных в левой части правил. Если включен режим динамической проверки ограничений, проверка осуществляется при появлении любых новых данных (таких как факты или объекты). Фактически, можно считать, что статическая проверка выполняется при загрузке программы в память, а динамическая — при ее выполнении. По умолчанию в CLIPS включена статическая проверка ограничений, а динамическая выключена. Эту установку можно изменить с помощью функций set-static-constraint-checking И set-dynamic-constraint-checking. Кроме того, пользователи Windows-версии среды CLIPS могут устанавливать режимы проверки ограничений с помощью диалогового окна Execution Options,открываемого одноименной командой через меню Execution.Внешний вид этого диалогового окна приведен на рис. 13.1.
Если режим динамической проверки ограничений не включен, информация об ограничениях, ассоциированная с различными конструкциями, не сохраняется в бинарный файл, создаваемый командой bsave.
Обобщенный синтаксис атрибутов ограничений можно представить в следующем виде.
Определение 13.1. Синтаксис атрибутов ограничений
<атрибуты-ограничений> ::= <атрибут-типа> |
<константный-атрибут>│
<атрибут-диапазона> | <атрибут-мощности>
Рис. 13.1.Диалоговое окно Execution Options
Атрибут типа
Атрибут типа позволяет ограничивать типы значений, помещаемых в слоты объектов или поля фактов.
Дата добавления: 2021-12-14; просмотров: 278;