34
2.8. Фреймы
"Держите себя в рамках!"
Реплика
В основе теории фреймов лежит восприятие фактов посредством сопос-
тавления полученной извне информации с конкретными элементами и значе-
ниями, а также, с рамками , определенными для каждого концептуального объ-
екта в памяти. Структура, представляющая эти рамки, называется фреймом.
Другими словами, фрейм – это структур а, описывающая фрагмент базы
знаний, который в какой-то степени рассматривается и обрабатывается обособ-
ленно от других фрагментов. Другие фрагменты, с которыми он связан, во фрейме
представлены только их именами (идентификаторами) так же как и он в них.
В виде фрейма может описываться некоторый объект, ситуация, абстракт-
ной понятие, формула, закон, правило, визуальная сцена и т.п.
Понятие фрейма неразрывно связано с абстрагированием и построением
иерархии понятий.
Из понятия "фрейм", появившегося в конце 60-х годов в работах М. Мин-
ского, выросло в дальнейшем понятие объекта и объектно-ориентированного
программирования с его идеями инкапсуляции данных в объекте, наследования
свойств и методами, привязанными к описанию объектов.
Так как фрейм является более общей и гибкой концепцией, чем "объект", в
дальнейшем будем использовать терминологию, сложившуюся при описании
фреймов, подразумевая, что с некоторыми ограничениями они могут быть пе-
ренесены в среду объектно-ориентированного программирования.
Фреймы подразделяются на два типа: фреймы-прототипы (или классы) и
фреймы-примеры (или экземпляры). Фреймы-прототипы используются для по-
рождения фреймов-примеров.
В общем виде фрейм можно описать как структуру, состоящую из имени
фрейма, множества слотов, характеризующихся именами и значениями, и мно-
жества присоединенных процедур, связанных с фреймом или со слотами:
)),,,(),...,,,(),...,,,(,,(
111
nnniii
PVSNSPVSNSPVSNSPNFF
=
где NF – имя фрейма, NS – имя слота, VS – значение слота, P – присоединенная
процедура.
Во фреймах различают два типа присоединенных процедур: процедуры-
демоны и процедуры-слуги. Первые из них запускаются автоматически при на-
личии некоторых условий или событий. Процедур ы-слуги запускаются явно.
В реальных системах, базирующихся на фреймах, структура, описанная
выше, может быть более сложной за счет иерархической структуры значений
слотов (наличия более глубоких уровней в описании фрейма).
Ниже приводится пример фрейма-прототипа, описывающего земельный
участок в виде многоугольника: