Взаимодействие языка представления знаний фреймами и базы знаний представлены на рис. 3.14

Редактор фреймов используется для диалогового построения фреймовых систем, например, для определения и обновления базы знаний и т. п.

Модуль проверки правил служит для выявления, исправления ошибок в базе знаний, построенной с помощью редактора фреймов. Простые ошибки (указание наследования, типы данных и т. п.) обнаруживаются редактором фреймов в процессе построения базы данных. Модуль проверки правил используется для более сложных ошибок (противоречий между фреймами и т. п.)

Не решена задача семантических противоречий во фреймовой системе.

Исполнительный механизм  предназначен для инициирования вывода.

Модуль системных функций  разделяет на группы функций:

  • функции управления фреймами (для генерации, определения или обращения к фрейму);
  • функции управления слотами (для генерации, определения или обращения к слоту, для подстановки значения слота, обращения к нему и определения этого значения);
  • функции поддержки присоединённых процедур, запуска и т. д.

Управление выводом

Существует три способа управления выводом.

1)   Фреймовая система используется только как база данных, основанная на фактах. Предполагается наличие внешних баз признаков и моделей вывода. Не допускается использование в продукционной системе (базе данных) структур данных типа фрейма.

Этот способ обычно используется универсальными продукционными системами с базой данных фреймового типа, снабжённой механизмом наследования и демона.

2)  В фреймовой системе ограничена роль присоединённой процедуры. Фреймовая система, содержащая присоединённую процедуру, используется в качестве базы знаний, наличие внешних баз правил и механизмов вывода, функционирование системы по принципу ответа на сообщение, переданное из механизма управления выводом.

 3)  Способ с обменом сообщениями основан на постепенном продвижении к  цели посредством поочерёдной передачи сообщений между фреймами. Этот способ соответствует наиболее высокоуровневому управлению выводом, типичен для языков ООП.

Данный способ позволяет рационально реализовывать любое управление, однако необходимо тщательное проектирование схемы передачи управления.