Odyssey. General Magic Inc. є винахідником мобільного агента і свого часу створив першу комерційну систему мобільних агентів Telescript. Базуючись на власній мові і архітектурі мережі, Telescript мав короткий термін життя. Зважаючи на популярність Internet і приголомшуючий успіх мови Java, General Magic Inc. створила нову систему мобільних агентів Odyssey, реалізовану на Java. Ця система ефективно втілює принципи Telescript вже у вигляді Java-класів. Результатом роботи є бібліотека Java-класів, яка дає розробникам можливість створювати власні застосування мобільних агентів.
Concordia. Mitsubishi's Concordia є продуктом для розробки і управління системами мобільних агентів, який може функціонувати в будь-якому середовищі, яке підтримує Java. Concordia вміщує компоненти, написаних на Java, які разом надають завершене середовище для створення розподілених застосувань. Система Concordia, в найпростішому вигляді, складається з стандартної віртуальної машини (інтерпретатора) Java, серверу і множини агентів.
Voyager. Voyager кампанії ObjectSpace - це платформа для розподілених обчислень за допомогою агентів, яка також реалізована на Java. Voyager забезпечує обмін повідомленнями між об'єктами та дозволяє об'єктам пересуватися, як це роблять агенти в мережі. Можна сказати, що Voyager дозволяє програмістам на Java створювати застосування як за традиційною, так і за “агент-орієнтованою” технологіями створення розподілених обчислювальних систем.
Звернемо увагу, що системи мобільних агентів, реалізовані на Java мають багато спільного. Справа в тому, що вони прив’язані до стандартних версій віртуальної машини Java і механізму серіалізації об’єктів. Загальна серверна архітектура властива всім системам. Істотні відмінності спостерігаються в механізмах переміщення агентів і обміну повідомленнями.
Хоча більшість сучасних систем мобільних агентів базуються на Java, існують інші мови для їх реалізації. До них, в першу чергу, належать Tcl і Python.
Agent Tcl. Це система, агенти якої пишуться на Tcl. Agent Tcl, розроблена в коледжі Дартмоут (Dartmouth), має потужні сервіси для переміщення і зв'язку, механізм захисту інформації, а також засоби для відлагодження і трасування. Головною компонентою Agent Tcl є сервер, який працює на кожній машині і дозволяє агентам рухатись і обмінюватись повідомленнями. Коли агент мігрує до іншої машини, він викликає функцію agent_jump, яка запам’ятовує стан агента і посилає цю інформацію до серверу на машині адресата. Сервер машини адресата викликає на виконання Tcl, завантажує інформацію про стан в середовище виконання, і запускає агента в тому ж стані, в якому він завершив свою роботу.
Ara. Ara, розробка університету Кайзерслотерн (Kaiserslautern), це заснована на Tcl платформа для безпечної роботи мобільних агентів в різнорідних мережах. Дослідницький проект, перш за все, спрямовано на підтримку системи мобільних агентів, як середовища для безпечного і ефективного функціонування.
TACOMA. Проект TACOMA спрямований на дослідження операційних систем, як середовища для підтримки агентів, а також на використання агентів для розв’язання задач, які традиційно належать до функцій операційних систем. TACOMA базується на UNIX і TCP. Система підтримує агентів, які написані на C, Tcl/Tk, Perl, Pyhton і Scheme (Elk). Власне систему реалізовано на C.
Загальною рисою для ряду проектів, що базуються на Tcl, є те, що вони передбачають рух до підтримки декількох мов, що по суті означає можливість інтеграції з системами мобільних агентів, реалізованих на Java.
8. Стандартизація мобільних агентів: MASIF
Очевидним є те, що вищезазначені системи дуже відрізняються архітектурою і реалізацією, і таким чином перешкоджають сумісності, а згодом і стрімкому розгортанню технологій мобільних агентів на сучасному ринку. Тому здається природнім для підвищення сумісності нормалізувати деякі аспекти технології. Компанії Crystaliz, General Magic Inc., GMD Fokus, IBM Corporation і Open Group спільно розробили проект “Засоби сумісності систем мобільних агентів” (Mobile Agent System Interoperability Facility – MASIF).
MASIF описує стандартні інтерфейси систем мобільних агентів (не плутати з інтерфейсом власне агентів і систем їх підтримки !). MASIF не містить домовленості про єдину мову. Мовна сумісність для мобільних об'єктів – надскладна проблема, і в MASIF вимагається тільки сумісність систем мобільних агентів, які пишуться на одній мові, але потенційно різними продавцями. До того ж, в MASIF не нормалізуються локальні дії агента як, наприклад, інтерпретація агента, серіалізація або виконання. Можна сказати, що MASIF визначає інтерфейси на рівні систем мобільних агентів, а не на рівні агента.
В MASIF стандартизовано наступні чотири області:
Управління агентами. В множині мобільних агентів бажано стандартизувати управління агентом. Необхідно, щоб адміністратори систем агентів різних типів могли застосовувати стандартні процедури для створення агентів за ім'ям класу агента, переривати виконання агента, відновлювати виконання та завершувати виконання агента.
Передача агентів. Бажано, щоб застосування могли породжувати таких агентів, які будуть здатні вільно пересуватися між системами мобільних агентів різних типів.
Агент і його системне ім’я. На додаток до стандартизації операцій, які забезпечать сумісність систем мобільних агентів, підлягає стандартизації синтаксис і семантика різних параметрів. Ім'я агента та ім'я системи агентів повинні бути нормалізовані. Це дозволить системам агентів і агентам розпізнавати один одного.
Системний тип агента і синтаксис розміщення. Синтаксис розміщення повинен бути стандартизований так, щоб агент мав доступ до інформації про тип системи агентів бажаної (тієї, куди має намір переміститися) системи агентів. Передача агента може статися тільки в тому випадку, якщо тип системи агентів адресата підтримує агента.
Мобільний агент - це агент, який не прив'язаний до системи, де починається його виконання. Він здатен переміщувати себе від однієї системи в мережі до іншого. Здатність мандрувати дозволяє мобільному агенту пересуватися для досягнення певної мети, яка задається користувачем. Існує принаймні сім гарних причин для використання мобільних агентів: вони зменшують трафік в мережі, долають мережеву латентність, вони герметизують протоколи, виконуються асінхронно і автономно, динамічно адаптуються до середовища, природно різнорідні і стійкі до несправностей в мережі.
Прикладними областями, де проявляються переваги технологій мобільних агентів є: електронна комерція, персональна допомога, приватне спілкування, розподілений пошук інформації, послуги телекомунікацій, організація групових робіт, моніторинг, розповсюдження інформації і паралельне виконання.
Щоб підвищити сумісність, деякі аспекти технологій мобільних агентів було стандартизовано за допомогою OMG's MASIF. Як вплине часткова стандартизація на розвиток технологій мобільних агентів і розподілених обчислень, буде відомо у майбутньому. Дослідження тривають.
1. Danny B. Lange - Mobile Objects and Mobile Agents: The Future of Distributed Computing?
2. Lange, D.B. and Oshima, M.: Programming and Deploying Java™ Mobile Agents with Aglets™, Addison-Wesley, 1998.
Aglets at www.trl.ibm.co.jp/aglets.
Odyssey at www.genmagic.com/agents.
Concordia at www.meitca.com/HSL/Projects/Concordia.
Voyager at www.objectspace.com/voyager.
Agent Tcl at www.cs.dartmouth.edu/~agent.
Ara at www.uni-kl.de/AG-Nehmer/Ara.
TACOMA at www.cs.uit.no/DOS/Tacoma.