Aufgrund der Omnipräsenz und der Vernetzung sind die Benutzbarkeit (Usability) und Sicherheit (Security) von IoT-Lösungen besonders kritische Faktoren. Vernetzte Infrastrukturen müssen bestimmten gesetzlichen Standards entsprechen, insbesondere in Bezug auf den Datenschutz. Nach einem Bericht besitzen ca. zwei Drittel der Unternehmen, die Lösungen für das IoT entwickeln, noch keine Teststrategie, die die Prüfung funktionaler und nicht-funktionaler Eigenschaften der Geräte beinhalten würde [Her17]. Dies ist vornehmlich darauf zurückzuführen, dass der Wissensstand in den Unternehmen und bei den einzelnen Testern noch sehr gering ist.
Entsprechend wird in diesem Artikel die Implementierung einer virtuellen Lernumgebung für Aus- und Weiterbildung im Bereich des Internets der Dinge vorgestellt. Ziel der Umgebung ist es, eine strukturierte, didaktisch aufbereitete Einführung in anspruchsvolle Projekte im Umfeld des Internets der Dinge mit Bezug zu Qualitätssicherung und Testing zu ermöglichen. Damit soll ein möglichst hoher Qualitätsstandard von IoT-Testing-Projekten durch eine didaktisch fundierte Begleitung während des gesamten Projektablaufs gewährleistet werden. Die Herausforderung besteht darin, bereits vorhandenes Wissen und Erfahrungen in Form von Wissensbausteinen zu kapseln, aufzubereiten und diese didaktisch strukturiert zur gezielten Weitervermittlung durch Experten in einer interaktiven, virtuellen Lernplattform zu verwenden.
Im Folgenden wird ein Beispiel für spielerische, an realen Anwendungsfeldern in Unternehmen und Organisationen ausgerichtete Trainingsmaßnahmen als Ergänzung zu bereits existierenden Workshops, Seminaren und Tutorials sowie auch zur interaktiven, praxisnahen Vorbereitung auf Zertifizierungsprüfungen im Bereich IoT-Testing vorgestellt.
Als Basiswerkzeug hierfür dient LEGO MINDSTORMS Education, das im Rahmen der Implementierung eines LEGO MINDSTORMS-Lernlabors, welches in einer virtuellen Lernumgebung simuliert werden kann, genutzt wird.
Welchen Einfluss hat LEGO® MINDSTORMS® auf Aus- und Weiterbildung?
LEGO MINDSTORMS wurde im Jahr 1998 eingeführt. Seitdem wurde es auch im Bereich des Unterrichts an allgemeinbildenden Schulen, insbesondere in den MINT-Fächern Mathematik, Informatik, Naturwissenschaften und Technik, angewandt und durch neue, fachspezifische Module für beispielsweise den Physik- oder den Informatikunterricht erweitert. Dies wurde zum Beispiel am Humboldt-Gymnasium Berlin-Tegel umgesetzt [HuGy].
Darüber hinaus wird LEGO MINDSTORMS mittlerweile auch im Bereich der beruflichen Aus- und Weiterbildung eingesetzt, so auch im Rahmen der Ausbildung von Elektronikern für Betriebstechnik beim Holzwerkstoffhersteller Pfleiderer GmbH in Neumarkt/Oberpfalz [Pfl]. Des Weiteren wird auch im Hochschulbereich, insbesondere an MINT-Fakultäten, im Rahmen von diversen Forschungsprojekten mit LEGO MINDSTORMS gearbeitet. Dazu gehören unter anderem Forschungsprojekte und Lehrveranstaltungen an der Universität Wien [UniVie16, UniVie18], der Hochschule Heilbronn [HHN], der Hochschule München [HM], der Hochschule RheinMain [HRM], der Hochschule Aschaffenburg [THAB, Per16] und der Hochschule Bremerhaven [HSBH].
Einige öffentliche Schulen sind ebenfalls bereits Mitglied in der First Lego League [1LegoL]. Dabei handelt es sich um ein Förderprogramm, welches Kindern und Jugendlichen einen spielerischen Zugang zu technischen und naturwissenschaftlichen Fächern bietet. Ziel soll es sein, bei Schülern Interesse für technische, naturwissenschaftliche und IT-Berufe zu wecken. Doch LEGO MINDSTORMS wird auch im Rahmen beruflicher Weiterbildung eingesetzt, beispielsweise in der Weiterbildung von Lehrern. Das Fraunhofer-Institut für intelligente Analyse- und Informationssysteme bietet eine Qualifizierung für Lehrkräfte aller Fachrichtungen zum zertifizierten Roberta Teacher an [Fraun].
Um eben diesen Ansatz der Nutzung von LEGO MINDSTORMS zum Wissensaufbau weiter zu verfolgen, wird im folgenden Kapitel ein Ansatz für die Errichtung einer virtuellen Lernumgebung für Internet of Things Quality Assurance mit Anbindung an ein LEGO MINDSTORMS-Testlabor näher beschrieben.
Ansatz für eine virtuelle Lernumgebung für IoT-QA auf Basis von LEGO® MINDSTORMS® Education
Im Folgenden wird der Aufbau eines virtuellen Lernlabors für Internet of Things Testing mit LEGO MINDSTORMS Education [Lego] vorgestellt. Dies beinhaltet eine Programmierschnittstelle, die mit verschiedenen mobilen Endgeräten genutzt werden kann. Es wird eine Vielzahl gängiger Programmiersprachen wie Java, JavaScript, C, C++ oder Python unterstützt. Das Lernlabor kann auch als Ergänzung von Trainingsmaßnahmen dienen, die auf Qualifizierungen im Bereich Internet of Things Quality Assurance vorbereiten. Im Folgenden wird erläutert, warum dies insbesondere für das Testen im Bereich des IoT von besonderer Bedeutung ist.
Beim Testen von Lösungen im Bereich des Internets der Dinge wird von den Testern eine wesentlich größere Identifikation mit den fachlichen Anforderungen als beim klassischen Testen von Software vorausgesetzt. Vor allem ist eine detaillierte Auseinandersetzung mit der Funktionsweise der zu testenden Geräte und Umgebungen sowie auch mit deren potenziellen Sicherheitsaspekten erforderlich. Von den Testexperten wird erwartet, dass sie neben den technischen auch die fachlichen Anforderungen der (End-)Anwender verstehen und nachvollziehen können. Daher müssen sie sich noch auf einer deutlich höheren Ebene als beim allgemeinen Software-Testing in die Sichtweise der (End-) Anwender hineindenken und nachvollziehen können, welche Aktionen von diesen in der IoT-Umgebung ausgeführt werden und warum.
Abbildung 1 stellt den Aufbau der virtuellen Lernumgebung dar. Auf die Lernumgebung kann unabhängig davon, an welchem Ort man sich gerade befindet, mit einem Laptop, einem Tablet-PC oder einem Smartphone zugegriffen werden, und es können Experimente und Übungen durchgeführt werden.
Abb. 1: Aufbau einer virtuellen Lernumgebung
Case-Study – Erweiterung des Übungsprojekts „Self-Driving Car“ um eine Lerneinheit für Testing
Testobjekt ist das Verhalten eines selbstfahrenden LEGO-Fahrzeugs an einer Straßenkreuzung. An der Kreuzung befindet sich eine Ampelanlage. Ist diese nicht in Betrieb, sollen die entsprechenden Verkehrszeichen wie „Vorfahrtsstraße“, „Vorfahrt beachten“ oder das „Stoppschild“ erkannt werden und das LEGO-Fahrzeug soll sich entsprechend verhalten. Die Situation soll ebenfalls analysiert werden, wenn unabhängig von der jeweiligen Ampelphase und den Verkehrszeichen ein Fußgänger die Straße überquert, da dieser auf keinen Fall über- oder angefahren werden darf. Das Fahrzeug soll optional auch erkennen können, ob eine Ampel außer Betrieb oder defekt ist. In letzterem Fall soll das Fahrzeug einen automatischen Notruf an eine Polizeistation absetzen.
In einem Übungsprojekt sollen Testfälle für das Szenario erstellt werden. Der Anwendungsfall selbst wird in einer virtuellen Lernumgebung für IoT-Testing simuliert. Das LEGO-Self-Driving-Fahrzeug verfügt über smarte IoT-Kamerasensoren sowohl an der Vorder- als auch an der Rückseite. Somit können eventuelle Hindernisse beim Vorwärts- und Rückwärtsfahren erkannt werden. Die Lernenden (zumeist Test Engineers, Test Analysts und Testautomatisierer) registrieren sich über die virtuelle Lernplattform Moodle. Sie werden entsprechend ihren Wünschen, Neigungen, Kenntnissen, Erfahrungen oder projektspezifischen Anforderungen einer Lerngruppe und einem virtuellen Mentor zugewiesen. Anschließend werden die Lernenden zu einem für sie infrage kommenden IoT-Testing-Workshop eingeladen. Ein virtueller Mentor fungiert zugleich als Testmanager, während sich die Lerngruppen selbst organisieren. Das bedeutet, dass der virtuelle Mentor lediglich die Koordination des Übungsprojekts übernimmt und Anleitungen gibt. Die Entscheidung, welche Methoden, Prozesse und Tools angewandt werden, obliegt den Mitgliedern der Lerngruppe. Die LEGO- MINDSTORMS-Testumgebung wird in einem virtuellen Moodle Classroom simuliert.
Der Use-Case (vgl. auch Abb. 2) basiert auf einem bereits etablierten Übungsprojekt des LEGO-MINDSTORMS-Education-Lehrmaterials für den Informatikunterricht in der gymnasialen Oberstufe. Im Rahmen dieses Übungsprojekts dient ein selbstfahrendes LEGO-Fahrzeug als Testobjekt. Allerdings ist das Übungsprojekt für den Einsatz im Unterricht ausgelegt und die Aufgabenstellung muss folglich angepasst werden. Zunächst soll eine Teststrategie für das selbstfahrende LEGO-Fahrzeug in der Situation der Überquerung einer Kreuzung mit Ampelsteuerung ausgearbeitet werden.
Abb. 2: Use-Case „Selbstfahrendes LEGO®-Fahrzeug“
Ein Auszug der möglichen Test-Cases, die im Rahmen des Use-Cases geprüft werden sollen, ist in der Entscheidungstabelle (vgl. Tabelle 1) definiert. Die Tabelle kann jederzeit erweitert oder eingeschränkt werden.
Tabelle 1: Entscheidungstabelle – Use-Case „Selbstfahrendes LEGO-Fahrzeug“
Folgende Lerneinheiten werden im simulierten Testlabor bearbeitet:
- Erstellung eines Testkonzepts,
- Ableitung von Testdaten,
- Definition von User-Storys,
- Ableitung von Testfällen aus User-Storys,
- Definition eines Regressionstest-Sets,
- Automatisierung von Regressionstests,
- Last- und Performanz-Testing
Ziel der Lerneinheit ist es, End-to-End-Tests manuell durchzuführen und diese optional in einer beliebigen Programmiersprache, die von LEGO MINDSTORMS unterstützt wird, zu automatisieren. Die Kurseinheit kann individuell durchgeführt werden. Basis für die Kurseinheit ist das Projekt „Make a self-driving car“ des LEGO MINDSTORMS Education EV3 Core Set [Lego]. Die Lernenden sollen auch den Umgang mit entsprechenden IoT-(Testing)-Frameworks kennenlernen und diese in Projekten anwenden können.
Frameworks
Im Folgenden werden exemplarisch zwei Frameworks vorgestellt, die in die virtuelle Lernumgebung integriert werden können, wobei sich eines davon an Lernende mit bereits fortgeschrittenen Programmierkenntnissen und eines mehr an Programmieranfänger richtet. Selbstverständlich gibt es noch weitere infrage kommende Frameworks, wie unter anderem EV3 dev für Linux/Unix-affine Entwickler und Tester, LabView, RoboLab oder Selenium.
MS Visual Studio Code – LEGO MINDSTORMS EV3 MicroPython
Hierbei handelt es sich um eine Erweiterung von LEGO MINDSTORMS EV3 zur Erstellung von MicroPython-Code in MS Visual Studio Code. MS Visual Studio Code ist sowohl mit Windows als auch mit Linux und OSX kompatibel. MS Visual Studio Code unterstützt eine Vielzahl an Programmier- und Auszeichnungssprachen, unter anderem Python, Java, JavaScript, C#, C++, PHP, R, HTML, XML. Das Framework wird in der virtuellen Moodle-Lernumgebung simuliert. Die Sensordaten der LEGO-Umgebung werden in einer Azure Cloud hinterlegt. Dadurch kann die LEGO-Umgebung in der virtuellen Lernumgebung angesteuert werden (vgl. Abb. 3).
Abb. 3: EV3 MicroPython
Der PC kann über eine Bluetooth-Schnittstelle mit LEGO-Bausteinen kommunizieren. Die EV3-Python-Bibliothek ermöglicht es, das selbstfahrende LEGO-Fahrzeug mit dem PC zu verbinden.
Um den Status der Ampel zu erkennen, muss das LEGO-Fahrzeug mit LED-Leuchtdioden bestückt werden. Um Hindernisse wie Fußgänger zu erkennen, welche die Straße überqueren, sind Bewegungssensoren erforderlich. Um das Fahrzeug in Gang zu setzen, ist ein LEGO Large Motor erforderlich. Die einzelnen Komponenten werden entsprechend für die Verwendung programmiert. Hierbei kann durchaus auch schon mit einfachen Ansätzen des maschinellen Lernens gearbeitet werden.
Die Programmiersprache Python eignet sich hervorragend, das Programmieren von Robotern zu erlernen. Mit Python erstellter Code ist gut lesbar und erfordert eine ausführliche Kommentierung. Weiterhin enthält Python eine Vielzahl an frei zugänglichen Code Libraries, welche leicht an die jeweiligen Anforderungen angepasst werden können [GeRo]. Dadurch erhalten die Lernenden einen deutlich anschaulicheren, sachbezogenen Bezug zur Programmierung, anstatt diese theoretisch am PC oder Laptop zu erlernen. Darüber hinaus eignet sich auch LEGO MINDSTORMS EV3 hervorragend, die Programmierung von Robotern zu erlernen. Durch den Einsatz von MS Visual Studio Code können LEGO-MINDSTORMS-EV3-Roboter auch virtuell gesteuert oder simuliert werden. Dies stellt einen wesentlichen Vorteil für örtlich verteilte Teams dar.
Mit MS Visual Studio Code werden insbesondere Lernende mit fortgeschrittenen Programmierkenntnissen angesprochen. Zumindest die Grundlagen der Programmiersprache Python sollten bereits bekannt sein, um die Lerneinheiten erfolgreich absolvieren zu können.
Als Alternative zum MS Visual Studio Code wird für Anwender mit geringeren Programmierkenntnissen mit Open Roberta Lab noch ein weiteres Framework angeboten, welches sich ebenfalls einfach in die virtuelle Lernumgebung integrieren lässt.
Open Roberta Lab
Bei Open Roberta Lab handelt es sich um eine integrierte Entwicklungsschnittstelle (Integrated Development Environment, IDE) des Fraunhofer Instituts für Intelligente Analyse- und Informationssysteme [IAIS] in Kooperation mit Google Deutschland [OpRo]. Mit der IDE sollen in erster Linie Hürden abgebaut werden, um LEGO MINDSTORMS auch im Unterricht an Schulen, insbesondere in MINT-Fächern, einsetzen zu können. Entsprechend sind die Lizenzkosten sehr niedrig und das Framework ist mit verschiedenen Betriebssystemen kompatibel. Open Roberta Lab ist prädestiniert für den Einstieg in die Programmierung mit LEGO MINDSTORMS
EV3. Somit eignet es sich auch, um die Funktionsweise von Anwendungen im Bereich des Internets der Dinge spielerisch kennen und verstehen zu lernen.
In Abbildung 4 wird ein Beispiel für die Steuerung des selbstfahrenden LEGO-Fahrzeugs in Open Roberta Lab dargestellt.
Abb. 4: Simulation eines selbstfahrenden LEGO-Fahrzeugs in Open Roberta Lab
Im Gegensatz zu MS Visual Studio Code mit MicroPython bietet Open Roberta Lab eine eher spielerische Einführung in die Programmierung von LEGO®-Robotern. Das Open Roberta Lab ist nicht auf LEGO MINDSTORMS EV3 beschränkt. Des Weiteren kann das speziell für programmierbare LEGO-Bausteine konzipierte Java-Betriebssystem leJOS sehr einfach in Open Roberta Lab eingebunden werden.
Dabei handelt es sich um ein gut dokumentiertes Robotics-API (Application Programming Interface, deutsch: Anwendungsprogrammierschnittstelle) [leJOSEV3]. Diese Programmierschnittstelle ermöglicht in einem weiteren Schritt auch einen Einblick in die Programmierung und das Testen von Robotern in der Programmiersprache Java. Darüber hinaus beinhaltet Open Roberta Lab eine Simulationsumgebung, mit welcher in der visuellen Programmiersprache NEPO zweidimensionale Robotermodelle simuliert werden können. Die Simulationsumgebung ermöglicht ebenfalls die Simulation von Farb-, Ultraschall- und Berührungssensoren und kann damit zur Durchführung der Lerneinheit für Testing als Erweiterung des EV3-Übungsprojekts „Self-Driving Car“ genutzt werden. Ein weiterer Vorteil ist, dass durch die Integration von Open Roberta Lab in die virtuelle Lernumgebung diese auch für die Weiterbildung von Lehrkräften oder Trainern in Unternehmen zu sogenannten Roberta Teachern eingesetzt werden kann [RobIn].
Fazit
Um IoT-Umgebungen auf allen Ebenen qualitativ und besonders auch unter Berücksichtigung sämtlicher sicherheitsrelevanter Kriterien testen zu können, ist ein tiefes Verständnis der Funktionsweise der in einer IoT-Umgebung eingebetteten Systeme unerlässlich. Die Herausforderung besteht dabei darin, die Einzigartigkeit einer IoT-Umgebung zu berücksichtigen. Selbst wenn die technischen Anforderungen teilweise ähnlich sind, unterscheiden sich die methodischen Anforderungen in der Regel beträchtlich.
Eine maßgeschneiderte virtuelle Lernumgebung, in der „Real World“-Anwendungsfälle simuliert werden können und die als praxisnahe Ergänzung zu herkömmlichen Trainingsmaßnahmen herangezogen werden kann, erleichtert den Einstieg in IoT-Testing-Projekte und trägt zu einer erfolgreichen Durchführung solcher Projekte durch erfahrene Testexperten bei. LEGO MINDSTORMS bietet dabei die Möglichkeit, nahezu alle Situationen nachzustellen und zu simulieren, die in realen IoT-Umgebungen eintreten können, beispielsweise in der Car2Car-Kommunikation, in Smart Homes, im Smart Farming, in Smart Citys, beim Smart Metering oder im Ambient Assisted Living (E-Health).
Grundsätzlich sollen erfahrene Testexperten auch dazu motiviert werden, sich im zukunftsorientierten Bereich des Internets der Dinge weiterzubilden und anspruchsvolle Projekte wie Testingund Quality-Assurance-(QA)-Projekte in diesem Bereich anzunehmen und erfolgreich durchzuführen.
Literatur und Links
[1LegoL] First Lego League, https://www.first-lego-league.org/de/
[Fraun] https://www.academy.fraunhofer.de/de/weiterbildung/information-kommunikation/roberta.html
[Her17] S. Herrera, Welche sind die größten Herausforderungen des Internet of Things, 12.10.2017, https://www.handelskraft.de/2017/10/welche-sind-die-groessten-herausforderungen-des-internet-of-things/
[HHN] J. Buck u. a., Projekt: Lego Mindstorms, https://www.hs-heilbronn.de/7656915/projekt-lego-mindstorms
[HM] Mädchen machen Technik, 11.8.2009, https://www.hm.edu/allgemein/aktuelles/news/news_detailseite_6530.de.html
[IAIS] Fraunhofer Instituts für Intelligente Analyse- und Informationssysteme, http://www.iais.fraunhofer.de
[leJOSEV3] http://www.lejos.org/ev3.php [Lego] https://education.lego.com/de-de/product/mindstorms - ev3
[Op Ro] Open Roberta, Roboterwelt, 28.4.2016, http://www.roboterwelt.de/magazin/open-roberta
[Per16] S. R. Perez, A. Fatoum, J. Abke, Development of an Eclipse plug-in for using the LEGO Mindstorms EV3 in education, in: IEEE EDUCON 2016, https://ieeexplore.ieee.org/document/7474616
[RobIn] https://www.roberta-home.de/lehrkraefte/roberta-schulungen/roberta-basis-schulung/
[THAB] https://www.th-ab.de/ueber-die-hochschule/organisation/labor/embedded-systems/ev3-toolchain/
[UniVie16] Warum InformatikerInnen eine Legofabrik bauen, Universität Wien, 11.5.2016, https://medienportal.univie.ac.at/uniview/forschung/detailansicht/artikel/waruminformatikerinnen-eine-legofabrik-bauen/
[UniVie18] Legofabrik auf der „Langen Nacht der Forschung 2018“, Universität Wien, https://informatik.univie.ac.at/news-events/beitrag/news/ legofabrik-auf-der-langen-nacht-der-forschung-2018/
LEGO® und MINDSTORMS® sind eingetragene Warenzeichen der Firma The LEGO Group.