Suchen

Wie das IoT die Embedded-Softwareentwicklung verändert

Seite: 2/2

Firmen zum Thema

Softwareentwicklung für IoT: Ein breites Spektrum an technischem Fachwissen

Die gewünschten Kompetenzen eines Entwicklers für eingebettete Systeme sind vielfältig. Sie umfassen neben generellen Kenntnissen des Softwareengineering u.a. speziellen Sachverstand der Gebiete Rechnerarchitektur (insb. Mikrocontroller), Programmiersprachen (z.B. Assembler, C, C++, Matlab), Betriebssysteme (insb. RTOS), Modellierung (UML, SysML) bzw. MDD, Safety und Security, Normen (z.B. IEC 61508, ISO 26262). Darüber hinaus wird Domänenwissen der Anwendung und wirtschaftliches Denken verlangt.

Für den Bereich IoT werden zu den geforderten Fähigkeiten gemäß den Architekturmodellen zukünftig Kenntnisse aus den Bereichen Internetprotokolle (z.B. REST, MQTT), Datenbanken, Cloud Computing, mobile Applikationen hinzukommen, um einen ganzheitlichen Ansatz der Entwicklung zu gewährleisten. Auch bei Projekten mit größeren Teams und damit verbundener Aufgabenteilung ist es erforderlich, dass alle Bereiche jedem Teammitglied mindestens bekannt sind.

Die zukünftige Entwicklergeneration sammelt Erfahrungen mit IoT-APIs. Das wird sich positiv auf die Bewältigung von IoT-Projekten auswirken. Durch die mit APIs verbundenen höheren Abstraktionsschichten wird ein größeres Spektrum an notwendigen Kenntnissen handhabbar und eine effiziente und zügige IoT-Entwicklung ermöglicht.

Allerdings bestehen Risiken, die sich aufgrund einer fehlenden Auseinandersetzung mit den Abstraktionsschichten ergeben können. Beispielsweise könnte Verständnis von Low-Level-Funktionsweisen verloren gehen, die u.a. für sicherheitsrelevante Einschätzungen wichtig sind.

Es wird für IoT-Entwickler notwendig sein, sich mit höheren Abstraktionsebenen und Kenntnissen außerhalb der üblichen Embedded-Systems-Entwicklung zu beschäftigen. Abstraktion mittels Modellen (UML/SysML) und High-Level-Programmierung werden dafür unumgänglich sein.

Bei IoT-Plattformen werden mächtige, gut dokumentierte, APIs mit Beispielen gegenüber anderen Ansätzen im Vorteil sein.

Die Qualität von SDKs wird an dem Komfort von SDKs für mobile Applikationen gemessen werden. Ebenfalls werden Anbieter von IoT-Systemen sich an Entwicklungszyklen orientieren und messen lassen, wie man sie eher für mobile Applikationen kennt.

Ferner ist zu erwarten, dass sich eine offene API bei starker Akzeptanz durch die Entwickler früher als ein Quasi-Standard durchsetzen wird als ein von einem Konsortium verabschiedeter Standard. Somit darf man gespannt sein, wie sich die Vorstöße (Brillo [13] und HomeKit [14]) in Richtung IoT der beiden derzeit führenden Anbieter von mobilen Betriebssystemen entwickeln werden.

Fazit: Die Softwareentwicklung für IoT umfasst ein breites Spektrum an technischem Fachwissen. Offene, mächtige APIs erlauben durch einen höheren Abstraktionslevel effiziente und zügige IoT-Entwicklungen. Embedded-Systems-Entwickler sollten sich mit diesen APIs beschäftigen, bevor sie ein IoT-Projekt starten.

Literatur- und Quellenverzeichnis

(alle Internetquellen Stand 28.09.15)

[1] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, M. Ayyash, Internet of things: a survey on enabling technologies, protocols and applications, IEEE Communications Surveys & Tutorials, Vol. PP, No. 99, 2015

[2] UBM Tech, 2014 Embedded Market Study: Then, Now: What’s Next?, 2014

[3] http://www.iot-a.eu

[4] https://allseenalliance.org/developers

[5] https://www.iotivity.org

[6] http://xively.com

[7] https://www.cumulocity.com

[8] https://www.arduino.cc

[9] https://www.mbed.com

[10] http://www.freertos.org

[11] http://developer.android.com

[12] G. Jeong, D. Kang, S. Lim, N. Dutt, An advanced course design for mobile embedded software through Android programming, Proc. Workshop on Embedded and Cyber-Physical Systems Education, Tampere, Finland 2013

[13] https://developers.google.com/brillo

[14] https://developer.apple.com/homekit


* Matthias König ist Professor für Embedded Software Engineering am Campus Minden der Fachhochschule Bielefeld. Seine Forschungsinteressen sind in Computer-Vision-Anwendungen auf eingebetteten Plattformen sowie deren effiziente Programmierung.

(ID:44099138)