НОУ ІНТУЇТ | лекція | Приклад мультиагентного додатки з JADE-агентом на платформі Android

  1. Мета лабораторної роботи
  2. Інструкція по виконанню лабораторної роботи
  3. Виконання роботи
  4. Завдання для самостійної роботи
  5. висновки

Анотація: Створення декількох робочих контейнерів в мультиагентной платформи JADE, визначення взаємозв'язку між декількома контейнерами.

Мета лабораторної роботи

Анотація: Створення декількох робочих контейнерів в мультиагентной платформи JADE, визначення взаємозв'язку між декількома контейнерами

Презентацію до лабораторної роботи Ви можете завантажити тут .

Створити кілька робочих контейнерів в мультиагентной платформи JADE, визначити взаємозв'язок між декількома контейнерами, перенести один з контейнерів на мобільний пристрій, запустити додаток в Android emulator, запуск DummyAgent на мобільному пристрої з OC Android.

Інструкція по виконанню лабораторної роботи

підготовка

Перед початком роботи необхідно запустити середовище розробки Eclipse IDE. Запустити платформу і агента PingAgent (див. "Знайомство з JADE" ) Необхідно завантажити платформу JADE-LEAP Android (Lightweight Extensible Agent Platform) runtime environment. Також необхідно буде налаштувати Android віртуальний пристрій з підтримкою x86 архітектури для налагодження програми під наш планшет Intel.

Для того щоб отримати JADE-LEAP необхідно перейти на офіційний сайт платформи JADE - http://jade.tilab.com/ . Далі у вкладці "Add-ons" скачати повний архів Leap і JADE-Android у вигляді архівів .zip. Розпакуйте обидва архіву в папку, де знаходяться повний пакет файлів платформи JADE (див. "Знайомство з JADE" ). У нашому прикладі ми отримуємо в папці \ jade додаткові папки \ add-ons і \ leap. У папка add-ons обов'язково повинні знаходиться подпапки:

  • doc - містить документацію;
  • lib - містить архів .jar, в якому знаходяться зібрані класи;
  • src - ресурсний файл, якого немає в Jade Leap;
  • demo - містить проект DummyAgent.

Виконання роботи

Для запуску JADE-LEAP в Windows необхідно прописати параметр JAVA_HOME. Якщо він у вас ще не прописаний зробити це можна перейшовши у вкладку Комп'ютер -> Властивості системи далі перейти в Додаткові параметри системи в лівій частині з'явився віконця. Потрібна нам директорія Системні змінні знаходиться в опції Змінні середовища. Створюємо нову Системну змінну з назвою JAVA_HOME і прописуємо шлях в JRE, в нашому прикладі шлях до необхідних нам файлів наступний C: \ Program Files \ Java \ jre7.

У нашому прикладі ми хочемо запустити агента на планшеті Intel з процесором Intel Atom. Для тестування програми зручно використовувати Android Virtual Device. Надалі, на цьому віртуальному пристрої можна буде запустити ще одного агента в системі.


Мал.8.6.

Установка необхідних компонент

Для настройки віртуального пристрою необхідно перейти в Android SDK Manager і встановити всі елементи до версій Android 2.3.3 і 4.0.3, обов'язково перевірити, що у версії 4.0.3 в ці елементи входить Intel x86 Atom System Image ( Мал. 8.6 ). Саме з версії 4.0.3 почалася офіційна підтримка Intel x86 Atom System Image. А також, нам знадобиться Intel x86 Emulator Accelerator (HAXM). The Intel Hardware Accelerated Execution Manager (Intel®HAXM) - апаратна підтримка візуалізації, яка використовує технології Intel Virtualization Technology (Intel®VT) для прискорення емуляції Android.

Далі потрібно перейти в Android Virtual Manager, де ми створимо нове віртуальне пристрій для тестування нашого застосування. Увійшовши в меню Android Virtual Manager створюємо новий пристрій з необхідними нам параметрами ( Мал. 8.7 ). Оскільки ми будемо створювати додаток під планшет Intel, то бажано створити віртуальний пристрій з наближеними параметрами.


Мал.8.7.

Установки віртуального пристрою

Пропишемо необхідні параметри віртуального пристрою на Мал. 8.7 . Як ім'я можете ввести будь-який. Наш пристрій ближче є планшетом з сенсорним екраном 10.1, вибираємо платформу Android 4.0.3. c API Level 15. При виборі Android 4.0.3 з'являється можливість поставити Intel Atom (x86) в графі CPU (вибір процесора), це нам і потрібно для нашого пристрою.

Галочки в графах Keyboard і Skin ми не встановлюємо. Camera Front і Back залишимо віртуальні, тому що в нашому додатку камера поки не використовується хоча в реальному пристрої вона є. Оперативну пам'ять встановлюємо 512Mb, а пам'ять використовувана додатком VM Heap - 32. Такі параметри виявилися оптимальними для емуляції на нашому ноутбуці. Також встановлюємо внутрішню Пам'ять 2000 Mb і зовнішню 1000 Mb пам'ять. Також, ставимо галочку на Use Host GPU (Graphics processing unit) для прискорення роботи нашого емулятора. Залишилося тільки запустити Intel x86 Emulator Accelerator (HAXM) і можна працювати з емулятором під Intel Atom - OC Android. Це можна зробити, перейшовши в каталог C: \ Program Files (x86) \ Android \ sdk \ extras \ intel \ Hardware_ Accelerated_Execution_Manager і запустивши IntelHaxm.exe. Тепер можна запустити наше віртуальне пристрій перейшовши в меню Android Virtual Manager. Вибираємо наш пристрій і натискаємо start.

Контейнер платформи JADE запускається під час запису аргументу як -container. Щоб запустити контейнер в Eclipse IDE необхідно спочатку запустити Main Container, в нашому прикладі з головним контейнером компілюється і агент Ping ( "Мультиагентні технології" ). Після запуску Main Container треба перейти назад в проект Eclipse і запустити його з аргументом -container, це можна зробити перейти у вкладку RunConfiguration ( Мал. 8.8 ).


Мал.8.8.

Зміна Program argument

Після запуску в інтерфейсі платформи отримуємо додатковий контейнер Container-1, який поки не містить агентів. Натиснувши, лівою кнопкою миші на новий контейнер, перейшовши в StartNewAgent запускаємо агента Ping ( "Мультиагентні технології" )

Для того щоб передати просте повідомлення на створеного нами Ping агента нам необхідно відкрити агента DummyAgent. Такий агент можна відкрити з мобільного пристрою з ОС Android. Перед тим як використовувати наш планшет запустимо DummyAgent в налаштованому нами віртуальному пристрої. У відкритому робочому просторі необхідно імпортувати проект DummyAgent з скачав нами раніше архіву Jade-Android. Заходимо у вкладку File -> Import -> General -> Existing Projects into Workspace. Знаходимо потрібний нам проект в папці jade / add-ons / jade4android / demo і натискаємо Import. Тепер необхідно додати потрібні бібліотеки Jade. Вони знаходяться в папці add-ons / jade4android / lib. Додати бібліотеки можна через вкладку Project -> Properties -> JavaBuild -> Library.

Для запуску агента на Віртуальному пристрої перейдіть у вкладку RunConfiguration. Виберіть свій проект і віртуальний пристрій. Натисніть кнопку Apply а потім Run. Запуститься віртуальний пристрій і DummyAgent. Тепер відправте повідомлення на створений нами Ping агент в Container-1.

Після запуску програми ми можемо знайти готовий інсталяційний файл .apk в папці .bin нашого проекту.

Завдання для самостійної роботи

  1. Запустити інсталяційний файл на вашому пристрої.
  2. Передати повідомлення на Ping агент.
  3. Запустити готовий приклад ChatClient скачавши його за посиланням http://jade.tilab.com/ в каталог examples.

висновки

У цьому розділі були розглянуті переваги мультиагентной мережі групи легких БПЛА в порівнянні з групою одиночних комплексів БПЛА. За рахунок мультиагентного взаємодії в групі, кожен БПЛА-агент здатний автономно коригувати свою задачу при зміні обстановки в навколишньому середовищі або при зміні глобального завдання. Для створення мультиагентної мережі БПЛА наведено нова трирівнева система управління групою. Апаратна реалізація такої системи управління реальна за рахунок впровадження середнього шару - мікрокомп'ютера, який обмінюється даними з іншими мікрокомп'ютер БПЛА і базовою станцією, а також коригує завдання автопілоту. Розглянуті приклади двох основних типів завдань для групи БПЛА - завдання моніторингу місцевості і завдання оптимізації польоту БПЛА. Алгоритм моніторингу місцевості показаний на прикладі дослідження екологічної обстановки в акваторії. Показано, що для будь-якого візуального дослідження території за допомогою групи БПЛА алгоритм буде відрізняться тільки в типі джерела сигналу, а в апаратній частині літака тільки відмінність полягатиме в типі обладнання [14-16] .