RUS | ENG | | ДонНТУ > Портал магістрів ДонНТУ
Магістр ДонНТУ Дудін Тимур Сергійович

Дудін Тимур Сергійович

Факультет комп'ютерних наук і технологій
Спеціальність: Системне програмування

Тема випускної роботи:

Застосування агентних технологій для дослідження мереж з розподіленими динамічними параметрами.

Науковий керівник: Святний Володимир Андрійович


Матеріали по темі випускної роботи: Про автора

Реферат з теми випускної роботи


Вступ

Моделювання на даний момент є найбільш дешевим, зручним, швидким, безпечним способом верифікації нового продукту від початку конструювання до самого процесу експлуатації.

Мережеві динамічні об'єкти (МДО) відносяться до роду об'єктів, які складно осмислити повністю без допоміжних інструментів (таких як моделювання). Їх стан постійно нелінійно змінюється в часі, розміри фізичні занадто великі, будь-які помилкові операції можуть призвести до значних витрат, аварій, навіть до людських жертв, тому моделювання СДО є дуже важливим завданням, для вирішення якої необхідний аналіз, вивчення, дослідження, впровадження підходів до створення надійних, швидких і зрозумілих користувачеві моделей.

Агентно-орієнтований підхід (АОП) програмування дозволяє розпараллелити процес моделювання, при цьому прискорити обчислення. З агентних підходом процес обчислень виходить на більш високий рівень, тому що агент - автономна програма, яка взаємодіє з іншими агентами для отримання єдиного рішення поставленої задачі. Завдання може задає як користувач, так і сам агент, який здатний спланувати свої подальші дії на основі баз переконань, стратегії, розрахунків, аналізу одержуваної інформації - тобто процес стає більш автономним.

Актуальність теми

З МДО людина зустрічається постійно у різних сферах своєї діяльності. Дійсна тенденція розвитку сучасного інформаціоннго світу полягає у прискореній інтеграції і злиття великих динамічних систем. А значить, проектування, розрахунки та моделювання надійних, швидких систем СДО повинні займати перше місце в діяльності людей.

АОП є актуальним і перспективним напрямком у сучасному програмуванні також як у свою чергу був об'єктно-орієнтований підхід (ООП) за часів структурного програмування. АОП дозволяє перейти на більш високий рівень програмування симуляторів мережевих об'єктів з розподіленими параметрами, привнести в АСУ більш адекватну модель поведінки.

Мета і завдання роботи

Метою роботи є розробка паралельних симуляторів для моделювання АСУ МДО з використанням АОП, а також розробка самої системи автоматизації.

Головними завданнями досліджень і розробок є:

Наукова новизна

Наукова новизна полягає в новому способі розробки систем автоматизації МДО за допомогою агентних технологій, причому даний підхід можна використовувати на різних рівнях і компонентах систем автоматизованих динамічних об'єктів

Принципи агентного підходу до розробки паралельних симуляторів

Розпаралелювання і розподіл алгоритмів інформаційних систем традиційними методами має безліч серйозних недоліків і обмежень:

— необхідність подолання кордонів операційних середовищ, викликана тим, що в розподілених системах застосовуються різні операційні системи, протоколи та інтерфейси;

— різнорідність об’єктних моделей проявляється в тому, що класи і об’єкти, побудовані в різних інструментальних середовищах, мають певні відмінності;

— труднощі керування розподіленими клієнтами, особливо в умовах змінної конфігурації мережі;

— методологічні обмеження, пов’язані з використанням різних моделей та методів побудови компонентів розподілених систем.

Розподілені об’єктні архітектури (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 створює чергу і керує потоком ACL-повідомлень, які є приватними для кожного агента. Агенти здатні звертатися до черги за допомогою комбінації декількох режимів роботи: блокування, голосування, перерви в роботі й зіставлення з еталоном.

Для платформи JADE розроблено середу JADEX, яка являє собою розширення багатоагентної платформи. Це середовище передбачає гібридну реактивно-делібератівную архітектуру, в якій агент розглядається як «чорна скриня», що приймає і відправляє повідомлення. Ґрунтуючись на результатах обробки повідомлень, внутрішніх і зовнішніх подій, делібератівний механізм приймає рішення про перехід до нового плану дій або продовження старого. Чинний план може надсилати повідомлення іншим агентам, змінювати базу переконань, формувати нові цілі і викликати внутрішні події. Система використовує бібліотеку планів, які обробляються як Java-класи.

Певний інтерес викликає інструментарій INGENIAS Development Kit (IDK). IDK являє собою набір інструментальних засобів для опису, перевірки та реалізації багатоагентних систем. Надане середовище розробки є функціонально замкнутим та платформно-незалежним за рахунок реалізації на мові Java. Функціональна замкнутість виявляється в тому, що середовище дозволяє здійснювати повний цикл проектування системи — від візуального опису до фінального моделювання.

IDK підтримує два види візуального опису: мову AUML і методологію INGENIAS. AUML являє собою розширення мови UML, спеціалізоване для опису агентних систем. Методологія INGENIAS ґрунтується на визначенні набору метамоделей, що описують поведінку кожного агента, взаємодію між агентами, організацію багатоагентних систем, оточення, цілі та завдання, що визначені для кожного агента.

Методологія передбачає побудову наступних метамоделей [9]:

— організаційної метамоделі, яка описує архітектуру багатоагентної системи та її функції. Функції визначаються на момент завдання цілей організації і порядку їх виконання;

— метамоделі оточення, які описують сутності, що впливають на сприйняття агентів;

— метамоделі цілей та завдань, що описують зміни станів агента в часі залежно від виконання конкретних завдань, шляхи досягнення цілей і дії, що виконуються у разі, якщо мета не може бути досягнута;

— метамоделі агента, що описують поведінку кожного агента;

— метамоделі взаємодії, що описують поведінку двох і більше взаємодіючих агентів. В залежності від мови опису вона може бути представлена у вигляді UML-діаграми кооперації або AUML-діаграми.

Отриманий у вигляді метамоделей опис багатоагентної системи може оброблятися відповідними модулями. Поведінка агентів визначається їх цілями і завданнями, а також взаємодією між ними [3]. Цілі в свою чергу можуть розбиватися на більш прості цілі, які можуть досягатися певними послідовностями завдань. У INGENIAS будь-яка взаємодія починається з завдання. Сукупність завдань і взаємодій визначає глобальна поведінка системи. На основі всього опису системи відбувається генерація коду. Отриманий опис може бути використано для створення програмного коду багатоагентної системи під конкретну платформу.

Розглянуті програмні продукти повинні допомогти розробнику систем моделювання АСУ МДО з розподіленими параметрами на вищому рівні програмування.

Огляд досліджень по темі

Тема моделювання динамічних об'єктів досить добре вивчена. У ДонНТУ написано безліч магістерських робіт, дисертацій, в яких так чи інакше проводиться огляд, розробка тем моделювання.

Однак, необхідно йти в ногу з часом і переходити до вирішення завдань, які поставлені світовим суспільством, а саме до впровадження агентних технологій в наукові розробки, і приступати до найголовнішої мети - дослідженню проблем реалізації паралельної моделюючого середовища, і з цим питанням допоможуть розібратися агентних технологій.

Результати пошуку повної теми випускної роботи в світі показали, що розробки з використанням агентних технологій зустрічаються вкрай рідко в межах СНД і України (наприклад, в Росії є розробки для аналізу економіки і ринку з використання АОП). У США і країнах Європи даному питанню приділяють велику увагу. Але все ж тема магістерської роботи фактично не має аналогів і претендує на новизну в науковому світі. Посилання на корисну інформацію з теми магістерської роботи приведені у розділі посилань.

Плановані практичні результати

Результатом роботи буде розроблена система автоматизації СДО з допомогою використання агентного підходу. А також пов'язана з нею система моделювання самої системи. Результати можуть бути застосовані у вугільній промисловості.

Дана робота буде виконана в рамках співпраці зі Штутгартським університетом і буде сприяти подальшому плану підтримки і розвитку наукового співробітництва.

Висновки

У роботі були розглянуті основні принципи функціонування агентних технологій, необхідність використання даного підходу для створення АСУ МДО.

В Україні не багато статей, присвячених дослідженню використання агентних технологій. У цій роботі було доведено, що нова технологія є дуже перспективною, тому що дозволяє перейти на якісно новий рівень інженерії та програмування, збільшити надійність, швидкість і інтерактивність засобів моделювання складних динамічних систем.

На момент написання реферату магістерська робота знаходилася на етапі розробки. Даний автореферат може відрізнятися від остаточної версії реферату в магістерській роботі.

Література

  1. Камерон Х.,Трейси Х. Агентно-ориентированное программирование. Параллельное и распределенное программирование с использованием С++ : - Вильямс, 2004. - 668 с.
  2. Святний В.А., Молдованова О.В., Перерва А.О. Проблемно-орієнтоване паралельне моделююче середовище для динамічних мережних об’єктів. // Наукові праці ДонДТУ, серія «Інформатiка, кибернетика та обчислювальна технiка», вип. 29. — Донецьк, 2001.
  3. Svjatnyj V.A. Virtuelle parallele Simulationsmodelle und Devirtualisierungsvorgang der Entwicklung von parallelen Simulatoren fur dynamische Netzobjekte mit verteilten Parametern [Электронный ресурс]. — Режим доступа: www.nbuv.gov.ua/portal/natural/Npdntu/Pm/2008/08flpfps.pdf
  4. Швецов А.Н. Агентно-ориентированные системы: от формальных моделей к промышленным приложениям / Всероссийский конкурсный отбор обзорно-аналитических статей по приоритетному направлению "Информационно-телекоммуникационные системы", 2008. - 101 с.
  5. Зайцев И. М., Федяев О. И. Агентно-ориентированный подход к моделированию интеллектуальных распределённых систем : Сб. — Донецк: ДонНТУ, 2008. — С. 337-338.
  6. Gerhard Weiss, ed. by, Multiagent Systems, A Modern Approach to Distributed Artificial Intelligence : - MIT Press, 1999. - 620 с.
  7. Википедия. Агентно-ориентированный_подход [Электронный ресурс]. — Режим доступа: http://ru.wikipedia.org/wiki/Агентно-ориентированный_подход.
  8. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям : - Едиториал УРСС, 2002. - 352 c.
  9. Википедия. Многоагентная_система [Электронный ресурс]. — Режим доступа: http://ru.wikipedia.org/wiki/Многоагентная_система.
  10. Субботін С.О., Олійник А.О., Олійник О.О. Неітеративні, еволюційні та мультиагентні методи синтезу нечіткологічних і нейромережних моделей: Монографія / Під заг. ред. С.О. Субботіна. — Запоріжжя: ЗНТУ, 2009. — 375 с.

ДонНТУ > Портал магістрів ДонНТУ | | Про автора