Традиционнные управляющие структуры программы - условные переходы и циклы. Язык СПРУТ также содержит соответствующие операторы. Заметим, что операторы перехода или цикла могут быть включены непосредственно в текст механизма МИЗ типа «Формула», однако такой подход затрудняет последующую доработку методов базы знаний и потому не рекомендуется к применению.
Ветвления (условные переходы) при автоматической генерации модуля знаний реализуются путем задания условий его выполнения в виде ограничений на значения входных переменных. При генерации исходного текста эти условия транслируются в традиционную конструкцию типа «если .. то .. иначе ..».
Операторы цикла генерируются автоматически при появлении в списке выходных переменных одного из модулей, выполняющего функцию управления повторением цикла, выделенной переменной с идентификатором FinCalc. В методе может содержаться только один цикл.
Для начальной установки переменных цикла используются модули инженерных знаний без входных переменных, которые не включаются в тело цикла, располагаясь перед ним, например:
Модуль:TPU01
Название: Начальная установка номера операции
Наименование | Имя | Ограничение |
|
|
|
N операции | NOp | 0 |
Изменение значения переменной цикла (в данном случае - номера операции) также выполняется специальным модулем, в котором переменная цикла служит одновременно и входной, и выходной переменной:
Модуль:TPU04
Название: Переадресация номера операции
Наименование | Имя | Ограничение |
N операции | NOp |
|
N операции | NOp | NOp= NOp+1 |
Управление циклом осуществляет модуль установки признака конца:
Модуль:TPU06
Название: Установка признака конца
Наименование | Имя | Ограничение |
Наименование предыдущей операции | NamPrOp | Напыление |
Признак конца | FinCalc | FinCalc =1 |
Таким образом, набор имеющихся типов модулей инженерных знаний позволяет решать разнообразные и достаточно сложные задачи проектирования технических объектов.
← Пример создания базы знаний | Моделирование работы модулей и методов → |
---|