Анализ существующих программных агентов, описание инструментария. Языки программирования и платформы для создания программных агентов. Средства спецификаций типовых моделей. Архитектура мультиагентных приложений. Модель программного агента ресурсов.
Средства для создания программных агентовЭти посредники взаимодействуют с пользователями или другими программами и смыслом этого взаимодействия является выполнение каких-либо действий от имени пользователя или другой программы. Можно дать и другое относительно свободное определение программного агента, в котором агент выступает в качестве самодостаточной программы, которая способна контролировать свое собственное принятие решений и действий, основываясь на собственном восприятии своего окружения, и которые направлены на реализацию одной или нескольких целей. Существует несколько подходов к определению понятия программного агента, но общая идея заключается в том, что агенты более автономны, чем объекты. Агент обладает автономностью в плане выбора задач и приоритетов, а так же агенту свойственно гибкое поведение. Мультиагентные системы - это системы, состоящие из автономных интеллектуальных агентов, взаимодействующих друг с другом и пассивной среды, в которой агенты существуют и на которую также могут влиять.Для создания программных агентов используют языки описания и реализации, которые удобно представить в виде многослойной структуры, включающей пять слоев: языки и программные средства реализации агентов; К средствам взаимодействия агентов относятся языки коммуникации агентов (FIPA ACL, KQML). Язык коммуникации агентов обеспечивает обмен знаниями и информацией между агентами. Языки коммуникации (ACL, KQML) и координации агентов (AGENTALK) обеспечивают согласованное взаимодействие агентов - циркуляцию информации, передачу запросов услуг, реализуют механизмы переговоров, поддерживают сотрудничество между агентами, направленное на достижение общей цели и, как следствие, формирование коллективов агентов. Так язык KQML (Knowledge Query and Manipulation Language), служащий для поддержки взаимодействия агентов в распределенных приложениях, опирается на специальный протокол переноса знаний SKTP (Simple Knowledge Transfer Protocol).Для программирования агентов могут применяться: универсальные языки (Java, C , Visual Basic и др.), языки представления знаний (SL, KIF), языки переговоров и обмена знаниями (KQML, AGENTSPEAK, April), языки сценариев (Tcl/Tk, Python, Perl 5 и др), специализированные языки (TELESCRIPT, COOL, Agent0, AGENTK и др.), символьные языки и языки логического программирования (Oz, CONGOLOG, IMPACT, Dylog, Concurrent METATEM, Ehhf и др.), а также другие языки и средства разработки агентов. Инструментальные средства второй группы, в основном, предназначены для проектирования сложных динамических агентных структур и реализации сред, хотя имеются отдельные экземпляры для создания мобильных приложений (Telescript, Agent Tcl). Однако такие средства имеют слабые возможности по согласованию и сотрудничеству между агентами и работают на ограниченном количестве платформ, поскольку язык программирования - не унифицированный. Этот язык используется в качестве языка взаимодействия в различных многоагентных системах и средах для их программирования, таких как Agent-K, LALO, Java(tm) Agent Template (JATLITE). В отличие от языков KIF и SL, язык XML не представляет информацию в виде логических выражений, а использует другие типы структур.В рамках RAMM эта идея расширена до уровня общих правил поведения, которые определяют причину действия агента в каждой точке его функционирования. Для спецификации поведения агентов в системе AGENTBUILDER используется специальный объектно-ориентированный язык RADL (Reticular Agent Definition Language). На рисунке 1.4 представлена модель "жизненного цикла" агента в системе AGENTBUILDER. Спецификация поведения агентов и их ментальных моделей составляет специальный файл (agent definition file), который используется совместно с классами и методами из библиотеки действий агентов и библиотеки интерфейсов. Если найденный агентом лучший вариант уже забронирован другим агентом, агенты оказываются способны выявить конфликт и разрешить его путем переговоров, в ходе которых достигается компромисс, отражающий временное, и, как правило, неустойчивое равновесие (баланс) их интересов.На основе предлагаемых системой Bee-gent графических средств, возможна четкая структуризация поведения каждого агента в виде графа состояний и определение протоколов взаимодействий агентов. Если агент взаимодействует с другими агентами, то при спецификации отдельных состояний система Bee-gent предусматривает определение протокола взаимодействия. Таким образом, на основе разработанных логических моделей, система Bee-gent автоматически генерирует на языке Java скелет программного кода многоагентной системы, который дополнятся необходимым программным кодом, обеспечивающим заданный "жизненный цикл" агентов. Декларация #uses agent implementing закрепляет агента(ов), которые могут использовать этот план. Если агента рассматривать как аналог личности, то набор планов описывает шаги, которые агент должен выполнить при возникновении определенного события или желании достичь определенного результата.
План
Содержание
Глава 1. Анализ предметной области
1.1 Анализ существующих программных агентов
1.2 Описание инструментария для создания программных агентов
1.3 Языки программирования и программные платформы для создания программных агентов
1.4 Средства спецификаций типовых моделей
1.5 Архитектура мультиагентных приложений
Выводы по 1 главе
Глава 2. Особенности разработки программных агентов
2.1 Среды разработки для построения программных агентов
2.2 Модель программного агента ресурсов
Выводы по 2 главе
Глава 3. Развитие программных агентов и средств из разработки
3.1 Описание программного модуля
3.2 Построение модели программного агента
3.3 Влияние программных агентов на развитие экономики
Выводы по 3 главе
Приложение
Глава 1. Анализ предметной области
1.1 Анализ существующих программных агентов
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы