Програмне забезпечення інтелектуальних систем - Географія - Великі роботи - Каталог файлів - Інформаційно-розважальний портал школярів, студентів
Нд, 11-Груд-2016, 11:58
Учимсь учитись
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Форма входу
Категорії розділу
Пошук
Наше опитування
Оцініть мій сайт
Всього відповідей: 270
Друзі сайту
Статистика

Онлайн всього: 1
Гості: 1
Користувачі: 0
 Каталог файлів
Головна » Файли » Великі роботи » Географія

Програмне забезпечення інтелектуальних систем
[ Викачати з сервера (66.5Kb) ] 31-Трав-2008, 13:05
Вступ

Мета взаємодії людського суспільства з комп'ютерами - зробити потужні програми легкими у використанні, зберігаючи їхній повний потенціал.
Новим жанром в індустрії програмного забезпечення стали програми, які можуть мігрувати від однієї машини до іншої, зберігаючи свій інтерфейс користувача і контекст виконання, зупиняти своє виконання перед міграцією і поновлювати його від того місця, де була зроблена зупинка перед міграцією, зберігаючи при цьому свій внутрішній стан під час переміщення. Такі програми не прив'язуються до одного користувача або до однієї машини, а можуть блукати вільно по мережі, надаючи сервіси користувачам, збираючи інформацію, і взаємодіяти з іншими програмами такого роду. Після переміщення, комп'ютер, на якому раніше знаходилась така програма, може припинити роботу без жодного впливу на її подальшу роботу, тобто таку програму з деяким припущенням можна називати вже не комп’ютерною, а мережною. Такий тип програм отримав назву міграційні програми (migratory applications), або мобільні агенти.
Міграція програм є корисною в контексті співробітництва, яке базується на теорії агентної взаємодії.
Наприклад:
1. Програми, які слідують за користувачем фізично: з дому на місце роботи і назад додому;
2.Програми, які обслуговують групу людей, мігруючи до комп’ютера кожного з них по черзі (щось на зразок диспетчера або секретаря);
3. Програми, які взаємодіють з людьми для задовільнення потреб певної особи (деякого фізичного агента).

Крім того, дослідження можливостей агентного підходу до програмування з недавнього часу розгорнулися в США, коли NASA (National Aeronautic Space Administration) оголосила своєю метою встановлення віртуальнюї присутності в космосі шляхом використання зондів-роботів. Справа в тому, що освоєння та дослідження космосу, а саме складність просторового довкілля вимагають таких машин, які водночас були б і механічними виконавцями команд, і водночас могли б автоматично, на далекій відстані від Землі, виконувати складні обчислення і приймати рішення в критичних ситуаціях автономно, не очікуючи команд, яка можуть просто запізнитися. Недавній зсув в фінансуванні проектів освоєння космічного простору від багатомільярдних вкладень, орієнтованих на великі екіпажі космонавтів, до дешевших, націлених на багато меншу кількість членів екіпажу, став вимагати створення космічних агрегатів, що контролюються інтелектуальними частково-незалежними об'єктами, відомими, як автономні агенти. І це природно, тому що великі дистанцій і затримки часу, які пов’язані з роботами в космосі, роблять неможливим керування роботами безпосередньо з Землі. Нові методи автономного управління зондами надають можливість подолати між іншими речами проблеми великих відстаней і часу.
Поточні дослідження встановлюють, як контролювати взаємодію між такими агентами, їхніми внутрішніми під-системами і людиною. Регульована автономія є цікавою, коли маємо справу з системами, які повинні функціонувати автономно протягом декількох років, або, наприклад, коли необхідно, щоб система сама прийняла рішення про припинення своєї діяльності без отримання інструкцій з боку оператора-людини.

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

Мобільність

Мобільні агенти знедавна стали вельми цікавою темою для обговорення в колі дослідників. Існує вже багато робіт, які досліджують потенціал цієї нової парадигми. Хоч й досі немає остаточної відповіді на питання, до чого може дійти розвиток мобільних агентів, на них покладають великі надії, а тому обсяг робіт, присвячених ним, зростає.
Поняття про мобільних агентів було встановлене в 1994, як опис обчислювального середовища, відомого, як Telescript. У цьому середовищі програми під час виконання можуть зупинити власне виконання і перемістити себе з одного комп’ютера до іншого в обчислювальній мережі, відновивши своє виконання після “прибуття” на нове місце.
В цій роботі мобільний агент буде визначений, як: програма - агент, який може автономно мігрувати з одного комп'ютера до іншого в обчислювальній мережі. В розділі, який присвячений середовищу створення міграційних програм Obliq, зроблено детальний огляд того, з чого саме складаються такі програми, а зараз спробуємо неформально дослідити, як працюють ці системи.
За своєю природою, мобільним агентам притамано поширюватися. Як такі, вони повинні функціонувати на різних платформах та операційних системах для реалізації свого потенціалу. Ця потреба виразилася в тому, що мобільних агентів створюються в таких системах, які дозволяють використовувати сценарії, або представляти код програми у вигляді байт-коду – такого набору інструкцій, який може бути проінтерпретований. Інтерпретація усуває необхідність перекомпіляції після прибуття агента на новий комп’ютер, і тільки вимагає такого середовища в цьому комп'ютері, яке здатне коректно відновити роботу агента після його прибуття. Середовище, в якому можуть функціонувати агенти, називається сервером агентів.
Ці сервери працюють на зразок спільного робочого середовища, в якому агенти всіх типів можуть обмінюватися один з одним повідомленнями. Сервери агентів надають сервіси для прибуття агентів і здійснюють управління агентами в цьому середовищі. Через сервер агент може отримати інформацію про середовище, послати запити до середовища і інших агентів та отримати повідомлення від активних в даний момент агентів та середовища. Мобільні агенти можуть взаємодіяти шляхом передачи повідомлень як безпосередньо між собою, так й скориставшись сервісами середовища. Системи мобільних агентів абсолютно відрізняються від існуючих традиційних розподілених систем, які поширені в індустрії. Ці системи можуть бути охарактерізовані, як такі, що надають сервіси для локальної взаємодії між агентами, і реалізують мобільні логіку і дані.
Ця відмінність робить мобільних агентів особливо корисними. У протилежність системам з мобільним кодом, наприклад аплетам Java, які містять послідовність команд, і фактично мають тільки мобільну логіку, або традиційним розподіленим системам, що використовують віддалений виклик процедур (RPC) і мають тільки мобільні дані, системи мобільних агентів поєднують в собі як мобільність коду, так і мобільність даних.

Переваги мобільних агентів

Переваги мобільних агентів полягають в простоті встановлення серверної бази, гнучкості сервера, а також в локальній взаємодії в реальному часу. Системи мобільних агентів реалізують підтримку клонування, постійної пам'яті агентів і групового обміну повідомленнями.
Більшість програмної логіки, яка за діючою парадігмою статичних клієнт-серверних взаємодій була інкапсульована в статичних клієнтах або серверах, в мобільних системах перенесена в агента, гарантуючи при цьому, що встановлена база сервера для систем мобільних агентів цілком проста. Все, що входить в функції сервера – це підтримка міграцій агентів і забезпечення доступу до будь-яких ресурсів в межах середовища. Це дозволяє досягти великої гнучкості в роботі сервера, тому що поступаючий агент може сам ефективно змінити поведінку сервера прибуття, як то кажуть, “на льоту”. Системи мобільних агентів розглядають сервер, як ізольовану ділянку, на якій мобільний агент може скористатися локальними ресурсами. Ці ресурси не є доступними безпосередньо через мережу, і тому для користування ними мобільний агент повинен транспортувати себе сам до ресурсу або, в більш складному випадку, “послати підлеглого”, тобто запросити в деякого спеціального агента доставку даних.
Можливо, найбільш цитована причина для відмови від мобільності полягає в тому, що в недалекому майбутньому Internet матиме достатню пропускну здатність, щоб підтримати весь трафік, і, що клієнт-серверні взаємодії через Web будуть виконуватися так саме швидко, як і взаємодії всередині єдиної машини, таким чином заперечуючи перевагу взаємодії, доступної за допомогою мобільних агентів.
Це спірна точка зору, але ми відкинемо це зараз, бо, наприклад, мережа, на яку зважають в NASA, надзвичайно величезна. Для взаємодії у космічному просторі локальна взаємодія є більш природньою, ніж віддалене керування.

Структура управління мобільного агента

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

Мобільні обчислення – Obliq

Програмна модель створення мігруючих програм базується на засобах, які доступні в мові розподіленого сценарію Obliq.
В Obliq, довільні дані, в тому числі й процедури (код програми), можуть бути передані по мережі. Одиниця даних Obliq може бути представлена графом, при чому деякі вершини є змінними (це означає, що вони мають деякий стан, який може бути змінений присвоєнням), а інші вершини незмінні (означає, що вони не можуть бути змінені). Наприклад, текст процедури програми є незмінним і не може бути змінений, в той час, як поля в деякому об'єкті змінні через те, що цим полям взагалі можна присвоїти нові значення.
Коли граф даних передається на виконання до віддаленої процедури, або повертається від неї, будемо казати, що він передається по мережі. Зупинимось на передачі даних трохи детальніше...
Категорія: Географія | Додав: Serega_adm
Переглядів: 485 | Завантажень: 224 | Рейтинг: 5.0/1
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]
Copyright MyCorp © 2016