Санкт-Петербургский государственный университет
Опубликован: 12.07.2013 | Доступ: платный | Студентов: 10 / 3 | Длительность: 09:36:00
Специальности: Программист
Самостоятельная работа 4:

Пример мультиагентного приложения с JADE-агентом на платформе Android

< Лекция 4 || Самостоятельная работа 4 || Лекция 5 >
Аннотация: Создание нескольких рабочих контейнеров в мультиагентной платформы 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).

Изменение Program argument

Рис. 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].

< Лекция 4 || Самостоятельная работа 4 || Лекция 5 >
Николай Корнеев
Николай Корнеев

В самостоятельной работе №1 нет примера lab01 файла labAtom32.rar. Ссылка которая есть в презентации

www.math.spbu.ru/user/gran/Atom32/lab01

не работает?