Im Rahmen eines im europäischen Forschungsprogramm ARTEMIS ("Advanced Research and Technology for Embedded Intelligence and Systems") von der Europäischen Union und von dem Bundesministerium für Bildung und Forschung geförderten Verbundprojekts ist die Fragestellung “Testen kooperierender autonomer Systeme“ im Hinblick auf die Definition adäquater Teststrategien zu untersuchen, mit dem Ziel, zu vorgegebenen, risikogerechten Testanforderungen zugehörige Testszenarien weitgehend automatisch zu generieren.Zu diesem Zweck wurden zunächst folgende Teilaufgaben durchgeführt:
Untersuchung existierender Modellierungssprachen. Um der Komplexität autonomer Systeme gerecht zu werden, muss eine geeignete Modellierungssprache in der Lage sein, die Vielfalt der nebenläufigen Interaktionsszenarien autonomer Systeme zu erfassen. Um einen Vergleich verschiedener Modellierungssprachen (z.B. UML Aktivitätsdiagramme, Prozessalgebren, Petri-Netze) zu ermöglichen, wurde zunächst im Rahmen einer Studienarbeit ein Kriterienkatalog erstellt, anhand dessen die in Frage kommenden Modellierungssprachen hinsichtlich ihrer Eignung zur Erfassung autonomer Systeme untersucht und bewertet wurden. Aufgrund ihrer Ausdruckskraft und Skalierbarkeit wurden anschließend farbige Petri-Netze zu weiteren Betrachtungen herangezogen.
Vergleichende Untersuchung von farbigen Petri-Netzen und UML-Aktivitätsdiagrammen. Aufgrund bereits am Lehrstuhl vorhandener Softwareunterstützung zur automatischen, optimierten Testfallgenerierung aus UML-Aktivitätsdiagrammen wurde im Rahmen einer Studienarbeit die Möglichkeit der Transformation farbiger Petri-Netze in UML-Aktivitätsdiagramme untersucht; durch diese Studie konnten Grenzen einer solchen Transformation im Hinblick auf den erzielbaren Modellierungsumfang aufgezeigt werden.
Definition modellbasierter Überdeckungskriterien und Aufbau eines Test-Frameworks. Zur Umsetzung einer automatischen, optimierten Generierung von Testszenarien aus farbigen Petri-Netzen sind, ähnlich wie auf Code-Ebene, strukturelle Überdeckungskriterien erforderlich. Im Rahmen einer Diplomarbeit wurden bereits existierende Kriterien für Petri-Netze um Kriterien für farbige Petri-Netze ergänzt. Zudem wurde ein Java Framework für farbige Petri-Netze um zusätzliche Schnittstellen für die Testfallausführung und Überdeckungsmessung erweitert.
Entwicklung eines heuristischen Verfahrens zur automatisierten Generierung optimierter Testfälle. Mittels genetischer Algorithmen sollen aus farbigen Petri-Netzen optimierte Testfälle abgeleitet werden. Dabei ist sowohl die Größe der jeweiligen Testfallmenge als auch die zu erreichende Überdeckung hinsichtlich ausgewählter Kriterien zu optimieren. Zu diesem Zweck wurden Konzepte für genetische Operatoren entworfen und implementiert.
Untersuchung graphentheoretischer Verfahren zur Testfallerzeugung. Die Einsetzbarkeit analytischer Verfahren zur optimierten Testfallerzeugung aus farbigen Petri-Netzen wurde im Rahmen einer Masterarbeit untersucht und bewertet. Dabei wurden insbesondere charakteristische Eigenschaften der betrachteten Petri-Netze (u.a. Zyklenfreiheit und Endlichkeit des Zustandsgraphen) sowie der ermittelten Verfahren (u.a. Komplexität und multikriterielle Optimierbarkeit) berücksichtigt. Die untersuchten Verfahren wurden anschließend realisiert.
Aufbau einer Simulationsumgebung für autonome mobile Systeme. Um die generierten Testabläufe zu visualisieren, wurde im Rahmen einer Bachelorarbeit eine Simulationsumgebung für autonome mobile Systeme auf Basis farbiger Petri-Netze aufgebaut. Zu diesem Zwecke wurden bestehende Simulatoren für mobile Robotikanwendungen hinsichtlich ihres Funktions- und Dokumentationsumfangs sowie der Erfassbarkeit mehrerer Roboterentitäten und unplanmäßiger Hindernisse bewertet. Eine ausgewählte Java Simulationsumgebung wurde anschließend um die notwendigen Schnittstellen zur Visualisierung der Testszenarien erweitert.
Erprobung und Evaluierung der entwickelten Verfahren. Die im Laufe des Projekts erstellten Konzepte und Werkzeuge wurden anhand eines aus der Praxis inspirierten Modells autonomer Gabelstapler erprobt. Dabei stellte sich heraus, dass die entwickelten Verfahren in der Lage waren, eine vollständige Überdeckung gemäß definierten Kriterien mit einem im Vergleich zu rein zufallsbasiertem Testen deutlich geringeren Testumfang zu erreichen.
Die Zusammenarbeit im internationalen Konsortium gab Anlass, weitere Testverfahren kennenzulernen, die im Rahmen unterschiedlicher Anwendungsgebiete Einsatz finden. Die betrachteten Anwendungen umfassten unbemannte, mit einer mobilen Bodenladestation kommunizierende Luftüberwachungsdrohnen sowie unbemannte Unterwasserroboter zur synchronen Bildaufzeichnung entlang einer dynamisch variablen, sensoriell zu erkennenden Route. Es stellte sich heraus, dass die Eignung unterschiedlicher Testverfahren vom Grad der im Einzelfall vorliegenden Entscheidungsautonomie mobiler Entitäten entscheidend abhängt. Dabei erwiesen sich farbige Petri-Netze als besonders geeignet zur Erfassung vollautonomer Systeme.
Nachdem 2013 die europäische Kooperation erfolgreich abgeschlossen werden konnte, erfolgte im Berichtszeitraum 2014 der formale Abschluss auf nationaler Ebene. Darüber hinaus wurden im Zusammenhang mit disem Vorhaben lehrstuhlintern auch folgende weitere Aufgabe abgeschlossen:
Entwicklung eines Mutationstests für farbige Petri Netze. Um die Güte der generierten Testfallmengen hinsichtlich ihres Erkennungspotenzials bewerten zu können, wurde das klassische Konzept des modellbasierten Mutationstestens auf das zugrundeliegende Modell angewendet. Hierzu wurden im Rahmen einer studentischen Abschlussarbeit in Anlehnung an andere Modellierungssprachen, wie etwa Statecharts bzw. erweiterte endliche Automaten, Mutationsoperatoren auf farbige Petri-Netze übertragen und im Bedarfsfall ergänzt. Zur automatisierten Unterstützung des Mutationstests wurde anschließend ein Java Framework entwickelt.
Ein neues Nachfolgervorhaben namens R5-COP ("Reconfigurable ROS-based Resilient Reasoning Robotic Cooperating Systems") hat inzwischen gestartet, das sich ebenfalls mit der Verifikation kooperierender Roboter befasst, wobei dessen Fokus auf der dynamischen Anpassbarkeit rekonfigurierbarer Robotersysteme an die Variabilität ihres Kontextes liegt.