- •Часть 4. Агентные системы
- •4.1. Структура и функции агента
- •4.2. Архитектура агента
- •4.3. Мультиагентные системы и виртуальные организации
- •4.3.1. Компоненты, кооперация и конкуренция в мас
- •4.3.2. Доска объявлений
- •4.3.3. Протоколы переговоров агентов
- •4.4. Элементы теории агентных систем
- •4.5. Технологии проектирования мас
4.5. Технологии проектирования мас
В МАС используется клиент-серверная архитектура типов «толстый клиент – тонкий сервер» и «тонкий клиент – толстый сервер». Может применяться статический подход, при котором осуществляется передача данных, и динамический подход, обеспечивающий также передачу программного кода.
Динамический подход опирается на парадигму мобильных агентов, которые могут перемещаться по сети. Они могут покидать клиентский компьютер и перемещаться на удаленный сервер для выполнения своих действий, после чего могут возвращаться обратно. Использование мобильных агентов оправдано в тех случаях, когда они обеспечивают следующие возможности:
уменьшение времени и стоимости передачи данных;
расширение ограниченных локальных ресурсов;
облегчение координации;
выполнение асинхронных вычислений.
Проблемы использования мобильных агентов:
Легальность способов перемещения объектов по сети.
Верификация агентов (например, защита от вирусов.
Соблюдение прав частной собственности.
Сохранение конфиденциальности информации.
Перенаселение сети агентами.
Несовместимость кода агента и программно-аппаратных средств сетевой машины.
Для реализации МАС, основанных на распределенных приложениях, используются технологии DCOM,JavaRMI(RemoteMethodInvocation),CORBA(CommonObjectRequestBrokerArchitecture).
Программное средство AgentBuilder(ReticularSystems) предназначено для разработки МАС на основеJava-программ, исполняемых на любо компьютере, где установлена виртуальнаяJava-машина (VirtualJavaMachine).
Схема проектирования и реализации приложений на основе AgentBuilderToolKit.
Модель жизненного цикла создаваемых агентов включает следующие этапы:
обработку новых сообщений;
определение правил поведения;
выполнение действий;
обновление ментальной модели (ментальных свойств) в соответствии с заданными правилами;
планирование действий.
Правила поведения в AgentBuilderреализуются на специальном ОО языкеRADL(ReticularAgentDefinitionLanguage) в виде конструкцииWhen-If-Then. Составные части этого правила выполняют следующие функции:
Name<RuleName> содержит наименование правила;
When<MessageConditions> содержит новые сообщения, полученные от других агентов;
If<MentalConditions> сравнивает текущую ментальную модель с условиями применимости правила;
Then<PrivateActions,MentalChanges,MessageActions> определяет действия, соответствующие текущим событиям, ментальной моделии состоянию внешнего окружения.
Язык RADLосновывается на продукционно-фреймовом хранении знаний и данных.
Недостатком AgentBuilderназывают отсутствие средств явного управления логическим выводом.