Засоби координації агентів у пошукових архітектурах Web

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

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2004
Автори: Андон, П.І., Дерецький, В.О.
Формат: Стаття
Мова:Українська
Опубліковано: Інститут програмних систем НАН України 2004
Теми:
Онлайн доступ:https://nasplib.isofts.kiev.ua/handle/123456789/1345
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Засоби координації агентів у пошукових архітектурах Web/ П.І. Андон, В.О. Дерецький // Проблеми програмування. — 2004. — N 1. — С. 60-70. — Бібліогр.: 11 назв. — укр.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859642696920989696
author Андон, П.І.
Дерецький, В.О.
author_facet Андон, П.І.
Дерецький, В.О.
citation_txt Засоби координації агентів у пошукових архітектурах Web/ П.І. Андон, В.О. Дерецький // Проблеми програмування. — 2004. — N 1. — С. 60-70. — Бібліогр.: 11 назв. — укр.
collection DSpace DC
description Досліджується підхід до тематичного пошуку інформації на засадах агентних технологій з використанням онтологічних мов опису та координації поведінки агентів. Для реалізації мети застосування (задачі) агент відповідно до зазначеного підходу включає об’єкти, що забезпечують розподілене керування, і прикладні динамічно співробітничаючі об'єкти. Розглядаються модель та застосування тематичного пошуку інформації, технологія і засоби специфікації поводження агента, використовувані в мультиагентній системі, а також описана архітектура платформи для реалізації зазначених моделей.
first_indexed 2025-12-07T13:23:52Z
format Article
fulltext Агентно-ориентированные информационные системы © П.І. Андон, В.О. Дерецький, 2004 60 ISSN 1727-4907. Проблемы программирования. 2004. № 1 УДК 681.3.06 П.І. Андон, В.О. Дерецький ЗАСОБИ КООРДИНАЦІЇ АГЕНТІВ У ПОШУКОВИХ АРХІТЕКТУРАХ WEB Досліджується підхід до тематичного пошуку інформації на засадах агентних тех- нологій з використанням онтологічних мов опису та координації поведінки агентів. Для реалізації мети застосування (задачі) агент відповідно до зазначеного підходу включає об’єкти, що забезпечують розподілене керування, і прикладні динамічно співробітничаючі об'єкти. Розглядаються модель та застосування тематичного пошуку інформації, технологія і засоби специфікації поводження агента, використовувані в мультиагентній системі, а також описана архітектура платформи для реалізації зазна- чених моделей. Вступ Відомо, що Web є великим репо- зиторієм інформації і сервісів будь- якого напрямку та призначення. В той же час така характеристика шкодить Web-технологіям. Якщо необхідно знайти точну інформацію, то на пошук і перегляд великої кількості Web- сторінок витрачається значна кількість часу. Безумовно, відповідні пошукові машини Інтернету допомагають при- скорити процес інформаційного пошу- ку, але відсутність контексту для по- шукових слів зменшує його ефектив- ність. Ці проблеми частково вирішу- ються за допомогою адаптації XML- технології, яка розроблена та розвива- ється для забезпечення опису структу- ри та семантики даних, але Web-сайти в більшості створюються з викорис- танням засобів HTML. Інша задача пов’язана з форму- ванням знань користувача в процесі пошуку інформації. Пошукові машини формують і впорядковують знайдений матеріал на основі пошукових слів (об- разів) користувача. Вищий пріоритет отримують сторінки, що містять знай- дені слова, але контекст може зовсім не цікавити користувача. Пошукові слова пов’язані з множиною смислів. Саме контекст може бути помічником для визначення та вибору певного зна- чення пошукового слова і визначення рангу знайдених результатів. Для вирішення цих та інших се- мантико-пошукових задач використан- ня агентного підходу дає нові якісні результати. Агент визначається як комп'юте- рна програма, здатна розумно діяти від імені користувача (іншої програми), для виконання задачі [1]. Агенти, поді- бно людям, співробітничають так, щоб їх сукупність могла поєднувати зусилля для досягнення поставленої мети. Аге- нти володіють наступними основними властивостями: автономність – здатність функціонувати самостійно і здійсню- вати контроль за своїм станом і своїми діями; інтелектуальна проактивність – спроможність діяти не просто у відпо- відь на зміни навколишнього середо- вища, а здатність брати ініціативу (фо- рмувати нові цілі); мобільність – здатність до пере- сування для подальшого функціону- вання в різних операційних оточеннях; адаптивність – спроможність вчитися. На відміну від програми об’єкт- но-орієнтованого програмування агент як програма має власне керування у вигляді не тільки виконуваного коду і стану, але й виклику (початку вико- нання програми агента). Іншими сло- вами, агенти самі визначають, коли і як їм діяти. Для забезпечення здатності до взаємодії автономних агентів у відкри- тому і розподіленому середовищах не- обхідні стандартні механізми та спе- цифікації. Мінімальні вимоги до таких механізмів наступні: Агентно-ориентированные информационные системы 61 наявність засобів, якими агенти можуть зв'язуватися один з одним так, щоб мати змогу обмінюватися інфор- мацією, делегуючи задачі керування, тощо; засоби, за допомогою яких аген- ти можуть визначати один одного; способи унікальної ідентифікації агента; засоби взаємодії з користувачами; засоби переміщення від однієї платформи до іншої. Модель агента, за рекомендація- ми FІPA, забезпечує нормативну струк- туру, у межах якої агенти можуть бути розгорнуті і працювати. FІPA-специ- фікація встановлює логічну модель для створення, реєстрації, місця розташу- вання, зв'язку, переміщення та вилу- чення агентів. У мультиагентних системах (МАС), складених з кількох автоном- них агентів, переговори є ключовою формою взаємодії, що дозволяє групам агентів досягти взаємної угоди по від- ношенню до деякого представлення чи мети плану. Процес переговорів аген- тів може ґрунтуватися на різних моде- лях, таких, як аукціони, протоколи ко- нтрактної мережі, дискусії тощо. В на- прямку дослідження переговорів виді- ляють три головні теми [2]: 1) предмети переговорів – діа- пазон проблем, з яких повинно бути досягнуто згоди. Це можуть бути як прості проблеми (визначення цін на то- вар різних виробників), так і складні (наприклад, встановлення цін на товар заданої якості, планування часу достав- ки товару та ін.). У найпростішому ви- падку завдання переговорів полягає у визначенні структури та змісту угоди агентів. В результаті переговорів дома- гаються прийняти чи відхилити пропо- зицію. Існують і більш складні випадки переговорів, наприклад зміна значення проблеми в предметі переговорів через зустрічні пропозиції або зміна структу- ри предмета переговорів (додаткові га- рантії, інші терміни постачання тощо); 2) протоколи переговорів – на- бір правил, керуючих взаємодією аген- тів. Вони визначають склад припусти- мих типів учасників (наприклад, аген- тів, які ведуть переговори або мають до них відношення), фіксують стан пере- говорів, ініціюють події, що виклика- ють переходи в інші стани і виконують дії учасників у визначених станах; 3) моделі міркування агентів – засоби, що забезпечують ухвалення рішення, за допомогою якого учасники намагаються досягти свою ціль. Склад- ність моделі міркування визначається використовуваним протоколом, типом предмета у переговорів і діапазоном операцій, що можуть бути виконані. Для практичних застосувань так само важлива низкорівнева фундамен- тальна інфраструктура механізму пере- говорів. Наприклад, будь-який прото- кол переговорів повинен враховувати можливість утрати повідомлень, вибу- вання одного з партнерів переговорів тощо. Для успішного завершення пере- говорів усі сторони (агенти), які беруть у цьому участь, повинні ясно розуміти правила протоколу. Очевидно, що комунікаційна мо- ва може обмежувати міркування між агентами переговорів. Наприклад, мова KQML [3] накладає обмеження, за яко- го очікується, що агент, надсилаючи запит, сам вирішить, як одержувач по- винен його обробити. Однією з задач розробки прото- колу є досягнення бажаного результату за мінімальну кількість комунікацій. На даний час FІPA та іншими ор- ганізаціями ведуться роботи зі станда- ртизації набору протоколів, на яких буде заснована координація взаємодії агентів [4]. Щоб дозволити агентам взаємодіяти один з одним, розроблено ряд мов їхнього спілкування [1, 5]. Ці мови забезпечують набір спеціальних повідомлень (performatіves), заснованих на мовних актах. Хоча такі performa- tіves можуть характеризувати типи по- відомлення, практично немає ефектив- них мов для вираження змісту повід- омлення, який дозволяє агентам "розу- міти" один одного. Однією з важливих у застосу- ваннях МАС є проблема розподілу ре- сурсів. Для її вирішення використову- Агентно-ориентированные информационные системы 62 ються прийняті в бізнесі економічно обґрунтовані підходи та ринкові меха- нізми, що базуються на основних фор- мальних моделях. У задачах, де агенти використо- вуються для керування обмеженими ресурсами (праця, сировина, товари, гроші), для укладання угод у перегово- рах передбачається, що ціни й інші па- раметри моделі загально відомі. На ау- кціонах є центральний аукціоніст, че- рез якого здійснюється координація. Отже, агентам для обміну необхідна тільки мінімальна кількість інформації. Інший клас задач – це пошукові задачі, в моделях яких загальновідоми- ми вважаються значення (смисл) по- шукових образів. У наступних розділах описані моделі та підходи створення агентів і МАС на основі засобів керування та координації для пошукових технологій. Використовується онтологічна мова опису та координації інтелектуальних агентів COOL – Control Oriented On- tology Language [6, 7]. COOL у МАС забезпечує ство- рення концептуальної моделі коорди- нації у вигляді певних структур – “розмов”, що включають комунікативні дії між агентами. Ця модель дозволяє представити об'єкти і структури керу- вання та побудувати МАС. СООL успішно використовується в застосуваннях, розроблених для про- мислових підприємств, зокрема для рі- шення задач інтеграції ланцюгів поста- чань [6]. У даній статті пропонується використання засобів COOL у пошуко- вих архітектурах. Функціонально COOL слід роз- глядати як [7] • мову, що встановлює станда- рти координації між агентами, що співробітничають; • оболонку для виконання ко- ординованих дій у МАС; • інструмент для проектування, експериментування і перевірки прави- льності протоколів координації; • інструмент для поетапного розвитку (наповнення) знань про ко- ординацію агентів. COOL дозволяє задати безліч агентів, що співробітничають взаємо- діючи один з одним шляхом викорис- тання заданих протоколів координації, названих класами розмови (conversa- tion classes). У результаті такого ство- рення породжується діаграма станів, у якій переходи від одного стану до ін- шого визначені в структурах, які нази- ваються правилами розмови (conversa- tion rules). Кожне правило може бути виконано тільки за певних умов – отриманих повідомлень від інших аген- тів. Результат виконання правила веде до зміни стану розмови і викликає де- яку дію. Кожен агент забезпечується різними типами планів координації відповідно до тієї ролі, що він буде гра- ти в застосуванні. Однією з головних задач у МАС є досягнення координованого пово- дження між агентами. В ідею розробки COOL був закладений той факт, що проблема координації виникає за на- явності знань про процеси, які відбу- ваються при взаємодії агентів. Рішення цієї проблеми знаходиться в компетен- ції всієї МАС, а не окремо взятого агента. COOL містить кілька припущень щодо способу, яким агенти зможуть досягти координованого поводження: • автономні агенти мають вла- сні плани, згідно яких вони пересліду- ють кожен свою мету; • індивідуальні плани агентів і знання про мультиагентне середовище, у якому вони знаходяться, точно пред- ставляють взаємодії з іншими агента- ми. Припускається, що ці взаємодії відбуваються за допомогою обміну по- відомленнями; • агенти не можуть передбачи- ти точну поведінку інших агентів, але можуть виділити класи альтернативних поводжень, що очікуються. Отже, пла- ни агентів являють собою умовні ви- раження над можливими діями і/чи реакціями інших агентів; • плани агентів можуть бути незавершеними чи неточними, і необ- хідні знання для їхнього розширення або виправлення. Точні плани можуть Агентно-ориентированные информационные системы 63 стати доступними тільки протягом ви- конання. З цієї причини агенти здатні розширювати і змінювати свої плани в процесі виконання. Найбільш важливою конструкці- єю мови є класи розмови, що визна- чають стани й асоційовані правила для отримання повідомлення, модифікації локального стану, перевірки умови ви- конання і передачі повідомлення. Аген- ти мови COOL можуть володіти декіль- кома класами розмови для керування взаємодіями з іншими агентами. Екзе- мпляри класів розмови, що називають- ся розмовами (conversations), зберіга- ють свій стан виконання стосовно кла- су розмови. Агенти можуть мати одно- часно кілька активних розмов, і існу- ють механізми керування, що дозво- ляють їм припиняти розмову при че- канні інших розмов, щоб досягти ви- значених стадій. Таким чином, агенти можуть динамічно створювати ієрархії розмов. 1. Тематичний пошук інформації з використанням програмних агентів Запропонований підхід є розвит- ком досліджень у галузі пошукових технологій [8, 9] з використанням аген- тних методів і засобів опрацювання семантики текстової інформації. Взаємодію агентів розглянемо на прикладі архітектури пошукової систе- ми, що містить: агент теми (Topic Agent); агент контексту (Context Agent); пошуковий агент (Search Agent). Агент контексту формує кон- текст поточної Web-сторінки за допо- могою алгоритму класифікації, що ви- користовує список тематичних катего- рій і для кожної категорії список упо- рядкованих пошукових слів та слово- сполучень. Такий список тематичних категорій складається попередньо, а взаємодія з ним забезпечується аген- том теми. Кожна сторінка індексуєть- ся, для неї формуються вагові коефіці- єнти слів за частотними показниками. Отримані значення нормалізуються відповідно до розмірів сторінки. Розра- ховується ступінь подібності сторінки до тематичної категорії за формулою ∑ ∑ = = = m k n j jkw jiwjWiSim 1 1 ),( ),()()( , де )(iSim – ступінь подібності сторінки та тематичної категорії )(i , що відпові- дає контексту сторінки; )( jW – зна- чення ваги пошукового слова )( j ; n – кількість слів на сторінці; ),( jiw – вага слова )(i тематичної категорії )(i . Сто- рінка може відповідати кільком тема- тичним категоріям, які упорядковують- ся за ваговими коефіцієнтами. Пошуковий агент перевіряє ре- зультати пошукової машини та впоряд- ковує їх за даними, що формуються агентом контексту. З цією метою для кожної сторінки визначається вага ко- жної теми, що розраховується за фор- мулою ∑ = = n k kWiSc 1 )()( , де )(iSc – вага )(i теми; )(kW – вага відповідної словоформи. Визначені те- ми упорядковуються за отриманим значенням. Зміст взаємодії контекстного та пошукового агентів полягає в наступ- ному. Для визначення контексту кори- стувач надає первинний документ або сукупність документів (файли, Web- сторінки тощо), зміст яких відповідає його інтересам. Для цих документів ви- значається значення {Sim(i)}. За результатами роботи пошуко- вого агента обчислюється значення {Sc(i)}. Шляхом переговорів агентів ви- значається відповідність знайденого матеріалу контексту та здійснюється його упорядкування за ваговими кое- фіцієнтами контексту. Взаємодія агентів відбувається на кількох рівнях. Перший рівень стосується інфо- рмаційного змісту спілкування агентів. Порція інформації, переданої на цьому рівні, являє собою висловлення (факт), наприклад “(search Т(i))” (знайти доку- менти по темі (і)). Другий рівень визначає наміри агентів. Той же самий інформаційний Агентно-ориентированные информационные системы 64 зміст може бути повідомлений з різни- ми намірами. Наприклад: • (ask (search Т(i))) – відправник запитує одержувача, чи згаданий факт істиний; • (tell (search Т(i))) – відправник повідомляє про свій намір одержувачу; • (achieve (search Т(i))) – відпра- вник пропонує одержувачу зробити даний факт одним з його намірів; • (deny (search Т(i))) – відправ- ник повідомляє, що цей факт більше не є наміром. Третій рівень забезпечує угоди, які агенти спільно використовують при обміні повідомленнями. Існування зага- льнодоступних угод уможливлює коор- динацію агентів, наприклад, при здійс- ненні переговорів про їхні цілі та дії. Нарешті, четвертий рівень взає- модії має відношення до внутрішньої архітектури агентів. Співробітництво і координація інтелектуальних агентів відбуваються завдяки передачі повідомлень між аге- нтами засобами KQML (Knowledge Query and Manipulation Language – мова запитів і керування знаннями), розробленої як універсальна мова для вираження таких намірів, причому всі агенти інтерпретують їх однаково. KQML підтримує зв'язок через явні лі- нгвістичні конструкції (performatives). KQML ґрунтується на структурі мовно- го акта (speech act framework), розроб- леного філософами і лінгвістами для пояснення людського спілкування [3]. COOL допускає існування станда- ртного набору мовних актів, що визна- чають комунікативні дії. Ці мовні акти представляються як performatives – припустимі дії, які агенти можуть ви- конати при передачі повідомлень один одному. До стандартних мовних актів у COOL був доданий ряд мовних актів більш високого рівня: • Propose (запропонувати) – використовується, щоб запропонувати агенту досягти підціль. Наприклад: (propose: content (search Т(i))) (time “19-feb- 2004”))). • Counter-Propose (запропону- вати назустріч) – зустрічна пропози- ція (контрпропозиція) – це інша під- ціль, що частково задовольняє почат- кову мету. Використання цього мов- ного акта може привести до послідов- ності контрпропозицій. Наприклад: (counter-propose: content (search Т(i) (time “20-sep-2003”))). • Accept and Reject (прийняти і відхилити) – використовуються, щоб повідомити про прийняття чи відхи- лення пропозиції або контрпропозиції. Відхилення ініціює нову стадію перего- ворів. • Cancel (скасування) – скасо- вує попередньо прийняту пропозицію чи контрпропозицію. • Satisfy (задовольнити) – агент повідомляє, що необхідна ціль була до- сягнута. Наприклад: (satisfy: content (counter-propose: content (search Т(i))) (time “20-sep-2003”))). • Fail (зазнати невдачі) – агент повідомляє, що виконання заданої цілі зазнало невдачі. Для побудови МАС COOL надає ряд конструкцій, у ролі яких можуть виступати: • агенти; • диспетчери розмови; • класи розмови; • правила розмови; • правила відновлення розмови; • правила продовження розмови; • асоціації. Коротко розглянемо призначен- ня і семантику кожної конструкції. Агенти. Як згадувалося вище, агент розглядається як об'єкт, що діє автономно, цілеспрямовано і виконує задані функції. Він функціонує, ґрун- туючись на індивідуальних і загально- доступних знаннях, переконаннях і намірах. Агент у COOL – це об'єкт, котрого можна запрограмувати і який може обмінюватися повідомленнями в межах структурованих планів з іншими агентами. Ці плани задаються в класах розмови і виконуються екземплярами розмов. Класи розмови визначаються разом з агентом. Агент визначається шляхом при- значення йому імені, установки змін- них, які утворюють його локальну базу Агентно-ориентированные информационные системы 65 даних, і встановлення початкової роз- мови (initial conversation). Після визна- чення агента виконується його почат- кова розмова і впродовж цього він знаходиться в активному стані. Якщо початкова розмова не була визначена, то агент залишається в стані очікуван- ня доти, поки не одержить повідом- лення від іншого агента. Диспетчери розмови. Агенти здійснюють розмови з іншими агента- ми чи виконують дії усередині свого середовища. Співробітництво агентів існує в локальних або віддалених сере- довищах виконання. Диспетчер розмо- ви керує виконанням агента всередині середовища. Агенти в COOL повинні бути виконані під контролем керуючої програми. Диспетчер розмови визначає набір агентів, якими він керує, і вико- нує різні опції трасування. У COOL можна визначити декілька диспетчерів розмови, кожного зі своїм власним на- бором агентів. Призначення середови- ща виконання полягає в тому, щоб “за- пустити” агентів шляхом передачі по- відомлень і виконати планування аген- тів. Ці середовища виконання існують на різних машинах, проте повідомлен- ня передаються між ними в такий же спосіб, як і на одній машині. Застосу- вання, що складається з агентів мови COOL, може виконуватися як на одній машині, так і на декількох машинах у мережі. Кожне середовище виконання визначається своїм диспетчером роз- мови, що координує виконання агентів, зв'язаних з цим середовищем [5]. Клас розмови – це правило, за- сноване на описі того, що повинен ро- бити агент у певних ситуаціях (напри- клад, при отриманні повідомлення). COOL забезпечує зв'язок класів роз- мови з агентами, окреслюючи таким чином, які види розмов кожен агент може обробляти. Клас розмови визна- чає доступні правила розмови, меха- нізм роботи і локальну базу знань, що містить стан розмови. Правила розмо- ви індексовані на кінцевій множині значень спеціальної змінної current-state (поточний стан). Необхідно підкресли- ти, що клас розмови визначає тільки початкові і кінцеві стани розмови. Усі проміжні стани визначаються в пра- вилах розмови як параметр у слоті :next-state. Нижче наведено приклад класу розмов (можлива діаграма переходів (Conversation Plan)) для керування роз- мовою в застосуванні пошуку релеван- тної контексту інформації між агентом контексту (Сontext agent) і агентом пошуку (Seacher agent) мовою COOL. (def-conversation-plan ‘serch-conversation :content-language ‘list :speech-act-language ‘kqml :initial-state ‘start :final-states ‘(rejected failed satisfied) :control ‘interactive-choice-control :rules ‘((start cc-1) (simi cc-3 cc-2) (working cc-5 cc-4 cc-3) (item cc-9 cc-8 cc-7 cc-6) (asked cc-10) (accepted cc-12 cc-11))) На рис. 1 діаграма переходів зо- бражена у формі графа G(S, T), де S – множина станів, а 2ST ⊂ – множина переходів. Дуга Ttv ⊂),( існує, якщо існує правило розмови для переходу з поточного стану v у наступний стан t. У діаграмі переходів усі стани повинні бути досяжні з початкового стану. Правило може бути визначене як завершене чи незавершене. Завер- шені виконуються без повідомлення користувача, а в незавершених прави- лах можуть бути відсутні необхідні да- ні, наприклад точний склад повідом- лення, яке буде передано. Коли систе- ма зіштовхується з незавершеним правилом, вона може не знати, яке правило повинне виконатися в даному стані (відсутня умова) чи що повинно відбутися при виконанні правила (від- сутня дія), і видається відповідне по- відомлення користувачеві для уточ- нення ситуації. Приклад правил розмови мовою СООL: Агентно-ориентированные информационные системы 66 (def-conversation-rule ‘sim-1 :current-state ‘start :received ‘(propose: sender :content (item-order :has-line-item ?li)) :next-state ‘order-received :transmit ‘(tell: sender ?agent_search :receiver agent_context :content ‘(working on it) :conversation ?convn) :do ‘(update-var ?conv ‘?order ?message)) 2. Програмне середовище для побудови пошукової мультиагентної системи Програмне середовище JADE (Java Agent Development Framework) призначене для розробки агентів, МАС і застосувань, що відповідають станда- ртам FIPA для інтелектуальних агентів. Середовище складається з двох основ- них частин: власне FIPA-сумісної аген- тної платформи і засобів розробки аге- нтів Java. Середовище JADE написане мо- вою Java і складається з бібліотеки Java-класів (packages), що надають розроблювачам прикладних програм готові фрагменти функціональних мо- жливостей і абстрактних інтерфейсів [10, 11]. JADE постачається з набором ін- струментальних засобів, які спрощують адміністрування і розробку. Такими ін- струментальними засобами є (рис. 2): Легенда Стан переговорів Міжагентний зв’язок Стан перекомпіляції Невдача 11 5 3 10 11 9 Документ отримано Перегляд упорядкування Альтернативна пропозиція Пошуковий процес Старт пропозиція Запит теми Старт 1 3 8 9 Відхилення 6,7 Виконання Sim(i) Відхилення 2 5 4 11 10 12 Невдалий Задоволений Переговори Агент-контексту Агент-пошуку 1 12 2 4 6 7 8 Sc(i) Упорядкування Успіх Sc(i) Sim(i) ~ Sc(i) Рис. 1. Діаграма переходів агентів Context і Searcher у формі графа Агентно-ориентированные информационные системы 67 • Remote Management Agent (RMA) – графічна оболонка, призна- чена для керування агентною платфо- рмою. JADE підтримує когерентність між декількома запущеними RMA шля- хом многоканальної передачі даних між ними. Крім того, оболонка RMA здатна запустити й інші інструмента- льні засоби JADE; • Dummy Agent – графічний інтерфейс користувача (GUI), який є агентом середовища JADE. GUI дозво- ляє скласти повідомлення мовою ACL, послати їх іншим агентам, відобразити список усіх відправлених і/чи отрима- них повідомлень мовою ACL із вказів- кою інформації про час, щоб записати і повторити розмову агента; • Sniffer – агент, що може пе- рехопити повідомлення мовою ACL в процесі їх виконання і графічно відо- бразити їх у вигляді послідовності пря- мих ліній. Це важливо для налаго- дження і дозволяє спостерігати, як від- бувається обмін повідомленнями мо- вою ACL між агентами; • SocketProxyAgent – простий агент, який функціонує в якості двуна- правленого шлюзу між платформою J ADE і звичайним TCP/IP-підклю- ченням. ACL-повідомлення, що пере- даються всередині JADE у власному Стан 1 Стан 1 Інтерфейс агентної платформи керування Контейнер агента керування RMI регістратура АСС DF AMS C o r t e x H e p a t i c Опис проце- су керування в COOL/CLIPS Диспетчер повідомлення Org/jlab/coda/agents/CRTI.class Org/jlab/coda/agents/ontology/ CTRI/…class А г е н т з а с т о с у в а н н я А г е н т і н т е р ф е й с у А г е н т о б о л о н к и Мережа Диспетчер повідомлення Java RMI Апаратні засоби керуван- Рис. 2. Архітектура програмного середовища JADE для побудови МАС Агентно-ориентированные информационные системы 68 внутрішньому форматі, конвертуються в ASCII-строки і відправляються через сокет-підключення. І навпаки, ACL- повідомлення можуть бути передані і конвертовані через TCP/IP-підклю- чення в платформу JADE. Цей агент може використовуватися, наприклад, при забезпеченні взаємодії з Java- аплетами всередині мережевого брау- зера (засобу навігації по мережі і пере- гляду інформації); • DF GUI – графічний інтер- фейс користувача, за допомогою якого створюється складна мережа областей и підобластей “жовтих сторінок”. Цей GUI дозволяє простим і інтуїтивним способом керувати базою знань DF, поєднувати DF у федерації с другими DF, дистанційно керувати базою знань DF-предків і DF-нащадків. Агентна платформа JADE може бути розподілена між декількома комп’ютерами. Віртуальна машина Java – це основний контейнер агентів, що забезпечує середовище виконання аге- нта і дозволяє кільком агентам одноча- сно виконуватися на тому ж самому хості. Агенти реалізовані як нитки (thread) Java: 1) GUI дозволяє керувати декі- лькома агентами й агентними контей- нерами з віддаленого хоста; 2) засоби налагодження полег- шують розробку мультиагентних за- стосувань, заснованих на JADE; 3) забезпечується мобільність агента, включаючи його стан і коду- вання; 4) підтримується одночасне ви- конання множини дій завдяки викори- станню моделі поводження агента; 5) автоматично активізуються основні компоненти AMS, DF і ACC при запуску агентної платформи; 6) забезпечується запуск мно- жини DF для реалізації багатодомених застосувань, де доменом є логічний на- бір агентів, послуги яких “рекламують- ся” через загальний DF. Кожен DF ус- падковує GUI і всі стандартні можли- вості; 7) забезпечується ефективна передача ACL-повідомлень усередині однієї й тієї ж агентної платформи. Повідомлення передаються в закодова- ному вигляді як об'єкти Java. При пе- ретинанні границь платформи повідом- лення автоматично конвертується в/з FIPA-сумісний синтаксис. Це перетво- рення є прозорим для розроблювача, що має справу тільки з Java-об'єктами; 8) надається бібліотека протоко- лів взаємодії FIPA, готових до викорис- тання; 9) забезпечується автоматична реєстрація і дереєстрація агентів у AMS; 10) ведеться FIPA-сумісна служба імен: при запуску агент одержує свій глобальний унікальний ідентифікатор (Globally Unique Identifier, GUID); 11) забезпечується підтримка мов змісту й онтологій для конкретних за- стосувань. Для створення МАС використо- вуються наступні основні класи: Agent і Behavior. Клас Agent (агент) являє собою загальний базовий клас для агентів, обумовлених користувачем. C точки зору розроблювача, агент JADE – зви- чайний екземпляр Java-класу, що роз- ширює базовий клас Agent. Мається на увазі успадкування властивостей для здійснення основних взаємодій з аген- тною платформою (реєстрація, конфі- гурація, віддалене керування тощо) і основний набір методів, що можуть викликатися для реалізації заданого поводження агента. Обчислювальна модель агента є багатозадачною і паралельною, у якій задачі (чи поводження) виконуються одночасно. Кожна функціональна мож- ливість і/чи сервіс, наданий агентом, повинні бути реалізовані як одне чи кілька поводжень. Внутрішній планува- льник, схований від розроблювача, автоматично керує плануванням повод- жень. На рис. 3 наведено життєвий цикл агента відповідно до специфікації FIPA. Агент JADE може знаходитися в одному з кількох станів, представлених у класі Agent наступними об’єктами: — AP_INITIATED: об'єкт класу Agent створений, але поки незареєст- рований у AMS, тому він не має ні Агентно-ориентированные информационные системы 69 імені, ні адреси і не може вести пере- говори з іншими агентами; — AP_ACTIVE: об'єкт Agent за- реєстрований у AMS, має постійне ім'я й адресу і може використовувати всі сервіси JADE; — AP_SUSPENDED: об'єкт Agent у даний момент часу зупинений і не виконує ніякої дії (поводження); — AP_WAITING: Agent блоко- ваний, його внутрішній стан – без дії і він пробудиться при виконанні деякої умови (наприклад, надходження повід- омлення); — AP_DELETED: внутрішній стан – завершений, і агент не зареєстрова- ний у AM; — AP_TRANSIT: мобільний агент уводить цей стан для того, щоб, поки агент переміщається до нового місця розташування, система продовжувала накопичувати і зберігати повідомлення, що будуть надіслані йому, коли він прибуде в нове місце; — AP_COPY: внутрішній стан використовується платформою JADE для створення копії агента; — AP_GONE: внутрішній стан використовується платформою JADE для повідомлення про те, що мобільний агент перемістився до нового місця розташування й установив стійкий стан. Клас Behaviour (поведінка). Роз- роблювач визначає дії агента шляхом специфікації його поводження. Агент здатний виконувати декілька паралель- них задач у відповідь на різні зовнішні події. Для того щоб керування агентом було ефективним, кожен агент JADE складається з окремого потоку вико- нання і всі його задачі (наміри) пови- нні бути реалізовані як об'єкти класу Behaviour. Розроблювач при завданні задачі агентові повинен визначити один чи кілька похідних класів від ба- зового класу Behaviour і додати певні поводження до списку його задач. Клас Agent надає два методи: addBehaviour і removeBehaviour, що дозволяють керу- вати чергою задач агента, а саме дода- вати або видаляти поводження. Пово- дження агента можуть бути додані всякий раз, коли це необхідно, а не тільки в межах методу Agent.setup(). Планувальник, реалізований ос- новним класом Agent і „схований” для програміста, виконує циклічну політи- ку планування між усіма поводження- ми, доступними в черзі на виконання. Поводження може бути заблоковано, й агент очікує одержання повідомлення. Рис. 3. Життєвий цикл агента відповідно до специфікації FIPA Suspended Призупи- нен Transit Транзит- ний Initiated Початок Wait Чекати Resume Продовж. Wake Up Пробудитися Suspend Зупинити Waiting Чекання Active Активний Invoke СприятиExecute Виконати Move Перемістити Create Створити Destroy Знищити Quit Припинити Агентно-ориентированные информационные системы 70 Щоб уникнути активного чекання по- відомлень (і, як наслідок, витрату про- цесорного часу), кожне поводження може бути заблоковано. Метод block() поміщає поводження в чергу заблоко- ваних, і воно відновлюється, як тільки відбувається повернення з методу action(). Усі заблоковані поводження упорядковуються у разі прибуття ново- го повідомлення. Крім того, об'єкт кла- су Behaviour може блокувати себе на визначений обмежений час. Висновки Розглянуто новий підхід до розробки засобів взаємодії та координації про- грамних агентів на засадах онтологіч- них мов. Підхід спрямований на широ- ке коло застосувань, зокрема в напря- мку пошукових Web-сервісів опрацю- вання змісту текстової інформації. 1. Jennings N.R., Sycara K., Wooldridge M. A Roadmap of Agent Research and Develop- ment // Autonomous Agents and Multi-Agent Systems. – 1998. – 1. – P. 275—306. 2. Chen Ye, Peng Yun, Finin T., Labrou Ya., Cost S. A negotiation-based multi-agent system for supply chain management // Working Notes of the Agents'99 Workshop on Agents for Electronic Commerce and Managing the Internet-Enabled Supply Chain, Seattle, WA, April 1999. – P. 36—41. 3. Finin T., Weber J., Wiederhold G. et al. Speci- fication of the KQML Agent Communication Language // The DARPA Knowledge Sharing Initiative, External Interfaces Working Group, 1992. – 56 p. 4. Gyurjyan V., Abbott D., Heyes G., Jastrzemb- ski E., Timmer C., Wolin E. FIPA agent based network distributed control system // TJNAF, VA 23606, Newport News, USA. March 2003. – 5 p. 5. Singh M.P. Towards a Formal Theory of Com- munication for Multiagent Systems // Conf. Ar- tificial Intelligence, Sydney, Australia, 1991. – P. 69—74. 6. Barbuceanu M. COOL: A Language for Rep- resenting and Executing Coordinated Behav- ior in Multi-Agent Systems // Enterprise In- tegration Laboratory, Department of Industrial Engineering, User Manual, University of To- ronto, 1996. – 56 p. 7. Barbuceanu M. Coordination Protocols For Multi-Agent Supply Chains // Teamwork, En- terprise Integration Laboratory, Report and Formal Specification, University of Toronto, 1996. – 78 p. 8. Андон П.І., Дерецький В.О. Процесори пошу- ку та аналізу природномовної текстової ін- формації в аналітичних системах // Пробл. программирования. – 2001. – N 3—4. – С. 144—165. 9. Дерецкий В. Об одном подходе к обработке естественно-языковых данных на основе анализа семантических сетей // Первая Все- рос. науч. конф. „Электронные библиотеки: перспективные методы и технологии, элек- тронные коллекции”, 18—22 октября 1999 г., Санкт-Петербург, 1999. – С. 100—103. 10. Haase R. Building a Generic User Agent for Multi-Agent Integrated Enterprise // Enter- prise Integration Laboratory, University of To- ronto, 1997. – 37 p. 11. Bellifemine F., Poggi A., Rimassa G. JADE – A FIPA-compliant agent framework // Proceed- ing of PAAM99, London, April 1999. – P. 97—108. Про авторів Андон Пилип Іларіонович, член-кор. НАН України, директор Дерецький Валентин Олександрович, канд. фіз.-мат. наук, провідний науко- вий співробітник Місце роботи авторів: Інститут програмних систем НАН України, Просп. Академіка Глушкова, 40, Київ-187, 03680, Україна Тел. (044) 266 4342 E-mail: dva@isofts.kiev.ua
id nasplib_isofts_kiev_ua-123456789-1345
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 1727-4907
language Ukrainian
last_indexed 2025-12-07T13:23:52Z
publishDate 2004
publisher Інститут програмних систем НАН України
record_format dspace
spelling Андон, П.І.
Дерецький, В.О.
2008-07-25T16:01:27Z
2008-07-25T16:01:27Z
2004
Засоби координації агентів у пошукових архітектурах Web/ П.І. Андон, В.О. Дерецький // Проблеми програмування. — 2004. — N 1. — С. 60-70. — Бібліогр.: 11 назв. — укр.
1727-4907
https://nasplib.isofts.kiev.ua/handle/123456789/1345
681.3.06
Досліджується підхід до тематичного пошуку інформації на засадах агентних технологій з використанням онтологічних мов опису та координації поведінки агентів. Для реалізації мети застосування (задачі) агент відповідно до зазначеного підходу включає об’єкти, що забезпечують розподілене керування, і прикладні динамічно співробітничаючі об'єкти. Розглядаються модель та застосування тематичного пошуку інформації, технологія і засоби специфікації поводження агента, використовувані в мультиагентній системі, а також описана архітектура платформи для реалізації зазначених моделей.
uk
Інститут програмних систем НАН України
Агентно-ориентированные информационные системы
Засоби координації агентів у пошукових архітектурах Web
Article
published earlier
spellingShingle Засоби координації агентів у пошукових архітектурах Web
Андон, П.І.
Дерецький, В.О.
Агентно-ориентированные информационные системы
title Засоби координації агентів у пошукових архітектурах Web
title_full Засоби координації агентів у пошукових архітектурах Web
title_fullStr Засоби координації агентів у пошукових архітектурах Web
title_full_unstemmed Засоби координації агентів у пошукових архітектурах Web
title_short Засоби координації агентів у пошукових архітектурах Web
title_sort засоби координації агентів у пошукових архітектурах web
topic Агентно-ориентированные информационные системы
topic_facet Агентно-ориентированные информационные системы
url https://nasplib.isofts.kiev.ua/handle/123456789/1345
work_keys_str_mv AT andonpí zasobikoordinacííagentívupošukoviharhítekturahweb
AT derecʹkiivo zasobikoordinacííagentívupošukoviharhítekturahweb