REFERATUA.ORG.UA — База українських рефератів



Головна Інформатика, комп'ютери, програмування → Мобільні об’єкти та мобільні агенти: майбутнє розподілених обчислень



Національний університет

"Києво-Могилянська Академія"

Департамент комп'ютерних технологій

Кафедра інформатики

Мобільні об'єкти та мобільні агенти:

майбутнє розподілених обчислень?

Реферат з курсу "Програмне забезпечення інтелектуальних систем"











виконав студент V курсу

Кравченко Іван Олександрович

Київ, 2000 р.

Зміст





1. Вступ

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

2. Що таке агент як програмний продукт ?

Так що таке програма - агент, з чого він складається, і чим відрізняється від звичайної програми, - протягом декількох останніх років ці питання були і є темою для обговорення і суперечок. У той час, поки ці дебати тривають, на практиці дедалі більше зустрічається програмних продуктів, для яких існує таке, суто емпіричне визначення: "Агенти – це програми, які допомагають людям і працюють в їх інтересах". Це визначення більше схоже, власне, на мету, задля якої створюються агентні системи. Зазначимо для справедливості, що всі програмні продукти мають на меті в той чи інший спосіб допомагати кінцевим користувачам.

Визначення агента ( з точки зору кінцевого користувача )

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

Незважаючи на те, що таке визначення по суті є правильним, в ньому ніяким чином не зазначається механізм роботи агентів. Агенти можуть бути різних типів і працювати в різний спосіб. Їх можна знайти в комп'ютерних операційних системах, мережах, базах даних тощо. Які риси програми дозволяють називати її агентом?

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

На відміну від об'єктно-орієнтованих програмних продуктів, до яких треба безпосередньо звертатися через певний інтерфейс для того, щоб отримати результат, агенти є активними об'єктами, які функціонують відповідно до так званого принципу Голлівуда: "Не кличте нас, ми самі вас покличемо!"

Визначення Агента ( з точки зору системи )

Агентце програмний продукт, який:

  • розміщується всередині середовища виконання;

  • має такі обов'язкові властивості:

а) здатність фіксувати зміни в середовищі і діяти відповідно до них;

б) здатність контролювати власні дії;

в) здатність самостійно активізуватися для досягнення власної мети;

г) здатність працювати впродовж деякого (невизначеного) терміну;

  • крім того, може мати такі необов'язкові властивості:

а) здатність до обміну повідомленнями з іншими агентами;

б) здатність до пересування з одного серверу (комп'ютера) до іншого;

в) здатність до адаптації з урахуванням попереднього досвіду (здатність до навчання);

г) здатність проявляти/ приховувати своє існування для користувача.



3. Що таке мобільний агент?

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

Визначення стаціонарного (статичного) агента.

Стаціонарний агентагент, який функціонує тільки в тій системі, де почалося його виконання.

Якщо такому агенту потрібна інформація, відсутня у власній системі, або необхідно взаємодіяти з агентом в іншій системі, то він, звичайно, використовує будь-який механізм зв'язку, наприклад, віддалений виклик процедури (RPC).

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

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

Визначення мобільного агента

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

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

4. Підстави для використання мобільний агентів

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

Вони зменшуютьзавантаження в мережі. Розподілені системи часто залежать від протоколів зв'язку, які передбачають багатократну


 
Загрузка...