Сетевое издание
Современные проблемы науки и образования
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

ПРОЕКТИРОВАНИЕ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ РЕТРАНСЛЯЦИИ ДАННЫХ С МОБИЛЬНЫМИ КЛИЕНТАМИ НА ОСНОВЕ КРОССПЛАТФОРМЕННЫХ МЕТОДОВ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Лебедев А.С. 1 Большаков О.С. 1 Петров А.В. 1
1 ООО "НаноАрм"
В статье сформулирована актуальная задача разработки системы ретрансляции данных с биомедицинских датчиков на интернет-ресурс с помощью мобильных устройств. Представлен краткий обзор проблем и особенностей разработки кроссплатформенных мобильных приложений. Описаны особенности постановки задачи построения распределенной системы ретрансляции данных с биомедицинских датчиков, связанные с отсутствием методологии построения подобных систем. Описан проект архитектуры такой системы, выбрана технология реализации, сформулированы особенности функционирования мобильных устройств как ретрансляторов данных от биомедицинских датчиков и технические требования к серверной части подсистемы сбора и отображения данных, а именно ограничения, накладываемые характеристиками канала передачи данных между биомедицинскими датчиками и мобильными устройствами, характеристиками канала передачи данных между мобильными устройствами и серверной частью системы, использованием мобильного устройства в качестве ретранслятора данных с биомедицинских датчиков.
методологии разработки.
облачные технологии
технологические платформы
кроссплатформенность
инструменты разработки
мобильные приложения
1. Bishop J., Horspool N. Cross-Platform Development: Software that Lasts // IEEE Computer. – 2006.
2. Kramer D., Clark T., Oussen S. Platform Independent, Higher-Order, Statically Checked Mobile Applications // International journal of design, analysis and tools for circuits and systems. – 2011. – Vol. 2. – № 1.
3. Mobile Review Q2 2012 [Electronic Resource] / Callcredit Information Group. – Режим доступа: http://knowledgebank.marketingweek.co.uk/documents/Q2%202012%20 Mobile%20Review .pdf, свободный. – Загл. с экрана.
4. NVIDIA's Tegra 3 Launched: Architecture Revealed [Electronic Resource] / AnandTech. – Режим доступа:http://www.anandtech.com/show/5072/nvidias-tegra-3-launched-architecture-revealed/2, свободный. – Загл. с экрана.
5. Sai D. R., Cross Platform Compatibility on Mobile Operating Systems // International Journal of Computer Science and Telecommunications – 2011. – Vol. 2. – № 4.

Введение

Сегодня мобильные вычислительные устройства (смартфоны) обладают значительной вычислительной мощностью, длительным временем автономной работы (до 4 вычислительных ядер общего назначения и 12 ядер специализированного назначения в процессоре Nvidia Tegra 3 пиковой производительностью до 12 Gflops [4]), широкой коммуникационной периферией, набором встроенных сенсоров. Можно сказать, что современные смартфоны и планшетные компьютеры прочно заняли нишу персональных вычислительных устройств [3] и число их пользователей постоянно растет, а статистические данные по интенсивности и продолжительности их использования одним пользователем сравнимы с обычными персональными компьютерами и ноутбуками.

В компьютерной индустрии и практике разработки программного обеспечения давно сложилась ситуация, при которой появление нового аппаратного обеспечения ставит перед разработчиками программ новые требования и вызовы. Аналогичную ситуацию мы можем наблюдать и в области разработки программного обеспечения для мобильных устройств. Требуются новые методы, модели, алгоритмы и инструменты, позволяющие эффективно создавать программное обеспечение для мобильных вычислительных устройств с учетом всех качеств, отличающих мобильные устройства от стандартных компьютеров.

Требуется поиск новых подходов к проектированию и разработке кроссплатформенного программного обеспечения для мобильных систем.

Основные проблемы разработки кроссплатформенного программного обеспечения для мобильных систем

Одной из основных проблем, которую постоянно приходиться решать разработчикам программных систем, является проблема изменения требований к разрабатываемому продукту в течение его разработки и в последующем [1]. Постоянно предпринимаются попытки решения этой проблемы как на теоретико-методологическом уровне (выработка новых методологий создания ПО и адаптация существующих методологий к новым задачам), так и на инструментально-практическом уровне (разработка новых инструментов, позволяющих приближать инструментарий разработчика к предметной области решаемой задачи, повышать уровень абстракции используемых компонентов, поддерживать согласованность формальных моделей разрабатываемого решения во времени и их верификацию). В работе [1] выделяют следующие требования, с возникновением которых требуется адаптировать разрабатываемую программную систему:

1) возникновение новых функциональных требований, затрагивающих формальные модели предметной области и алгоритмы поведения системы (алгоритмы «бизнес-логики» системы), при этом требования к платформе и производительности могут оставаться неизменными;

2) изменения нефункциональных требований, связанных с требованиями к производительности программной системы – её пропускной способности, максимальным временам задержек, вопросам безопасности, вопросам энергоэффективности;

3) изменения требований к платформе и технологиям разработки. Данные изменения требуют полной или частичной адаптации разрабатываемой программной системы к новым языкам программирования, операционным системам, новому аппаратному обеспечению.

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

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

Если задаться целью поддержки безошибочной работы программного обеспечения для основных на данный момент мобильных вычислительных устройств, то разработчик будет вынужден решать следующие проблемы фрагментированности:

1) отличия форм-факторов мобильных устройств (габаритные размеры, наличие определенных функциональных клавиш в интерфейсе устройства);

2) отличия аппаратного обеспечения мобильных устройств (разрешение экрана, диагональ экрана, наличие необходимых сенсоров, коммуникационных модулей, производительность процессора, производительность графического сопроцессора и прочее);

3) отличия операционных систем, установленных на устройствах (для примера приведем список операционных систем, установленных на современных смартфонах: iOS 6.0+, HP WebOS, Windows Phone 7, Windows 8, Symbian, Bada, Maemo, RIM Blackberry);

4) отличия версий одной операционной системы (пример: iOS iPhone / iPhone 3G, iOS iPhone 3GS, iOS 4.6-4.7, iOS 5.x, iOS 6.0+; Android 4.1.x, 4.2 Jelly Bean; Android 4.0.x Ice Cream Sandwich; Android 3.x.x Honeycomb; Android 2.3.x Gingerbread; Android 2.2 Froy; Android 2.0, 2.1 Eclair; Android 1.6 Donut; Android 1.5 Cupcake).

Архитектура распределенной системы ретрансляции данных с клиентскими мобильными приложениями

Проектируемая распределенная система ретрансляции данных мобильных клиентов предназначена для сбора и доставки до специалистов предметной области данных о показателях состояния человека. Актуальность данной системы подтверждается необходимостью проведения медицинских обследований пациентов в течение длительного времени при обычных условиях их жизни (вне кабинета врача). В качестве примера можно привести применяемый уже много лет метод суточного мониторирования ЭКГ человека.

Рис. 1. Проектируемая архитектура распределенной системы ретрансляции данных с клиентскими мобильными приложениями.

На сегодняшний день широко распространены системы постоянного сбора данных с биомедицинских датчиков, носимых человеком, однако большинство из них не обладают функцией оперативного оповещения врача о состоянии пациента и функцией ретрансляции собираемых данных в реальном времени. Для реализации данных функций нами было принято решение об использовании современных мобильных персональных средств связи (смартфонов и планшетных компьютеров) в качестве модулей ретрансляции данных с биомедицинских датчиков. Схема спроектированной архитектуры представлена на рисунке 1.

Основными элементами архитектуры являются биомедицинские датчики, ретрансляторы, серверы и клиентские устройства. Ретрансляторами являются мобильные персональные устройства связи, работающие под управлением разнообразных мобильных операционных систем и обеспечивающие прием данных от биомедицинских датчиков по беспроводному каналу связи группы стандартов 802.11, 802.15 и передачу их на серверы по каналам связи сети Интернет. Серверы обеспечивают прием и хранение данных от ретрансляторов (back-end серверы) и предоставление специалистам пользовательского интерфейса работы с данными (front-end серверы). По результатам анализа принято решение о целесообразности использования облачных платформ для организации работы серверов. Клиентские вычислительные устройства представляют собой мобильные и настольные персональные вычислительные устройства, предоставляющие графический пользовательский интерфейс доступа к серверам.

Одной из основных задач, решенных на этапе проектирования системы, был выбор технологии кроссплатформенной разработки программного обеспечения для мобильных устройств ретрансляторов данных.

Технологии кроссплатформенной разработки программного обеспечения для мобильных устройств ретрансляторов данных

В ходе работы было проведено аналитическое сравнение следующих технологий:

1) среды исполнения промежуточного представления (виртуальные машины, исполняющие промежуточный байт-код и портированные под требуемые платформы);

2) генераторы нативного кода (трансляторы с промежуточного представления на язык, написанные на котором программы компилируются непосредственно под требуемую платформу, например: MobileDSL [2]);

3) веб-сервисы (web-приложения, использующие HTML5, Javascript, Web Socket и прочее);

4) нативные веб-обертки (приложения, скомпилированные под заданную платформу, но содержащие в себе браузер, позволяющий взаимодействовать из web-страницы с нативным приложением и тем самым упрощающий портирование графического интерфейса);

5) использование слоя виртуализации (например, проект Gen.Y.DualBOOT [5], позволяющий запускать ОС Android на смартфонах под управлением Windows Mobile).

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

С одной стороны, синтез данных подходов в рамках одной технологии позволяет обеспечить эффективное взаимодействие с аппаратным обеспечением мобильного устройства, что важно для поддержания надежного канала связи с биомедицинским датчиком и высокой оперативности обмена данными с сервером. С другой стороны, использование нативной веб-обертки позволяет с минимальными усилиями со стороны разработчиков реализовать кроссплатформенный интерфейс конфигурации ретранслятора.

Специфика функционирования биомедицинских датчиков и мобильных устройств в разрабатываемой системе

Разрабатываемая система обладает определенной спецификой функционирования, отличающей её от других распределенных систем с мобильными клиентами. Перечислим основные специфические черты разрабатываемой системы, связанные в первую очередь с использованием биомедицинских датчиков и мобильных устройств. Во-первых, можно назвать ограничения, накладываемые характеристиками канала передачи данных между биомедицинскими датчиками и мобильными устройствами, например фиксированный перечень интерфейсов связи, поддерживаемый мобильными телефонами и биомедицинскими датчиками, необходимость его согласования. Большинство мобильных устройств могут принимать данные, используя следующие технологии: GPRS, 3G, 4G и другие технологии данной группы; WiFi, Bluetooth; некоторые модели мобильных устройств поддерживают технологию RFID; в некоторых случаях для передачи данных в мобильное устройство используются видеосенсор и микрофонный вход. Соответственно такой набор технологий связи диктует требования к наличию определенных интерфейсов у биомедицинских датчиков. Кроме данного фактора, в качестве примеров ограничений можно привести следующие: ограниченная пропускная способность канала передачи данных между биомедицинским датчиком и мобильным устройством; необходимость одновременной с точки зрения пользователя работы с несколькими биомедицинскими датчиками; повышенное потребление электроэнергии как со стороны датчика, так и со стороны мобильного устройства в режиме передачи данных.

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

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

Специфика и технические требования к сервисам, связанным со сбором биомедицинской информации с интеллектуальных датчиков

Как отмечено на рисунке 1, разрабатываемая система включает в себя мобильные клиентские приложения и серверную часть, обладающую определенной спецификой, которая может быть сформулирована в виде следующих технических требований.

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

Кроме этого, каналы взаимодействия с серверной частью по различным интерфейсам должны быть защищены, поскольку по ним могут передаваться персональные данные пациентов. Протоколы сбора данных и взаимодействия серверной части с ретрансляторами должны предполагать следующие особенности разрабатываемой системы:

1) динамическую маршрутизацию и работу в условиях низкой надежности каналов связи, вызванной как возможностью временного отсутствия ретрансляторов в зоне доступности сети, так и спецификой использования персональных мобильных устройств в качестве ретрансляторов;

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

Алгоритмы хранения данных, передачи данных с ретрансляторов на серверную часть и алгоритмы доступа и поиска данных на серверной части должны учитывать специфику данных с биометрических датчиков, а именно:

1) большой объем данных в бинарном виде, представляющих собой последовательности значений сигналов, оцифрованных и преобразованных датчиком;

2) возможность аннотации признаками определенных подпоследовательностей данных внешними по отношению к разрабатываемой системе системами обработки данных.

Выводы

В ходе аналитического обзора информационных источников по теме работы, а также в ходе проектирования архитектуры рассматриваемой системы стало очевидно отсутствие комплексной методологии разработки кроссплатформенных мобильных приложений, функционирующих в составе распределенных вычислительных систем. Такая методология должна охватывать все этапы жизненного цикла разработки программного обеспечения и при этом учитывать все особенности данного класса программ. Существующие на сегодня методологии или являются чрезмерно общими, или фактически являются инструкциями к применению той или иной технологии, затрагивающей лишь некоторые этапы разработки программ. Поэтому актуальной является задача формулирования методологии разработки кроссплатформенных мобильных приложений и создания инструментального средства её поддерживающего. Описанная работа направлена на решение данной задачи и приложения полученного решения к области построения распределенных систем ретрансляции данных с биомедицинских датчиков с помощью мобильных ретрансляторов.

Работа выполнена при финансовой поддержке Министерства образования и науки Российской Федерации (госконтракт № 14.514.11.4030).

Рецензенты:

Шатульский А.А., доктор технических наук, профессор, проректор, ФГБОУ ВПО «РГАТУ имени П.А. Соловьева», г. Рыбинск.

Серебряков С.П., доктор технических наук, профессор, преподаватель, ФГБОУ ВПО «РГАТУ имени П.А. Соловьева», г. Рыбинск.

Антонов Александр Владимирович, д.т.н., профессор, декан факультета «Кибернетика» Обнинского института атомной энергетики Национального исследовательского ядерного университета МИФИ Министерства образования и науки Российской Федерации, г. Обнинск.


Библиографическая ссылка

Лебедев А.С., Большаков О.С., Петров А.В. ПРОЕКТИРОВАНИЕ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ РЕТРАНСЛЯЦИИ ДАННЫХ С МОБИЛЬНЫМИ КЛИЕНТАМИ НА ОСНОВЕ КРОССПЛАТФОРМЕННЫХ МЕТОДОВ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ // Современные проблемы науки и образования. – 2013. – № 1. ;
URL: https://science-education.ru/ru/article/view?id=8239 (дата обращения: 29.03.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674