Forschungsthemen
[BA] Transaction-safe Models@run.time for Robotic Applications using Behavior Trees
Die Entwicklung von Robotik-Anwendungen ist zeitaufwendig und kostenintensiv. Dies liegt insbesondere daran, dass der Einsatz physischer Roboter Kosten verursacht und es eine sehr hohe Anzahl verschiedener Szenarien gibt, in denen die Robotik-Anwendung getestet werden muss. Daher werden während der Entwicklung der Anwendung sowohl die Roboter als auch die Umgebungen simuliert. Der de-facto Standard für die Entwicklung robotischer Anwendungen ist das Robot Operating System (ROS)\footnote{\url{https://www.ros.org}}. Zur Simulation in diesem Kontext wird häufig Gazebo\footnote{\url{https://gazebosim.org}} oder Webots\footnote{\url{https://cyberbotics.com}} eingesetzt. Models@run.time~\cite{Bencomo2019} ist ein Forschungsgebiet, dass sich auf den Einsatz modell-getriebener Softwareentwicklungs-Techniken zur Laufzeit konzentriert. Elementare Bestandteile sind dabei ein Laufzeitmodell und dessen kausale Verbindung zu einem System. Das Laufzeitmodell spiegelt einerseits den abstrahierten, aktuellen Zustand des Systems wieder und ermöglicht andererseits die Einflussnahme auf das System. Die Einflussnahme wird über die kausale Verbindung realisiert, d.h. jede Änderung im Laufzeitmodell wird an das System propagiert und umgekehrt. Models@run.time können im Kontext von robotischen Anwendungen für die Überwachung und Steuerung der Simulation oder eines realen Systems eingesetzt werden. Der Vorteil des Einsatzes von Models@run.time ist, dass das Laufzeitmodell die Anwendersicht auf das System beschreiben kann und somit die Komplexität der darunterliegenden Schicht (ROS und ggf. Simulationsumgebung) vor dem Nutzer versteckt werden. Im Forschungsgebiet Models@run.time gibt es bislang nur eine Arbeit die sich mit dem Transaktionskonzept für die kausale Verbindung zwischen Laufzeitmodell und System beschäftigt~\cite{Derakhshanmanesh2015}. Ziel dieser Arbeit ist zu untersuchen, wie sich Änderungen am Laufzeitmodell sinnvoll in Transaktionen gruppieren lassen, so dass diese im Fall eines Fehlschlags zurückgerollt werden können. Hierbei soll insbesondere untersucht werden, wann der Einsatz von Transaktionen sinnvoll ist und ob bzw. wie das Metamodell des Laufzeitmodells erweitert werden muss, um z.B. irreversible Änderungen erfassen zu können. Das Konzept der Verhaltensbäume~\cite{Nguyen13} von ROS scheint hier ein geeignet Kandidat zu sein.
Betreuer: Sebastian Götz