Встраиваемые системы принесли новые вызовы для разработчиков

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

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

Ресурс Tech Target опросил экспертов американской индустрии встраиваемого ПО с целью выяснить особенности разработки под встраиваемые системы. Одна из них заключается в том, что встраиваемая система – это и аппаратное, и программное обеспечение в совокупности. Поэтому зачастую разработка аппаратной части ведется параллельно программной, заявил Tech Target Йон Хагар (Jon Hagar), эксперт компании Grand Software Testing из Колорадо, США.

Менеджеры проектов ожидают, что и то, и другое будет закончено примерно к одному сроку. Однако зачастую программное обеспечение тесно завязано на аппаратную часть, и в результате разработчикам приходится трудиться над ПО, не вполне понимая, на какой «электронной начинке» оно будет работать, пояснил он.

Вторая особенность встраиваемых систем по сравнению с традиционными системами для бизнеса состоит в том, что для первых зачастую не существует фундаментальных стандартов разработки. Об этом заявил Крис Роммель (Chris Rommel), вице-президент по направлению M2M и встраиваемых систем в компании VDC Research Group. Так, для бизнес-системы можно предположить, что она разрабатывается для серверов Intel, принципы построения приложений для которых регламентируются компанией-производителем. В случае встраиваемой системы, когда и аппаратное, и программное обеспечение создается самими разработчиками, архитектура ПО часто зависит от творческой фантазии создателя. В результате возникает фрагментированность, отметил эксперт.

И Крис Роммель, и Йон Хагар единогласно выделили такую особенность «встраиваемой» разработки, как повышенная потребность в тестировании готового ПО. «Тестирование важно для любой системы, однако в мире встраиваемого ПО оно более значимо, так как многие встраиваемые системы используются в критически важных областях, – отметил Хагар. – Сравните, к примеру, ПО для кардиостимулятора и веб-страницу».

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

Еще одну особенность разработки под встраиваемые системы отметил Дэйв Хэттер (Dave Hatter), архитектор ПО в американской компании Definity Partners. В случае традиционного бизнес-приложения клиент может сообщить разработчику, для какой платформы ему требуется приложение, однако выбор инструментов разработки, баз данных и языков программирования, как правило, остается за разработчиком.

Для встраиваемой системы, однако, инструменты разработки зачастую поставляются производителем аппаратных компонентов – например, студией разработки для микроконтроллеров. Их выбор достаточно ограничен и требует от разработчика более узкой специализации. Исключения составляют случаи, когда устройство создается на базе мобильной или встраиваемой ОС, например Android или Windows Embedded. В этом случае разработчик может использовать традиционные IDE, популярные языки вроде Java и прочие тиражируемые инструменты создания ПО, заметил Йон Хагар.

Наконец, серьезным вызовом для разработчиков встраиваемых систем является производительность ПО, заявила ресурсу Tech Target Мэрилин Вулф (Marilyn Wolf), сотрудник научно-исследовательского технологического института штата Джорджия. Она пояснила: «В случае создания приложения для бизнеса вы в первую очередь заботитесь о функциональности, и в последнюю – о производительности. В случае встраиваемого приложения важна производительность в реальном времени: если выполнение операции не укладывается в определенные временные рамки, устройство приходит в негодность».

По словам Мэрилин Вулф, встраиваемые системы зачастую строятся с расчетом на низкое энергопотребление. «Это зависит от сферы применения приложения, однако менеджеру проекта стоит понимать основные принципы разработки систем реального времени со сниженным энергопотреблением», – заметила она.

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

Традиционные бизнес-системы отличаются от встраиваемого ПО целью разработки. Основная задача бизнес-систем – многозадачность, они должны выполнять по возможности максимальное количество функций, по отдельности даже не столь и важных для компании, поясняет Дмитрий Корнилович, руководитель отдела продуктового менеджмента департамента встраиваемых решений компании Quarta Technologies. «Встраиваемое ПО решает определенные задачи, нужен конкретный функционал, конкретные характеристики под конкретные требования. Достаточно часто к основным требованиям относятся безопасность, полная защищенность, отказоустойчивость, поддержка отраслевых стандартов. Для решения таких задач применяются специализированные программные продукты и операционные системы, например, такие как Windows Embedded. Данная ОС имеет множество специальных дополнительных возможностей (Write Filters, HORM и других), позволяющих сделать систему надежной, производительной и «заточенной» под решение конкретной задачи», – отмечает он.