Факультет компьютерных наук и технологий
Специальность: Системное программирование
Моделирование на данный момент является наиболее дешевым, удобным, быстрым, безопасным способом верификации нового продукта от начала конструирования до самого процесса эксплуатации.
Сетевые динамические объекты (СДО) относятся к роду объектов, которые сложно осмыслить полностью без вспомогательных инструментов (таких как моделирование). Их состояние постоянно нелинейно изменяется во времени, физические размеры слишком велики, любые ошибочные операции могут привести к значительным расходам, авариям, даже к человеческим жертвам, поэтому моделирование СДО есть очень важной задачей, для решения которой необходим анализ, изучение, исследование, внедрение подходов к созданию надежных, быстрых и понятных пользователю моделей.
Агентно-ориентированный подход (АОП) программирования позволяет распараллелить процесс моделирования, при этом ускорить вычисления. С агентными подходом процесс вычислений выходит на более высокий уровень, т.к. агент – автономная программа, которая взаимодействуют с другими агентами для получения единого решения поставленной задачи. Задачу может задавать как пользователь, так и сам агент, который способен спланировать свои дальнейшие действия на основе баз убеждений, стратегии, расчетов, анализа получаемой информации — т.е. процесс становится автономным.
С СДО человек встречается в своей жизни постоянно, причем в различных сферах деятельности. Действительная тенденция развития современного информационнго мира заключается в ускоренной интеграции и слиянии больших динамических систем. А значит, проектирование, расчеты и моделирование надежных, быстрых СДО должны занимать первое место в деятельности людей.
АОП является актуальным и перспективным направлением в современном программировании также как в свою очередь был объектно-ориентированный подход (ООП) во времена структурного программирования. АОП позволяет перейти на более высокий уровень программирования симуляторов сетевых объектов с распределенными параметрами, привнести в АСУ более адекватную модель поведения.
Целью работы является разработка параллельных симуляторов для моделирования АСУ СДО с использованием агентно-ориентированного подхода, а также разработка самой системы автоматизации.
Главными задачами исследований и разработок являются:
Научная новизна состоит в новом способе разработки систем автоматизации СДО с помощью агентных технологий, причем данный подход можно использовать на разных уровях и компонентах систем автоматизированных динамических объектов.
Распараллеливание и распределение алгоритмов информационных систем традиционными методами имеет множество серьезных недостатков и ограничений:
— необходимость преодоления границ операционных систем, вызвана тем, что в распределенных системах применяются различные операционные системы, протоколы и интерфейсы;
— разнородность объектных моделей проявляется в том, что классы и объекты, построенные в различных инструментальных средах, имеют определенные отличия;
— сложности управления распределенными клиентами, особенно в условиях переменной конфигурации сети;
— методологические ограничения, связанные с использованием различных моделей и методов построения компонентов распределенных систем.
Распределенные объектные архитектуры (CORBA, Java RMI, DCOM, WEB-services) стремятся преодолеть указанные ограничения, но оставляют нерешенными следующие проблемы:
— необходимость перекомпиляции программных кодов при внесении изменений в объекты и интерфейсы;
— невозможность динамической адаптации поведения программных объектов в зависимости от состояний и поведения среды;
— невозможность работы в явной форме с моделями знаний, ценность в которых постоянно возрастает;
— накопление больших объемов информации, которые невозможно семантически обработать и представить в формах, удобных для восприятия и обработки.
Для решения подобных задач нужны новые подходы разработки систем. В связи с этим возникает парадигма агентно-ориентированных систем, использующих интеллектуальных агентов как высокоуровневую абстракцию для формализации и структуризации предметной области и как мощное программное средство для разработки и реализации сложных информационных систем.
Интеллектуальные агенты — новый класс программных и программно-аппаратных сущностей, которые действуют от имени пользователя, чтобы находить и обрабатывать информацию, вести переговоры в системах электронной торговли и услуг, автоматизировать выполнение рутинных операций и поддерживать решения трудных задач, сотрудничать с другими программными агентами при возникновении сложных проблем, снимая тем самым с человека избыточную информационную нагрузку.
Основными свойствами агентов считаются [1]:
— автономность — способность выполнять действия самостоятельно;
— гомогенность/гетерогенность — способность объединять однородные или разнородные функции;
— обучаемость и интеллект — машинное обучение, коррекция поведения для улучшения собственной эффективности;
— активное поведение — постоянный обмен информацией внутри агента и со средой;
— коммуникативность — обмен данными с другими агентами;
— восприятие среды — наличие специальных средств восприятия среды функционирования агента;
— мобильность — перемещение агента внутри других программных и физических сред.
АОП имеет ряд принципиальных отличий от уже традиционного объектно-ориентированного подхода (ООП) [1]. Агент представляет собой более сложную, активную и автономную единицу (рис. 1).
Рис.1 — Интеллектуальная работа агентов
(Анимация состоит из 6 кадров, 21Кб с задержкой 0.2 - 0.3 с между кадрами; задержка до повторного воспроизведения составляет 1.25с; воспроизводится циклически)
В ООП вычислительный процесс понимается как система, построенная из модулей, взаимодействующих друг с другом и имеющих собственные способы обработки входящих сообщений. А свою очередь, АОП уточняет эти рамки, фиксируя активность модулей-агентов и изменения их состояний через анализ убеждений, обязательств, намерений и т.д.
Наличие у агента механизма образования цели обеспечивает принципиально новый уровень автономности [10]. Агент не обязательно выполняет распоряжение любого другого агента или пользователя, а просто зависит от условий среды, включая цели и намерения других агентов. В отличие от объекта, агент может взять на себя определенные обязательства или, наоборот, отказаться от выполнения определенной работы, мотивируя это отсутствием компетентности, занятостью другой задачей т.д. В то же время агент может выполнять такие действия как порождение, удаление, изменение других агентов, активизация их функций, сценариев деятельности, запоминания текущего состояния других агентов.
Все это наглядно показывает, что агент, будучи «активным объектом», который формирует собственное поведение, находится на более высоком уровне сложности по отношению к традиционным объектам в ООП.
Моделирование сложных динамических систем в большинстве случаев необходимо как обязательная составляющая агентов управления и контроля за СДО. Блок моделирования позволяет агенту иметь в своем составе ментальную картину внешнего мира — объекта, который исследуется, контролируется. Таким образом агент или совокупность агентов могут рассчитывать и предвидеть последствия своих действий с объектом, исправляя ошибки и свои намерения [3]. Блок моделирования для распределенных сетевых систем также может состоять из агентов, имеющих данные о своем участке объекта. Агенты объединяются для совместного решения задачи —расчета потоков, давлений воздуха в различных частях вентиляционной сети.
Для разработки агентно-ориентированных систем существуют специальные библиотеки и компоненты для самых распространенных языков программирования, помогающие в создании и налаживании развитой системы агентов.
Наиболее известные проекты: AgentBuilder, Bee-gent, Cable, Decaf, FIPA-OS, Grasshopper, Gypsy, JADE, JASON, JAFMAS, MAML, ProcessLink, Swarm, Zeus.
Достаточно широкое применение получила платформа многоагентного программирования JADE (Java Agent Development Framework), полностью реализованная на языке Java. JADE упрощает разработку многоагентных систем благодаря использованию инструментов, поддерживающих фазы настройки и развертывания системы. Агентная платформа может устанавливаться на компьютерах с различными операционными системами, и конфигурироваться через удаленный GUI-интерфейс даже во время выполнения агентов.
Для платформы JADE разработана среда JADEX, которая представляет собой расширение многоагентной платформы. Эта среда предполагает гибридную реактивно-делиберативную архитектуру, в которой агент рассматривается как «черная шкатулка», которая принимает и отправляет сообщения. Основываясь на результатах обработки сообщений, внутренних и внешних событий, делиберативний механизм принимает решение о переходе к новому плану действий или продолжение старого. Действующий план может отправлять сообщения другим агентам, изменять базу убеждений, формировать новые цели и вызвать внутренние события. Система использует библиотеку планов, которые обрабатываются как Java-классы.
IDK поддерживает два вида визуального описания: язык AUML и методологию INGENIAS. AUML представляет собой расширение языка UML, специализированное для описания агентных систем. Методология INGENIAS основывается на определении набора метамоделей, описывающих поведение каждого агента, взаимодействие между агентами, организацию многоагентных систем, окружение, цели и задачи, определенные для каждого агента.
Методология предусматривает построение следующих метамоделей [9]:
— организационной метамодель, которая описывает архитектуру многоагентной системы и ее функции. Функции определяются на момент задания целей организации и порядка их выполнения;
— метамодель окружения, описывающая сущности, влияющие на восприятие агентов;
— метамодель целей и задач, описывающих изменения состояний агента во времени в зависимости от выполнения конкретных задач, пути достижения целей и действия, выполняемые в случае, если цель не может быть достигнута;
— метамодель агента, описывающая поведение каждого агента;
— метамодель взаимодействия, описывающая поведение двух и более взаимодействующих агентов. В зависимости от языка описания она может быть представлена в виде UML-диаграммы кооперации или AUML-диаграммы.
Полученное в виде метамоделей описание многоагентной системы может обрабатываться соответствующими модулями. Поведение агентов определяется их целями и задачами, а также взаимодействием между ними [3]. Цели в свою очередь могут разбиваться на более простые цели, которые могут достигаться определенными последовательностями задач. Совокупность задач и взаимодействий определяет глобальное поведение системы. На основе всего описания системы происходит генерация кода. Полученное описание может быть использовано для создания программного кода многоагентной системы под конкретную платформу.
Таким образом, все рассмотренные программные продукты способны помочь разработчику систем моделирования сетевых динамических объектов с распределенными параметрами на высшем уровне программирования.
Результатом работы будет разработанная система автоматизации СДО с помощью использования агентного подхода. А также связанная с ней система моделирования самой системы. Результаты могут быть применены в угольной промышленности.
Данная работа будет выполнена в рамках сотрудничества со Штутгартским университетом и будет способствовать дальнейшему плану поддержания и развития научного сотрудничества.
Тема моделирования СДО достаточно хорошо изучена. В ДонНТУ написано множество магистерских работ, диссертаций, в которых так или иначе проводится обзор, разработка тем моделирования.
Однако, необходимо идти в ногу со временем и переходить к решению задач, которые поставлены мировым обществом, а именно к внедрению агентных технологий в научные разработки, и приступать к главнейшей цели - исследованию проблем реализации параллельной моделирующей среды, и с этим вопросом помогут разобраться агентные технологии.
Результаты поиска полной темы выпускной работы в мире показали, что разработки с использованием агентных технологий встречаются крайне редко в пределах СНГ и Украины (например, в России есть разработки для анализа экономики и рынка с использование АОП). В США и странах Европы данному вопросу уделяют большое внимание. Но все же тема магистерской работы фактически не имеет аналогов и претендует на новизну в научном мире. В процессе поиска полезной информации по теме магистерской работы был сформирован перечень ссылок, с которым можно ознакомитьсяв соответсвующем разделе.
В работе были рассмотрены основные принципы функционирования агентных технологий, необходимость использования данного подхода для создания АСУ СДО.
В Украине не много статей, посвященных исследованию использования агентных технологий. В этой работе было доказано, что новая технология является очень перспективной, так как позволяет перейти на качественно новый уровень инженерии и программирования, увеличить надежность, скорость и интерактивность средств моделирования сложных динамических систем.
На момент написания реферата магистерская работа находилась на этапе разработки. Данный автореферат может отличаться от окончательной версии реферата в магистерской работе.