Объекты

 

Объекты в базе знаний представляют собой отображения элементов реального мира, которые будут применяться при решении поставленной перед ЭС РВ задачи. Выделяют постоянные и временные объекты. Постоянные объекты заносятся в БЗ разработчиком ЭС РВ в процессе диалога с системой, в то время как временные объекты создаются после выполнения специальных команд в правилах и процедурах. Временные объекты могут существовать в БЗ только в процессе работы ЭС РВ. С каждым объектом ассоциируется таблица атрибутов, в которую заносятся существенные для решаемой задачи свойства объекта. Элемент данной таблицы представляет собой пару "атрибут -значение".

Объекты могут иметь графические образы, отображаемые на экране дисплея, называемые пиктограммами. На пиктограммах разработчиком могут быть выделены отдельные участки. Цвет таких участков может изменяться в результате выполнения специальных команд в правилах или процедурах. Таким способом обеспечивается высокая наглядность информации, предоставляемой лицу, работающему с ЭС РВ.

Поскольку реальные приложения могут содержать большое количество объектов, целесообразно предоставлять возможность объединения множества объектов со схожими свойствами в классы. Классы объектов составляют иерархию, в которой определяется отношение "родительский класс - подкласс". Объекты подклассов могут наследовать атрибуты и пиктограммы родительских классов.

Иерархическая упорядоченность классов значительно упрощает задачу определения новых классов в приложении. Например, атрибуты, характеризующие объекты различных классов, могут быть однократно определены в одном классе, являющемся общим родительским классом для них. Такие атрибуты будут автоматически наследоваться объектами, принадлежащими к подклассам, что снимает необходимость их повторного определения. Другим важным достоинством введения классов объектов является возможность составления правил, относящихся ко всем объектам, принадлежащим к некоторому классу (общих правил). Задача разработчика значительно упрощается за счет того, что им может быть составлен ряд общих правил, применимых к различным классам объектов приложения, а результирующая БЗ будет иметь меньший объем по сравнению с БЗ, в которой не могут применяться общие правила.

Особая роль в G2 отводится переменным. В отличие от статических систем переменные в G2 делятся на три вида: собственно переменные, параметры и простые атрибуты. Параметры - получают значения в результате работы машины вывода или выполнения какой-либо процедуры. Переменные представляют измеряемые характеристики объектов реального мира и поэтому имеют специфические черты: время жизни значения и источник данных. Время жизни значения переменной определяет промежуток времени, в течение которого это значение актуально, по истечении этого промежутка переменная считается не имеющей значения. В отличие от переменных параметры всегда имеют значение, так как их значения либо заданы в качестве начальных значений, либо пересчитаны механизмом вывода G2.

Поскольку системе может потребоваться текущее значение пере­менной, для каждой из них должен быть определен источник данных (сервер данных). Источником данных для переменной могут служить: машина вывода, подсистема имитационного моделирования или внешний по отношению к G2 источник данных. С переменными могут быть ассоциированы формулы имитационного моделирования, в результате применения которых система также может получать значения переменных. Для параметров указанный механизм получения значений из источника данных не используется; они получают новые значения после выполнения специальных операторов в заключениях правил или процедур.

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

• текущее значение;

• значение в заданный момент времени;

• среднее значение за интервал времени;

• интеграл по интервалу времени;

• интерполяция значения в заданный момент времени;

• максимальное (минимальное) значение за интервал времени;

• количество собранных значений за интервал времени;

• скорость изменения значений в течение интервала времени;

• стандартное отклонение в течение интервала времени.

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