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

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

  • взаимодействие агентов;
  • передача сообщений между агентами внутри платформы (на различных уровнях: на уровне сетевых пакетов, сообщений какого-либо языка общения, протоколов общения) и между разными платформами;
  • поддержка онтологий;
  • управление агентами, их жизненными циклами;
  • поиск агентов и данных о них внутри системы;
  • безопасность.

Наиболее известны следующие агентные платформы для разработки:

  • JADE (Java Agent Development Framework);
  • Coguaar (Cognitive Agent Architecture) — самый крупный проект, поддерживается DARPA (Defense Advanced Research Projects Agency — агентство передовых оборонных исследовательских проектов);
  • Aglobe  – обладает недостаточной поддержкой FIPA-рекомендаций;
  • Jason -использует собственный язык AgentSpeak для описания агентов;
  • Jack.

Кроме агентных платформ для программирования агентов могут применяться:

  • универсальные языки (Java, C++ , Visual Basic, C# );
  • языки представления знаний (SL, KIF);
  • языки переговоров и обмена знаниями (KQML, AgentSpeak, April);
  • языки сценариев (Tcl/Tk, Python, Perl 5);
  • специализированные языки (TeleScript, COOL, Agent0, AgentK);
  • символьные языки и языки логического программирования (Oz, ConGolog, IMPACT, Dylog, Concurrent METATEM);
  • а также другие языки и средства разработки агентов.

В качестве  критериев выбора средств разработки МАС можно использовать, следующий набор критериев:

  • a-критерий: возможность создания систем агентов, способных интегрировать в Windows-приложения;
  • b- критерий: наличие операторов для временных выражений, поскольку агенты должны своевременно реагировать на действия;
  • c-критерий: поддержка архитектуры стиля BDI, так как предполагается наличие у  агента знаний о желаниях, убеждениях, намерениях пользователя;
  • d-критерий: наличие операторов для реализации коммуникаций;
  • e-критерий: Специализация. Проблемно/предметно специализированные средства обеспечивают сокращение сроков разработки приложений, увеличивают эффективность использования инструментария, упрощают и ускоряют работу программиста, позволяют повторно использовать информационное и программное обеспечение (объекты, классы, правила, процедуры);
  • f-критерий: наличие конструкций для реализации модульностей из-за сложности программ  агентов;
  • g- критерий: обеспечение четкой семантики.

Сравнение средств программирования агентов показано в Таблице 1:

Таблица 1 Сравнение средств программирования агентов по критериям (a-g)

Для реализации агентов наиболее важными являются критерии a),b),e),f),g). Этим критериям удовлетворяют многие средства реализации агентов.

В качестве основного критерия предлагается использовать вид предметной области,  для исследования которой применяется МАС, что позволить придать практическую значимость дальнейшим исследованиям. Будет рассматриваться МАС для аудита и оценки защиты информации в СУБД Microsoft SQL Server 2005. Важным критерием выбора средства разработки в этом случае  будет выступать возможность интеграции разработанного продукта в СУБД и взаимодействие с ней. Таким образом «a-критерий» является важным критерием при выборе средства реализации МАС, обеспечивающий возможность интеграции с MS SQL Server 2005, т.е.  разработку МАС на базе платформы Microsoft.NET.

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