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