Фреймовые системы и их функционирование

Для иллюстрации работы этого класса систем рассмотрим иерархию понятия отчета, структура которого определена выше, но уже со всеми слотами, их значениями и процедурами (рис. 6.3).

Допустим, что некоторые слоты имеют значение по умолчанию. Каким образом можно использовать так организованные данные?

Если системе задан запрос: «Мне нужен финансовый отчет о выполнении проекта по новой технологии», то интерфейсная программа анализирует его и:

0. Вносит «проект по новой технологии» в слот «ТЕМА» следующего пустого узла «Финотчет» (в нашем примере это узел №3). Далее все происходит автоматически.

 
 
отчет


Рис. 6.3 - Функционирование фреймовой системы

1. Процедура «если - добавлено», связанная со слотом «ТЕМА», осуществляет поиск руководителя этого проекта. Допустим, что его фамилия Иванов. Процедура вписывает его фамилию в слот «АВТОР» финансового отчета №3. Если руководитель этой темы не будет найден, в слот «АВТОР» будет

наследовано значение класса, а именно текст «РУКОВОДИТЕЛЬ ПРОЕКТА».

2. Процедура «если - добавлено», связанная со слотом «АВТОР», начинает выполняться, т.к. в слот только что было вписано новое значение. Эта процедура начинает составлять сообщение, чтобы отправить его Иванову, но обнаруживает, что нет нужной даты исполнения.

3. Процедура «если — добавлено», просматривая слот «ДАТА» и найдя его пустым, активирует процедуру «если — нужно», связанную с этим слотом, которая, анализируя текущую дату (например 12.04.06), решит, что «30 июня» ближайшее к ней и впишет эту дату в слот «ДАТА».

4. Теперь процедура «если - добавлено», связанная со слотом «АВТОР», найдет, что еще одно значение, которое нужно включить в сообщение, т.е. объем отчета, отсутствует. Слот «ОБЪЕМ» не связан с процедурами и ничем помочь не может. Однако выше узла № 5 существует узел общей концепции финансового отчета, содержащий значение объема. Процедура, используя концепцию наследования свойств класса, использует значение объема и составляет следующее сообщение: «Господин Иванов, подготовьте финансовый отчет по проекту новой технологии к 30 июня объемом 2 страницы». Если в какой-то момент фамилия Иванов будет удалена из слота «АВТОР», то система автоматически отправит ему сообщение, что его отчет не требуется.

В рассмотренном примере заполнителями служили конкретные

экземпляры атрибутов (заполняемые по умолчанию). Вместе с тем,

заполнителями слотов могут быть:

- имена других фреймов системы, на которые делается ссылка;

- фасеты («агрегат», «диапазон», «по умолчанию» и др.).

Расширим рассмотренный выше пример для иллюстрации этих понятий (рис. 6.4.).

При определении фреймов фасет «агрегат» указывает на то, что должны быть заданы требуемые объекты, а «интервал» - на то, что должен быть выбран один из множества объектов.


Рис. 6.4 - Функционирование фреймовой системы


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: