Помощь в учёбе, очень быстро...
Работаем вместе до победы

Языки программирования. 
Разработка системы, которая определяет и настраивает устройства умного дома на основе протокола ZigBee

РефератПомощь в написанииУзнать стоимостьмоей работы

Основная идея фреймворка OSGi — система состоит из бандлов. Основной способ взаимодействия между бандлами — сервисы: объекты, зарегистрированные в ядре системы с заявленными реализованными интерфейсами. Бандлы регистрируют сервисы для предоставления определенной функциональности другим бандлам. Помимо этого OSGi предоставляет механизм создания и обработки событий, управление импортом/экспортом… Читать ещё >

Языки программирования. Разработка системы, которая определяет и настраивает устройства умного дома на основе протокола ZigBee (реферат, курсовая, диплом, контрольная)

Язык С++

Для реализации работы с ZigBee на языке C++ можно воспользоваться библиотекой ZigbeeLib [1]. Для создания агентов можно воспользоваться библиотекой agents.h.

Язык С#

Для реализации работы с ZigBee на языке C# можно воспользоваться библиотекой GBee [2]. Однако использование данной библиотеки накладывает дополнительное ограничение на аппаратную часть системы: данная библиотека разработана специально для работы с модулями XBee.

Библиотека, которая позволяет работать с агентами, не была найдена.

Язык Java

Для работы с ZigBee устройствами для языка существует несколько библиотек:

  • — библиотека zigbee4java [3];
  • — библиотека ZB4O [4].

Для работы с агентами можно воспользоваться агентной платформой JADE [5].

Выбор технологий

Наиболее целесообразно использовать язык Java. Данный язык является кроссплатформенным, быстрым, для него есть большое количество библиотек и документации.

Диаграмма ограничений.

Рисунок 11 — Диаграмма ограничений.

Для работы с ZigBee сетями лучше всего подходит библиотека ZB4O т.к. в данной библиотеке помимо работы с ZigBee, как это сделано в zigbee4java, есть возможность использовать платформу OSGI, что увеличивает гибкость системы в целом.

Для разработки агентной составляющей системы необходимо воспользоваться библиотекой Jade, т.к. Jade одна из самых распространённых агентных платформ и отлично встраивается в проекты любой сложности.

Выбранные проектные решения отображены на рисунке 11.

ZB4O

ZB4OSGI — это набор OSGI бандлов (в терминах OSGI бандлы равносильны плагинам), которые позволяют интегрировать ZigBee сети вместе с платформой сервисов OSGI. Проект имеет следующие бандлы:

  • — драйвера для доступа USB аппаратным ключам (dongle);
  • — реализация библиотеки кластеров ZigBee;
  • — реализация ZigBee профилей;
  • — инструменты для взаимодействия с ZigBee устройствами и многое другое.

Теперь рассмотрим подробнее платформу OSGI. OSGi (Open Services Gateway Initiative) — спецификация динамической плагинной (модульной) подсистемы для создания Java-приложений, разрабатываемая консорциумом OSGi Alliance. Круг применений данной спецификации довольно широк: изначально разрабатывалась для создания встроенных систем (в частности, для автомобилей BMW, также в разработке спецификации активно участвует Siemens), но сейчас на базе OSGi строят многофункциональные приложения (например, Eclipse SDK) и Enterprise-системы (например, Naumen DMS).

Основная идея фреймворка OSGi — система состоит из бандлов. Основной способ взаимодействия между бандлами — сервисы: объекты, зарегистрированные в ядре системы с заявленными реализованными интерфейсами. Бандлы регистрируют сервисы для предоставления определенной функциональности другим бандлам. Помимо этого OSGi предоставляет механизм создания и обработки событий, управление импортом/экспортом java-пакетов и библиотек, методы адресации ресурсов. Распределение ресурсов и jar-файлов по бандлам позволяет однозначно решить проблему загрузки классов (jar hell), а реализация взаимодействия в виде реестра сервисов и событийной модели позволяет не запутаться в обилии взаимодействующих частей (особенно в случае большого приложения) и практически безгранично расширять приложение. Самое важное то, что можно не перезапуская приложение, устанавливать, подключать, отключать и обновлять модули системы.

Агентная платформа JADE

Java Agent Development Framework — одна из самых широко используемых платформ для создания агентов. Она включает в себя:

  • — библиотеку для создания агентов;
  • — runtime для исполнения агентов;
  • — инструменты для отладки, мониторинга и настройки агентов.

JADE реализована согласно FIPA (Foundation for Intelligent Physical Agents). Программная среда JADE подключается к любому проекту на языке Java. Агенты JADE могут быть совершенно разными — от простых, только реагирующих на события, до сложных многокомпонентных агентов.

Показать весь текст
Заполнить форму текущей работой