Здавалка
Главная | Обратная связь

Мови взаємодії агентів



У платформі агентів є своя специфіка. Відмінність агентного підходу від інших підходів до побудови розподілених систем стає зрозумілою під час розгляду характеру інформації, якою обмінюються агенти. Зв’язок між агентами відбувається за допомогою комунікаційного протоколу прикладного рівня, відомого під назвою мови взаємодії агентів ACL (Agent Communication Language). B ACL властиво чітке розділення між метою повідомлення і його змістом. Повідомлення може мати лише обмежений набір цілей.

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

В ACL агент-відправник і агент-одержувач однаково розуміють мету повідомлення, від якої зазвичай залежить реакція одержувача.

ВИСНОВКИ

1. Процеси відіграють фундаментальну роль у розподілених системах, оскільки вони формують базис для зв'язку між різними машинами.

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

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

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

5. Сервери об’єктів виокремлено в особливий клас. Сервер об’єктів – це процес, який містить об’єкти, розміщені в його власному адресному просторі, і готовий приймати направлені до них звернення. В окрему катего­рію сервери об’єктів виділяють завдяки різноманітності способів звернення до об’єктів. Сервер може запустити окремий потік виконання для кожного запиту до об’єкта, але й може надати кожному об’єкту власний потік виконання або залишити єдиний потік виконання для всіх своїх об’єктів. За допомогою адаптера об’єктів у різних серверах може бути реалізована різна політика звернення до об’єкта. На сервері може бути декілька адаптерів об’єктів.

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

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

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

 

Завідувач кафедри КСКСТ Г.М. Власенко

Запитання для самоконтролю

1. Що розуміють під поняттям «процес»?

2. Що таке потоки виконання?

3. З яких елементів складається потік виконання?

4. Побудуйте схему потоку виконання та поясніть її.

5. Назвіть стани, в яких можуть перебувати процеси та потоки виконання.

6. Назвіть способи організації побудови серверів. У чому полягають відмінності між ними?

7. Охарактеризуйте організацію багатопотокового сервера.

8. Що розуміють під поняттям «сервер»?

9. Які розрізняють способи організації серверів?

10. Що таке сервер об’єктів?

11. Які є підходи до обробки об’єктів?

12. Обґрунтуйте необхідність перенесення коду.

13. Сформулюйте основні підходи до перенесення коду.

14. Як реалізується перенесення коду в гетерогенних системах?

15. Що розуміють під поняттям «агент»?

16. Які розрізняють види агентів?

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.