1.2 Описание инструментария для создания программных агентов - Средства для создания программных агентов
Для создания программных агентов используют языки описания и реализации, которые удобно представить в виде многослойной структуры, включающей пять слоев:
- 1. языки и программные средства реализации агентов; 2. языки коммуникации агентов; 3. языки описания поведения агентов и законов среды; 4. языки представления и управления знаниями; 5. языки формализации и спецификации агентов и мультиагентных систем (МАС).
К средствам взаимодействия агентов относятся языки коммуникации агентов (FIPA ACL, KQML). Язык коммуникации агентов обеспечивает обмен знаниями и информацией между агентами. FIPA ACL в отличии от таких средств как RPC, RMI, CORBA, обеспечивающих обмен информацией между приложениями, имеет более сложную семантику и обладает следующими преимуществами:
- - FIPA ACL управляет суждениями, правилами, действиями, а не семантически не связанными объектами; - сообщения FIPA ACL описывает ожидаемое состояние, а не процедуру или метод.
Однако ACL не охватывают полный спектр объектов, которыми могли бы обмениваться агенты, например планы, цели, опыт, стратегии. На техническом уровне, при использовании ACL, агенты транспортируют сообщения по сети, используя протоколы низшего уровня, например SMTP, TCP/IP, POP3, или HTTP.
Язык взаимодействия агентов (ACL) должен позволять передавать информацию любого вида между различными агентами. Имеются два подхода к проектированию языков взаимодействия агентов:
- 1. Процедурный, включает обмен процедурными директивами/командами. Это может быть реализовано используя такие языки программирования как Java или Tcl. 2. Декларативный, где связь основана на декларативных инструкциях, типа определений, предположений, знаний, и т. п.
Из-за ограничений на процедурные подходы (например, такие сценарии трудно координировать, объединить), декларативные языки были предпочтены для создания языков взаимодействия агентов. Одни из наиболее популярных декларативных языков - KQML со своими диалектами и FIPA ACL.
В контексте практического построения агентов и МАС главную роль играют инструментальные средства программирования и коммуникации агентов. Языки коммуникации (ACL, KQML) и координации агентов (AgenTalk) обеспечивают согласованное взаимодействие агентов -- циркуляцию информации, передачу запросов услуг, реализуют механизмы переговоров, поддерживают сотрудничество между агентами, направленное на достижение общей цели и, как следствие, формирование коллективов агентов. Эти языки можно рассматривать как многоуровневые структуры, включающие уровень представления знаний, уровень переговоров или координации, уровень стратегий коммуникации, и т. п. Так язык KQML (Knowledge Query and Manipulation Language), служащий для поддержки взаимодействия агентов в распределенных приложениях, опирается на специальный протокол переноса знаний SKTP (Simple Knowledge Transfer Protocol). В свою очередь, язык ACL (Agent Communication Language), претендующий на роль стандарта для коммуникации агентов, состоит из трех частей-- словаря, "внутреннего языка" KIF (Knowledge Interchange Format) и "внешнего языка" KQML. Сообщение, передаваемое на языке ACL, может трактоваться как KQML-выражение, "аргументами" которого выступают предложения в формате KIF, построенные из элементов словаря ACL [Genesereth and Ketchpel, 1994].
Программные средства, применяемые для реализации агентов, делятся на три основных класса:
- 1. языки программирования; 2. библиотеки разработки агентов; 3. среды разработки агентов.
При программировании агентов чаще всего применяются языки объектно-ориентированного программирования (Си++, Java), реже используются символьные языки и языки логического программирования (LISP, Oz).
Среди существующих библиотек агентов можно выделить Intelligent Agent Library -- коммерческий продукт фирмы Bits й Pixels, систему Кайса, разработанную фирмой Fujitsu и Agentx -- сеть высокоэффективных библиотек распределенных вычислений в программной среде Java, предложенную фирмой International Knowledge Systems. Библиотека интеллектуальных агентов Intelligent Agent Library представляет собой набор средств, предназначенных для обеспечения коммуникации агентов и построения их групп. Она основана на языке KQML и содержит иллюстративные примеры агентов, функционирующих в Web-приложениях. Эта библиотека поддерживает разработку мобильных агентов.
Одной из самых известных и уже зарекомендовавших себя интегрированных сред для разработки интеллектуальных программных агентов является AgentBuilder фирмы Reticular Systems, Inc. Это средство состоит из двух основных компонентов: инструментария (Toolkit) и исполнительной системы. Инструментарий вкпючает:
- 1. средства управления процессом разработки программного обеспечения, основанного на агентах; 2. средства анализа области функционирования агента; 3. средства проектирования и разработки сетей из взаимодействующих агентов; 4. средства моделирования поведения отдельных агентов; 5. средства отладки и тестирования программных агентов.
Исполнительная система содержит машину агента (agent engine), формирующую среду для реализации программных агентов. Агенты, разработанные с помощью среды AgentBuilder, взаимодействуют на языке KQM L, в основе которого лежат примитивные действия -- перформативы.
Назначение инструментального средства (ИС) AgentBuilder состоит в том, чтобы предоставить разработчику программного обеспечения, основанного на агентах, интегрированную среду, которая позволяет быстро и легко создавать интеллектуальных агентов и сложные программы на их основе. Агенты, созданные с помощью AgentBuilder, могут быть реализованы на любой виртуальной Java-машине.
В таблице 1 приведены примеры средств для разработки агентов.
Таблица 1. Примеры средств разработки агентов
Название языка (средства разработки) |
Краткая характеристика / назначение |
AgenTalk |
Средство для разработки автономных мобильных агентов на базе языка сценария Tcl с поддержкой Tk - инструментария для создания графического интерфейса |
АgentTool |
Агентная структура на базе Java. Использование GUI для конструирования системы |
FIPA-OS |
Реализация элементов, содержавшихся в FIPA-специ - фикации по взаимодействию агентов. Java-реализа - ция архитектуры для разработки агентов |
Echelon |
Средство для разработки агентов в сети LonWorks |
JAFMAS |
Программа, обеспечивающая создание мультиагент - ной системы на Java. Поддерживает межагентное общение на KQML |
Remembrance Agents |
Средство для разработки агентов, наблюдающих за пользователем и предлагающих информацию, необ - ходимую в данный момент |
Ummon |
Средство для создания самообучающегося агента. Содержит методы ИИ для достижения "человеческо - го" общения |
Virtual Secretary Project (ViSe) |
Создание модели пользователя на основе интеллек - туальных агентов для выполнения секретарских задач (технология Tcl/TclX/Tix/Tk) |
В таблице 2 приведено сравнение параметров отдельных инструментальных средств, обозначенных в таблице 1, которые используются для разработки агентов.
Таблица 2
Сравнение параметров инструментальных средств разработки агентов
Параметр |
Наименование инструментальных средств | |||||
JAFMAS |
Agen Talk |
Agent Tcl |
Telescript |
Swarm |
Echelon | |
Язык разработки |
Java |
Lisp |
Tcl |
Telescript |
Objective C |
Silicon chip |
Поддержка ОС |
Все |
UNIX |
UNIX |
UNIX |
UNIX |
Echlon chip |
Реализация агента |
Программная |
Программная |
Программная |
Программная |
Программная |
Аппаратная |
Объектно-ориентированное про - граммирование |
+ |
- |
- |
+ |
+ |
+ |
Наличие у агента своего плана действий |
+ |
- |
+ |
+ |
+ |
+ |
Коммуникационный протокол |
TCP/IP и UDP/IP |
TCP/IP |
TCP/IP |
TCP/IP |
TCP/IP |
TCP/IP |
Мобильность агентов |
+ |
- |
- |
- |
- |
- |
Анализ табл. 3 и 4 показал, что средства для разработки агентов можно условно разделить на две группы: средства, построенные на базе языка Java, и средства, построенные на базе других языков. Средства первой группы предназначены для разработки сетевых приложений на базе мобильных агентов, взаимодействующих через протокол TCP/IP.
Похожие статьи
-
2.1 Среды разработки для построения программных агентов Инструментальные средства разработки программных агентов формируют среду, которая оптимизирована...
-
Для программирования агентов могут применяться: универсальные языки (Java, C++ , Visual Basic и др.), языки представления знаний (SL, KIF), языки...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
2.2 Модель программного агента ресурсов - Средства для создания программных агентов
Программный агент в мультиагентной системе имеет свое описание в виде BDI модели, которая содержит его знания, планы и цели, которые агент выполняет по...
-
1.5 Архитектура мультиагентных приложений - Средства для создания программных агентов
В общем случае среда, в которой действует агент, имеет определенное поведение, которое может быть известно полностью или частично. Состояние среды...
-
1.4 Средства спецификаций типовых моделей - Средства для создания программных агентов
Рассмотрим типовую модель, которая получила название Reticular Agent Mental Model (RAMM) и является развитием модели Шохама (Shoham), где все действия...
-
3.2 Построение модели программного агента - Средства для создания программных агентов
В данной работе для построения программного модуля используется технология Jadex, которая позволяет моделировать BDI агентов с наборами фактов, целей,...
-
Система Windows NT не является дальнейшим развитием ранее существовавших продуктов. Ее архитектура создавалась с нуля с учетом предъявляемых к...
-
3.1 Описание программного модуля Jadex - это агент, ориентированный на собственный механизм принятия решений, взаимодействуя с XML и Java файлами,...
-
1.1 Анализ существующих программных агентов Согласно классическому определению, программный агент -- это программа-посредник. Эти посредники...
-
Обоснование выбора средств для разработки В качестве платформы была взята платформа NET, потому что платформа NET на текущий момент самая передовая и...
-
При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов....
-
Программные средства создания растровых изображений Среди программ, предназначенных для создания компьютерной двумерной живописи, самыми популярными...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
Для реализации поставленной задачи методом конечных элементов будут использованы следующие программные обеспечения (ПО): - MATLAB - ПО и одноименный язык...
-
Очередность разработки Системы А) разработка программного обеспечения для ввода, редактирования и актуализации контента, синхронизации с хранилищем...
-
Adobe Dreamweaver Adobe Dreamweaver - это HTML-редактор от компании Adobe, который на сегодняшний день очень известный. Первая его версия была выпущена в...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Особенностью API для коммуникации с СКУД является то, что авторизация методов происходит не с помощью токена, а с помощью проверки IP адреса клиента на...
-
Для определения выплат по займу используется финансовая функция ПЛТ (Ставка, КПер, Пс, Бс, Тип). Определим значения параметров функции ПЛТ: Ставка =9%...
-
Разработка приложений ведется на языке Java, для этого потребуется специальное программное обеспечение. Самые новые версии системного программного...
-
Краткая характеристика Microsoft Access. Microsoft Access является настольной СУБД (система управления базами данных) реляционного типа. Достоинством...
-
Учебный процесс в ННГАСУ сопровождается значительной информационной базой, развитием компьютерного парка и внедрением в образовательный процесс...
-
Программные средства защиты - Инженерно-техническая защита объектов
Системы защиты компьютера от чужого вторжения весьма разнообразны и классифицируются, как: Средства собственной защиты, предусмотренные общим программным...
-
Ввиду того, что для языка JAPE не предусмотрен специализированный редактор, разработчики рекомендуют использовать Vim[10] или Eclipse[11], ассоциировав...
-
Платные услуги для ПО с открытым исходным кодом - Свободное программное обеспечение
Для устранения недостатков open source пользователи продуктов объединяются вокруг каждого подобного проекта в сообщества, которые осуществляют...
-
Введение - Разработка веб-редактора для описания лексико-семантических шаблонов на визуальном языке
Объем неупорядоченной и неструктурированной текстовой информации неуклонно растет, поэтому задача ее быстрой и качественной обработки актуальна сегодня...
-
Общие сведения Данное программное средство должно помочь в расчете коммунальных услуг, упростить ввод данных о квартиросъемщике и ЖЭС, осуществлять...
-
Появление на рынке систем управления электронными документами - EDMS (Electronic Document Management Systems) вызвано стремлением сократить поток...
-
Для разработки программного продукта нами была выбрана СУБД Microsoft Access 2010, которая позволяет выполнять простейшие операции с данными: Ѕ добавить...
-
Выбор инструментария разработки ЭОМ Электронный учебный пособие издание Исследование проблемы создания и применения электронных учебников на сегодняшний...
-
Проектирование и разработка сайта Средства разработки Язык гипертекстовой разметки HTML В Интернете сосредотачивается и передается достаточно большое...
-
Введение: - Классификация программ для ПК: системные и прикладные программные средства
На сегодняшний день в мире существует более 130 миллионов ком-пьютеров и бо-лее 80 % из них объединены в различные информационно-вычислительные сети от...
-
Обобщенный алгоритм решения задачи Необходимо рассчитать, какую сумму денежных средств внесет лицо, производящее оплату по 1 000 рублей ежеквартально под...
-
Разработать и создать аналог системной утилиты "Диспетчер задач" по дисциплине "Системное программирование". "Диспетчер задач" должен содержать следующие...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Основой системы будут два независимых модуля. Первый будет разрабатываться для формирования контента системы, этот модуль будем называть Редактор. Второй...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
В ходе работы были достигнуты следующие результаты: Проведен обзор платформы GATE и языка для описания лексико-семантических шаблонов JAPE. Выявлена...
-
Проектирование визуальных конструкций Вторая глава описывает процесс трансформации текстового языка JAPE в визуальный язык, который позволит описывать...
1.2 Описание инструментария для создания программных агентов - Средства для создания программных агентов