Пример мультиагентного приложения с JADE-агентом на платформе Android
Цель лабораторной работы
Презентацию к лабораторной работе Вы можете скачать здесь.
Создать несколько рабочих контейнеров в мультиагентной платформы 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. В дальнейшем, на этом виртуальном устройстве можно будет запустить еще одного агента в системе.
Для настройки виртуального устройства необходимо перейти в 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. В качестве имени можете ввести любое. Наше устройство ближе является планшетом с сенсорным экраном 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).
После запуска в пользовательском интерфейсе платформы получаем дополнительный контейнер 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 нашего проекта.
Задания для самостоятельной работы
- Запустить установочный файл на вашем устройстве.
- Передать сообщение на Ping агент.
- Запустить готовый пример ChatClient скачав его по ссылке http://jade.tilab.com/ в каталог examples.
Выводы
В этой главе были рассмотрены приемущества мультиагентной сети группы лёгких БПЛА по сравнению с группой одиночных комплексов БПЛА. За счёт мультиагентного взаимодействии в группе, каждый БПЛА-агент способен автономно корректировать свою задачу при изменении обстановки в окружающей среде или при изменении глобальной задачи. Для создания мультиагентной сети БПЛА приведен новая трехуровневая система управления группой. Аппаратная реализация такой системы управления реальна за счёт внедрения среднего слоя – микрокомпьютера, который обменивается данными с другими микрокомпьютери БПЛА и базовой станцией, а также корректирует задачу автопилоту. Рассмотренны примеры двух основных типов задач для группы БПЛА – задача мониторинга местности и задача оптимизации полёта БПЛА. Алгоритм мониторинга местности показан на примере исследование экологической обстановки в акватории. Показано, что для любого визуального исследование территории с помощью группы БПЛА алгоритм будет отличатся только в типе источника сигнала, а в аппаратной части самолёта только отличие будет состоять в типе оборудование [14-16].