Авторы: Федяев О. И., Жабская Т. Е.
Источник: Сборник трудов 12‑ой национальной конференции по искусственному интеллекту с международным участием (КИИ–2010). Том 3. – 2010. – С. 61–69.
Решена задача преобразования концептуальных моделей, полученных на стадии анализа по методологии Gaia, в физические модели для реализации многоагентной системы (МАС) в инструментальной среде JACK. На основе составленной семантики визуальных моделей среды JACK разработана методика трансформации абстрактных моделей Gaia в физические концепты среды JACK, обеспечивающая качественное прохождение всех этапов разработки МАС.
В настоящее время теория искусственных агентов открывает новые перспективные направления в информационных технологиях и искусственном интеллекте. Интеграция достижений в области программной инженерии и искусственном интеллекте привела к появлению новой агентно‑ориентированной (АО) технологии программирования и возможности построения качественно новых программных моделей. Междисциплинарный характер этого научного направления позволяет успешно применять АО подход в таких областях, как распределенное решение сложных задач, реинжиниринг предприятий, моделирование распределенных систем, построение виртуальных организаций.
Процесс разработки МАС является иерархическим и должен связывать модели разных уровней проектирования. Однако из‑за использования различных методологий и инструментариев, оперирующих различными концептами, при реализации этого процесса возникает ряд проблем, связанных с переходом от концептуальных к физическим моделям реализации МАС.
Задачей данного исследования является разработка методики преобразования абстрактных моделей методологии Gaia [Zambonelli at all, 2003] в физические концепты инструментария JACK [JACK Intelligent Agents]. Инструментальная среда JACK использовалась авторами для создания виртуальной кафедры университета АО типа. Кафедра, как объект моделирования, является распределённой системой, субъекты которой выполняют определённую интеллектуальную деятельность. Процесс обучения студентов на кафедре университета распределён во времени и пространстве. Для предоставления участникам образовательного процесса возможности автономного и дистанционного выполнения учебно‑методических обязанностей поставлена цель создать такую виртуальную кафедру, в которой сохраняются все необходимые для учёбы отношения и устраняются жёсткие пространственно‑временные ограничения в виде расписания занятий.
Для разработки МАС обучения на уровне кафедры, был проведен АО анализ учебного процесса по методологии Gaia.
Разработанные АО модели позволили получить абстрактное описание учебно‑методической деятельности субъектов учебного процесса, выполнение которой далее необходимо делегировать их программным агентам [Федяев и др., 2006].
Полученные модели агентов могут быть реализованы различными
способами. Для моделирования ментальных свойств агентов, необходимых
для решения задачи обучения, была выбрана BDI‑архитектура,
основанная
на знаниях [Kinny at all, 1996]. В качестве инструментария,
реализующего эту архитектуру агентов, использовалась АО среда
разработки JACKTM Intelligent Agents (JACK). Следует отметить, что эта
среда является одной из наиболее подходящих и гибких технологий для
реализации понятия интеллектуальный агент
,
благодаря наличию механизма рассуждений для воспроизведения
программными агентами делегированной им интеллектуальной деятельности
[Жабская и др., 2009]. JACK является надстройкой Java в виде расширения
синтаксиса Java конструкциями для программной реализации свойств
интеллектуального агента.
Агент, имеющий BDI‑архитектуру, описывается тремя компонентами
А = (B, D, I),
где: B – это убеждения агента, которые являются информацией агента о собственном состоянии и состоянии его окружения, и рассматриваются как его информационная компонента;
D – это желания агента в виде информации о его целях, которые рассматриваются как его мотивационная компонента;
I – это намерения агента, которые представляют возможные направления его действий, и являются его рассудительной компонентой.
Для программной реализации убеждений, желаний и намерений агента в языке JACK предусмотрены следующие новые конструкции, расширяющие синтаксис языка Java на уровне классов:
Отношения между данными классами агентной системы устанавливаются с помощью деклараций языка JACK, выделяемых предшествующим символом #. Для описания логических рассуждений агента во время выполнения планов введены операторы методов рассуждений, выделяемые предшествующим символом @.
Чтобы воспользоваться инструментальной средой JACK, необходимо мыслить на уровне её понятий, характерными для BDI‑архитектуры. Для правильного перехода от абстрактных моделей агентов к их представлению на уровне визуальных моделей среды JACK, авторами были составлены спецификации семантики визуальных моделей данной среды.
Семантика визуальной модели агента, представленного формально в среде JACK в виде Аgent = (N, Bel, PE, HE, SE, PS), раскрывается следующим образом: N – имя агента; Bel – убеждения агента; PE = {E1, E2, …, En} – множество имен событий, создаваемых собственными методами агента; HE = {{E1, E2, …, En}, HE1, …} – множество событий, воспринимаемых агентом для обработки; SE = {SE1, SE2, …, SEm} – множество имен событий, передаваемых агентом во внешнюю среду; PS = {P1, P2, …, Pk} – множество имен планов, определяющих поведение агента.
Более эффективно определять агента можно через его способности, тогда Аgent = (N, Bel, PE, Cap), где Cap = {C1, C2, …, Cn} – множество имен способностей, которыми обладает агент для достижения поставленных целей.
Семантика визуальной модели воспринимаемого события, формально представляемая в среде JACK в виде Event = (N, Pw, Pa, EvT), имеет следующее внутреннее содержание: N – имя воспринимаемого события; Pw – метод автоматического порождения новых убеждений при соответствии собственных убеждений агента некоторым условиям; Pa – метод явного восприятия агентом события внешнего мира и формирования новых убеждений, связанных с данным событием, в результате которого агент получает цель для достижения; EvT – определение стратегии достижения цели.
Визуальная модель плана для описания рассуждений агента формально в среде JACK представляется в виде Plan = (N, Ev, Sev, МP, МF, Rel, С, B) и заключается в следующем: N – имя плана; Ev – имя события, для обработки которого предназначен данный план; Sev – множество имен событий, отправляемых агентом во внешнюю среду при выполнении плана; МP, MF – завершающие действия, выполняемые соответственно при успешном /неуспешном выполнении плана; Rel – метод определения применимости плана для обработки события на основе истинности логического условия, зависящего от результата сопоставления убеждений агента о данном событии; C – метод определения применимости плана для обработки события на основе истинности логического условия, зависящего от результата сопоставления собственных убеждений агента, при условии, что выполнено логическое условие метода Rel; B – основной метод рассуждений агента, выполняемый в случае применимости плана.
Выделенные наиболее важные аспекты семантики визуальных моделей среды JACK гарантируют качественное их построение с помощью набора графических примитивов инструментария.
Процесс создания визуальных моделей агента и его ментальных составляющих является основополагающим, т.к. именно на этом этапе разработки агентной системы происходит переход на следующий, более низкий, уровень абстракции, и поэтому на этом этапе остановимся подробнее. Например, как определить, какие события он будет создавать самостоятельно (элементы множества РЕ), какие воспринимать для обработки (элементы множества НЕ), а какие передавать в окружающую среду (элементы множества SE)? На стадии АО анализа и проектирования разрабатываются следующие модели: модель ролей для описания должностных обязанностей всех ролей в виде активностей, протоколов, полномочий, обязательств; модель взаимодействий для описания основных видов общения между ролями в виде протоколов; модель агентов для определения типов агентов; модель функционирования для определения действий агентов и модель связей для отражения возможных коммуникаций между агентами. Поэтому возникает задача перехода от перечисленных моделей к визуальным моделям среды JACK для представления агента в виде событий, планов, убеждений.
Для успешного решения данной задачи следует придерживаться следующей методики отображения. При создании модели агента в JACK, все агентные типы для МАС берутся из модели агентов Gaia (рис. 1). Для каждого агентного типа с помощью базового графического примитива визуально создается агент со своим именем.
При создании в JACK модели агента определяются множества воспринимаемых и передаваемых событий HE, PE, SE. Определение событий является ключевым вопросом при создании агента, потому что его деятельность зависит от их возникновения (если события не происходят – агент бездействует). Если возникает событие, то у агента, во–первых, появляется желание (воспринимаемое как цель) обработать это событие и, во‑вторых, появляются новые убеждения об этом событии, которые играют определяющую роль при выборе агентом намерений в отношении его ответных действий.
Все желания, которые может иметь агент, в агентном языке JACK
определяются множеством воспринимаемых событий для обработки НЕ, в
котором выделяется два непересекающихся подмножества событий
– это множество РЕ и множество событий, воспринимаемых из
внешнего мира (элементы множества НЕ, не принадлежащие множеству РЕ).
Исходя из того, что все проявления деятельности агента определены
активностями и протоколами в модели ролей, то предшествующие им события
(множество РЕ) естественно определяются в соответствии с ними (рис. 1).
Например, для агента Студент это будут следующие события:
Получить допуск к работе
, Записаться
на изучение дисциплины
, Выбрать вид
занятия
, Запросить лекцию
,
Слушать лекцию
, Запросить тестовое
задание
, Выполнять тест
и др.
Множество событий, воспринимаемых из внешней среды, определяется в
соответствии с протоколами модели взаимодействий, в которых данный
агент является отвечающим (рис. 1).
Множество передаваемых во внешнюю среду событий SE определяется в соответствии с протоколами, в которых данный агент является инициатором взаимодействия. Таким образом, определяются воспринимаемые и передаваемые события для агента или, другими словами, его рецепторы и эффекторы.
При определении метода создания воспринимаемых агентом событий (элементов множества НЕ) необходимо выполнить следующее:
В результате выполнения вышеописанных действий разработаны модели воспринимаемых и отправляемых событий агента (рис. 1).
Намерения агента относительно его образа действий для
достижения поставленной цели определяются множеством планов PS, в
котором необходимо определить хотя бы по одному плану для каждого типа
событий из множества НЕ. На визуальном уровне план создается с помощью
графического примитива со своим именем. Далее план связывается с
предшествующим ему событием (Ev) и с самим агентом. В результате этих
действий у агента появляются намерения – замысел,
идеи
действовать определенным образом, чтобы
достичь поставленную цель в каждой сложившейся ситуации.
Каждый план представляет собой заранее намеченную последовательность действий, которую агент может выполнить в соответствующей ситуации. Ситуация определяется путем сопоставления состояния убеждений о воспринятом событии и собственных убеждений агента в методах плана Rel и C соответственно.
При определении множества планов действий агента для обработки каждого воспринимаемого события в зависимости от сложившейся ситуации следует исходить из того, что весь функциональный аспект агента зафиксирован в модели функционирования уровня Gaia для данного агентного типа. В этой связи, при создании конкретных планов для обработки различных ситуаций, возможных для события, следует использовать его функции, описанные в модели функционирования каждого агентного типа (рис. 1).
При составлении логических условий для методов Rel и С надо исходить из предусловий выполнения функций данной модели. Показателем успешности достижения цели агентом в результате применения плана, т.е. осуществления намерения, определяется в зависимости от выполнения постусловий соответствующей функции.
Если план связан с обработкой протокола взаимодействия, то в нём присутствует множество событий Sev, которое является подмножеством множества SE агента и уже содержится в модели событий агента.
Убеждения каждого агента разрабатываются по моделям ролей и функционирования (рис. 1).
Убеждения агента реализованы в виде Java объектов и конструкции BeliefSet языка JACK. С целью упрощения проекта и возможности повторного использования кода для реализации функциональных аспектов деятельности агентов использовались способности.
По разработанным в среде JACK визуальным моделям агентов, сгенерирован скелет программного Java кода для агентов и их ментальных свойств. Программный код для планов агентов был доработан в части реализации основных методов рассуждений В. Здесь были заложены функциональные знания, необходимые агенту для обработки событий.
Физические компоненты агентов представлены в виде классов с определенными отношениями между ними (рис. 2)
Созданные программные агенты образуют компьютерную обучающую среду, в которой реализуется квазиреальная учебно‑методическая деятельность преподавателей и студентов. С помощью агента‑визуализатора можно записывать и воспроизводить динамику взаимодействия агентов. На рис. 3 показана последовательность передаваемых сообщений при изучении студентом лекции и тестировании уровня усвоения им лекционного материала. Взаимодействие между виртуальными участниками учебного процесса по ментальности напоминает реально существующий диалог. В дальнейшем основное внимание будет уделено повышению уровня реализации ментальности, необходимой для качественного выполнения учебно‑методических обязанностей программными агентами.
Решена задача преобразования абстрактных моделей высокого уровня, полученных на стадии анализа по методологии Gaia, в модели более низкого уровня, упрощающих реализацию МАС с помощью инструментальной среды JACK. На основе составленной семантики визуальных моделей среды JACK разработана методика трансформации абстрактных моделей Gaia в физические концепты среды JACK, обеспечивающая качественное выполнение всех этапов разработки многоагентной системы. Рассмотренная методика применялась для создания виртуальной кафедры университета АО типа.
Информатика, кибернетика и вычислительная техника, выпуск 10 (153) – Донецк: ДонНТУ, 2009.
Проблемы моделирования и автоматизации проектирования динамических систем(МАП–2006), выпуск 5(116) – Донецк: ДонНТУ, 2006.