From f0ec02939db14538a266e5d7f19f3259b44c157a Mon Sep 17 00:00:00 2001
From: CS <christoph.schroeter1@mailbox.tu-dresden.de>
Date: Wed, 4 Aug 2021 18:17:33 +0200
Subject: [PATCH]

---
 images/konzept.drawio      |   2 +-
 images/konzept.pdf         | Bin 23906 -> 0 bytes
 images/konzept.png         | Bin 0 -> 22668 bytes
 literatur.bib              |  55 ++++++++++++++++++++++++++++++++++++-
 sections/grundlagen.tex    |  21 ++++++++++----
 sections/konzept.tex       |  36 +++++++++---------------
 sections/stateoftheart.tex |  19 +++++++++++++
 thesis.tex                 |   6 ++--
 8 files changed, 104 insertions(+), 35 deletions(-)
 delete mode 100644 images/konzept.pdf
 create mode 100644 images/konzept.png
 create mode 100644 sections/stateoftheart.tex

diff --git a/images/konzept.drawio b/images/konzept.drawio
index 8de7210..5163b3a 100644
--- a/images/konzept.drawio
+++ b/images/konzept.drawio
@@ -1 +1 @@
-<mxfile host="app.diagrams.net" modified="2021-06-26T11:58:34.441Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" etag="Oy6-UVjRcIf5FK2X_SB3" version="14.8.0" type="device"><diagram id="BvBVtmby5S5bfYz1Z3JI" name="Page-1">7VhNc5swEP01PtaDBNhwTJ3U7SFxJk5T+6gBxWhGIEaWA+6vrzDiQwg7boIzk05PYZ+0y+7bfRLOyJ7F+ZyjNLplIaYjaIX5yL4eQQgs25Z/CmRfIg6wSmDDSag2NcCS/MaVp0J3JMRbbaNgjAqS6mDAkgQHQsMQ5yzTtz0zqr81RRtsAMsAURP9RUIRlagHpw3+HZNNVL0ZTPxyJUbVZlXJNkIhy1qQfTOyZ5wxUT7F+QzTgryKl9Lv25HVOjGOE3GOw9PcnwVTtrq/vZuvf0SPi6fn2RcV5QXRnSr48WFxpxIW+4qFbUZiihJpfVUOmAucH80E1PXJwcAsxoLv5Rbl4ClG1EhMlJk1/EJHYVGbW1+BSPV0U0duypYPqvK/YAEaLPxMU4QKv8NEU4MQznZJiIuYQHKSRUTgZYqCYjWTQpBYJGKqls+i7Hh7jvIIXY1Hx+QRuH08Vn6D8zg1eDSIw0l4VchSWgFF2y0JdK5wTsRKPltjmWVprgtTPV/nbWNfGYnMftU21q0Qhd34HazKsUwPh8YZ0BllWQLb8QCfqN1RhxPiG3yqpV5/S1tN6+tZhXFMkSAverp9fVRvuGdEFlJPjO3r0qtnpgpRlqm82odJJ5DT0TCwO7mUPBiBDmNVl/32SfOMSXtYLD9ApacF6QBHZ8UCY9szVQl7VQnHFxOmP4Awa42Np64ms1c0Viu6LWcV46iiBxSmd6YwnX9DmE5HmN1L88LCdIxJuwpRKjB/nzg5E5JelkjTt4YRa/3dUR9hcOz2aHViNn1yqQ8Rd1CdQk2n4EydAk2n8MN0Cj+DTqHrdobG+Zw6nQw4aUC7DlrXw2s3QnMLrFuDd/FJO/dTDf6/EU5OmjSbn6/l9uafAPbNHw==</diagram></mxfile>
\ No newline at end of file
+<mxfile host="app.diagrams.net" modified="2021-08-04T15:36:26.018Z" agent="5.0 (X11)" etag="728TOAdahZFifj5337Si" version="14.9.4" type="device"><diagram id="BvBVtmby5S5bfYz1Z3JI" name="Page-1">3Vlbd9o4EP41PMKxfMWPgWTZ9rShLdlu86jYAnTWWK4tAuTXV8IytiRjzLXZ5iFHGllj65uZb2ZExxou1qMUJvPPJERRxzTCdce675im3wfsPxdscoFju7lgluIwF4FSMMFvSAgNIV3iEGXSg5SQiOJEFgYkjlFAJRlMU7KSH5uSSH5rAmdIE0wCGOnSf3FI57m0b3ql/G+EZ/PizcD185UFLB4WJ8nmMCSrish66FjDlBCajxbrIYo4dgUu+b6/9qzuPixFMW2z4fvIHwYe+fHl8+Po+cP8afx9OuwKLa8wWooDP30bP4oPppsChWyFFxGM2Wygv7bQgVKK1hWR+IwRIgtE0w17RKx6AhHhEq6Yrkp8TUfI5lVs+0IIhU1nO83lsdlAnPwIFEwNhX+SBEK+b+vQkQZISpZxiLhOwDBZzTFFkwQGfHXF4oDJ5nQRiWUdskZbtMYRyDjaOo6gFkfTuRKOnoajBhyKwzselmwWRDDLcCBjhdaY/mBjo8e+Mp8+86kY36+rk00xidnXV3fx+XOhkU/KfdtZsXGvM2dkmQao4ai24CKYzpDYiq1Pppv4H1cP4/Xy6+C/n48g7hY2QqHEM7pNK1arM1ohS1EEKX6V2anOkOINXwhmR9u5jOXLPrNzmkJFfnCxq8omiiK7LysCltWzNM/K4dG0bZ1rd/ZW/lYLrqP524c4WVLd6Rj4n+ALy0ySr8EIz2LuiMz6KGUCHnqYcf+dWFjgMOQ6BinK8Bt82erjfpPwE23P6Aw6zv3Ok7TY3SUmsblMBwfpwGuM/a7RswzPk2xQ8NiZPgIseQeZTjN0rv1qj+hfgC/K0Pek0DcOhH5JNF6VaEAj0bTii0YeqBJGE7G8E76wXSXMfftEvrBVRQrxXJkqrBpXcyMG1iDEr2w448Pxkm7pI19g76ms/Rmk4jeSitEDXt++DImYMjUpCq7HKbZmaF7Rdu9CmHB7nFXIpYQyTAi3ot9IB+1rOFMNMMvsibRWreNMVw9x9wLlcD1XHaZl1swkfDiN0Frw86CWqjMW17RVxQcqLGz0nEYerrD+CfWewq2nFYDmMXzeSN/AqCvSjQsVfGqTYJ1Y8JlK5Qhc86YE3tec8tt4ovul2qjWkKdm7b3BqRa5bTvVXYd78dDUK6bJJqNocR6vtYJqv1X24qe5TNsO1bgatemt/taNjCeS4CD7X8DotERRbe0uB6KeY6+aIPaQffsK/9gCvzFBNLHT4TagJm3sD/TflzaAbfSMyp9paVWK7Zd/RSN6bFIBvqfoBb3bXiEU6bG5MWAc0X0kISrLyFYtwgWKy/Pyl/kOi8u6TuwW5CFRR8kkB8njiHvIFuxxzn1BA6P8PqZwgCP72Kk3ipZ6o6gWUddmAvewY/6xLc55yQrsuau8zR2VY8iOc/KdtueodHljD9R/PxnBN/RC3l1i8dTEYtTUpBdKK2xa/kiaQ13+0mw9/AI=</diagram></mxfile>
\ No newline at end of file
diff --git a/images/konzept.pdf b/images/konzept.pdf
deleted file mode 100644
index 89de22fc40ab064c122e22dcd3d13577613dda24..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 23906
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

diff --git a/images/konzept.png b/images/konzept.png
new file mode 100644
index 0000000000000000000000000000000000000000..723b78d5e1e436a1aaef1d9fe478f7a29be5fc7b
GIT binary patch
literal 22668
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

literal 0
HcmV?d00001

diff --git a/literatur.bib b/literatur.bib
index 78021b5..575b4df 100644
--- a/literatur.bib
+++ b/literatur.bib
@@ -394,7 +394,7 @@
   journal   = {{IEEE} Transactions on Software Engineering},
   title     = {On the value of static analysis for fault detection in software},
   year      = {2006},
-  month     = {apr},
+  month     = apr,
   number    = {4},
   pages     = {240--253},
   volume    = {32},
@@ -403,4 +403,57 @@
   publisher = {Institute of Electrical and Electronics Engineers ({IEEE})},
 }
 
+@PhdThesis{Shafique2010,
+  author = {Shafique, Muhammad},
+  school = {Carleton university},
+  title  = {Systematic review of state based model based testing tools},
+  year   = {2010},
+  file   = {:shafique-systematicreviewofstatebasedmodelbasedtesting.pdf:PDF},
+}
+
+@Article{Silva2008,
+  author    = {Jos{\'{e}} L. Silva and Jos{\'{e}} Creissac Campos and Ana C.R. Paiva},
+  journal   = {Electronic Notes in Theoretical Computer Science},
+  title     = {Model-based User Interface Testing With Spec Explorer and {ConcurTaskTrees}},
+  year      = {2008},
+  month     = apr,
+  pages     = {77--93},
+  volume    = {208},
+  doi       = {10.1016/j.entcs.2008.03.108},
+  publisher = {Elsevier {BV}},
+}
+
+@TechReport{Campbell2005,
+  author      = {Campbell, Colin and Grieskamp, Wolfgang and Nachmanson, Lev and Schulte, Wolfram and Tillmann, Nikolai and Veanes, Margus},
+  institution = {Technical Report MSR-TR-2005-59, Microsoft Research},
+  title       = {Model-based testing of object-oriented reactive systems with Spec Explorer},
+  year        = {2005},
+}
+
+@InCollection{Campbell2005a,
+  author    = {Colin Campbell and Wolfgang Grieskamp and Lev Nachmanson and Wolfram Schulte and Nikolai Tillmann and Margus Veanes},
+  booktitle = {{FM} 2005: Formal Methods},
+  publisher = {Springer Berlin Heidelberg},
+  title     = {Testing Concurrent Object-Oriented Systems with Spec Explorer},
+  year      = {2005},
+  pages     = {542--547},
+  doi       = {10.1007/11526841_38},
+}
+
+@Article{Naujoks2011,
+  author = {Naujoks, Manuel and Fuch{\ss}, Thomas},
+  title  = {Spec Explorer},
+  year   = {2011},
+}
+
+@InProceedings{Botincan2007,
+  author    = {Matko Botincan and Vedran Novakovic},
+  booktitle = {2007 9th International Conference on Telecommunications},
+  title     = {Model-based Testing of the Conference Protocol with Spec Explorer},
+  year      = {2007},
+  month     = jun,
+  publisher = {{IEEE}},
+  doi       = {10.1109/contel.2007.381861},
+}
+
 @Comment{jabref-meta: databaseType:bibtex;}
diff --git a/sections/grundlagen.tex b/sections/grundlagen.tex
index 555f975..c7e8c7e 100644
--- a/sections/grundlagen.tex
+++ b/sections/grundlagen.tex
@@ -81,6 +81,7 @@ Daher wurde 2013 mit ISO 29119 ein neuer internationaler Standard für die Entwi
 Die Prozesse interagieren jeweils mit ihrem Vorgänger oder Nachfolger, wobei auch Subprozesse innerhalb der einzelnen Stufen zum Einsatz kommen. In den organisatorischen Prozessen werden beispielsweise Richtlinien, Ziele sowie die Strategie für das Testen festgelegt, welche vom Management umgesetzt werden sollen, welches wiederum Feedback an die Testorganisationsebene gibt, sodass eine kontinuierliche Optimierung stattfindet. Die Testmanagementprozesse stellen die Konkretisierung der Teststrategie unter Einhaltung der Richtlinien dar. Zunächst wird ein Testplan entwickelt und an die dynamische Testebene weitergereicht. Außerdem wird vom Management die Ausführung diese Plans bezüglich Fortschritt und Einhaltung der Richtlinien überprüft und gegebenenfalls korrigierend eingegriffen. Als letzter Schritt des Managements ist das Abschließen der Tests angegeben. Dabei wird überprüft welche Tests ausgeführt wurden und sinnvoll wiederverwendbare Testfälle archiviert. Die Testumgebung in den Ursprungszustand gebracht und relevante Informationen wie Testergebnisse aber auch gewonnene Erkenntnisse ("Lessons Learned") gesammelt.
 Dynamische Testprozesse umfassen die Testimplementierung, das Einrichtungen sowie die Instandhaltung der Testumgebung, die Testausführung und das Berichten von Testvorfällen an das Testmanagement \cite{Alaqail2018}.
 \section{Testentwicklung}
+Die hier vorgestellten Methoden zur Testentwicklung bewegen sich auf dem Niveau der Testorganisation beziehungsweise des Testmanagements. Die Implementierung im Rahmen der dynamischen Testprozesse folgt in einem späteren Kapitel.
 \subsection{Hierarchisches Testmodell}
 Das hierarchisch aufgebaute Testmodell wie etwa von \cite{Lim2010} demonstriert stellt ein momentan häufig genutztes Modell zum effizienten Testen eines Systems dar.
 Grundlegend besteht das Modell aus 3 zentralen Bestandteilen:
@@ -97,7 +98,7 @@ Bibliotheken die ROS nicht benötigen sollen über vorgeschlagene Test-Framework
 für das Testen der Nodes zusätzlich eine Erweiterung namens rostest, welche auf roslaunch (Tool zum Starten von ROS Nodes) aufbaut, zur Verfügung steht. Auch Integrationstests sind mit rostest möglich, da auch mehrere Nodes zusammen gestartet und damit getestet werden können. 
 In der Dokumentation zu ROS~\cite{OSRF2021} werden auch Vorteile und Kosten dieser Testmethodik angeführt, welche im Folgenden zusammengefasst werden.
 \subsubsection{Vorteile}
-Unit-Tests sorgen für ein besseres Codedesign im Rahmen der dynamischen Testprozesse, da der Entwickler gezwungen wird per Unit-Test testbaren Code zu schreiben, was bedeutet die Funktionalitäten des Systems möglichst separat zu halten. Das reduziert langfristig neben dem Entwicklungsaufwand des Systems selbst auch den des Testens, wenn etwa Änderungen an den Tests vorgenommen werden sollen. Ebenso sorgen separate Komponenten für eine einfachere Analysierbarkeit der Testergebnisse, da sich ein gefundener Fehler nur in den getesteten Komponenten befinden kann und somit der zu überprüfende Bereich des Quellcodes stark eingeschränkt wird.
+Unit-Tests sorgen für ein besseres Codedesign, da der Entwickler gezwungen wird per Unit-Test testbaren Code zu schreiben, was bedeutet die Funktionalitäten des Systems möglichst separat zu halten. Das reduziert langfristig neben dem Entwicklungsaufwand des Systems selbst auch den des Testens, wenn etwa Änderungen an den Tests vorgenommen werden sollen. Ebenso sorgen separate Komponenten für eine einfachere Analysierbarkeit der Testergebnisse, da sich ein gefundener Fehler nur in den getesteten Komponenten befinden kann und somit der zu überprüfende Bereich des Quellcodes stark eingeschränkt wird.
 Durch Regressionstests kann dem Entstehen von Fehlern sowohl bei Updates als auch bei Refactorings vorgebeugt werden. Auch beispielsweise Änderungen einer externen API können gefunden werden, sollten diese zu Problemen führen.
 Die Tests ermöglichen ebenfalls eine einfachere Zusammenarbeit der Entwickler, da sie die Funktionalität einer Komponente (oder mehrerer) eindeutig beschreiben. Das Überprüfen von (voneinander unabhängigen) Komponenten lässt sich in vielen Fällen einfach parallelisieren und das automatische Ausführen der Tests ist ebenfalls leicht zu integrieren.
 \subsubsection{Nachteile}
@@ -106,16 +107,24 @@ Folglich ist eine gute Abdeckung der Systemanforderungen schwierig umzusetzen, u
 
 \subsection{Modell-basiertes Testen}\label{grundlagen:testentwicklung:modell-basiert}
 Das Modell-basierte Testen wie in \cite{Pueschel2018} beschreibt einen Ansatz zum automatischen Generieren von Tests, welcher auf allen Ebenen des hierarchischen Testmodells angewandt werden kann. Dabei wird ein abstraktes Modell des Testobjektes erstellt, von dem die Tests abgeleitet werden können. Wichtig hierbei ist, dass das Modell eine gewisse Unabhängigkeit von Modellen besitzt, die zur Entwicklung genutzt wurden, da sich ansonsten Fehler aus dem Entwicklungsmodell in die Testfälle übertragen könnten. Es bietet sich daher an, das Modell direkt aus den Anforderungen des Systems zu entwickeln; das Entwicklungsmodell kann als Basis verwendet werden, oder um das Testmodell zusätzlich zu validieren \cite{Utting2011}.
-Da das Modell von Implementierungsdetails unabhängig ist, eignet sich Modell-basiertes Testen nicht für white box Tests. Der in \cite{Pueschel2018} dargestellte Testprozess besteht aus 5 Schritten:
+Da das Modell von Implementierungsdetails unabhängig ist und sich auf die Ein- und Ausgaben des Systems fokussiert, eignet sich Modell-basiertes Testen nicht für white box Tests. Der in \cite{Pueschel2018} dargestellte Testprozess besteht aus 5 Schritten:
 \begin{enumerate}
 \item Zuerst muss das Modell erstellt werden. Dabei müssen die Anforderungen des Systems widergespiegelt werden und das Modell sollte möglichst abstrakt sein. Um später feststellen zu können, welche Anforderungen nicht erfüllt sind, ist es sinnvoll anzugeben welche Anforderungen zu welchem Teil des Modells gehören. Die modellierte Genauigkeit sowie die Teststrategien und -techniken können in einem Testplan festgelegt werden.
-\item Aus dem Modell können nun Testfälle generiert werden, die sich zunächst auf dem selben Abstraktionslevel wie das Modell befinden. Neben den Testfällen kann aus den in 1. gegebenen Anforderungen eine sogenannte Anforderungsrückverfolgungsmatrix (und ein Modellabdeckungsbericht) erstellt werden, mit welcher bestimmt werden kann, welche Anforderungen beim Fehlschlagen von Tests verletzt wurden.
+\item Aus dem Modell können nun (mithilfe von Auswahlkriterien) Testfälle generiert werden, die sich zunächst auf dem selben Abstraktionslevel wie das Modell befinden. Diese können nach der Generierung gespeichert (offline) oder direkt ausgeführt (online) werden, um den Schritt der Zwischenspeicherung zu sparen. Das Speichern der Testfälle sorgt hierbei für eine bessere Reproduzierbarkeit, benötigt aber logischerweise Speicher und ist daher gerade bei Robotiksystemen aufgrund der Menge an möglichen Testfällen eher weniger geeignet. Auch für sehr lange operierende beziehungsweise nicht-deterministische Systeme bietet sich daher online-testen an.
+Neben den Testfällen kann potentiell aus den in 1. gegebenen Anforderungen eine sogenannte Anforderungsrückverfolgungsmatrix (und ein Modellabdeckungsbericht) erstellt werden, mit welcher bestimmt werden kann, welche Anforderungen beim Fehlschlagen von Tests verletzt wurden.
 \item Nun werden die abstrakten Testfälle zu konkreten (ausführbaren) Tests. Realisierbar ist dies beispielsweise durch einen Adapter, der den abstrakten Operationen (während der Laufzeit) Schnittstellen des Systems zuordnet.
 \item Folglich werden die Tests ausgeführt. 
 \item Die Ergebnisse werden analysiert, Fehler gefunden und behoben.
 \end{enumerate}
-Diese Methode der Testentwicklung ermöglicht erhebliche Einsparungen beim Entwicklungsaufwand, besonders bei Änderungen im Modell können ohne viel Aufwand neue Testfälle generiert werden. Die Anzahl an Testfällen lässt sich einfach anpassen, wodurch mehr Fehler gefunden werden können und eine bessere Abdeckung gegeben ist \cite{Pretschner2005}.
-Als weiterer Vorteil ist bei dieser Methode anzugeben, dass das zu erstellende Modell (neben der Generierung der Testfälle) einen Überblick über die Funktionsweise basierend auf den Anforderungen des Systems gibt, sodass (neue) Entwickler dieses potentiell besser verstehen und daran arbeiten können. Nachteilig lässt sich anmerken, dass sich eine gewisse Redundanz zwischen dem zum Testen genutzten Modell und den Modellen zur Entwicklung nicht vermeiden lässt \cite{Pueschel2018}.
-In \cite{Utting2011} wird eine Klassifizierung von möglichen Modellen für Modell-basiertes Testen vorgenommen, unter anderem lassen sich Markov-Ketten, endliche Automaten oder Petri-Netze zur Modellierung nutzen. Da Modelle, deren Umfang sich nur auf Inputs bezieht, kaum funktionales Verhalten verifizieren können sollten für cyber-physische Systeme Input-Output-Modelle verwendet werden. Die Echtzeitanforderungen eines Systems müssen im Modell widergespiegelt werden und spielen folglich auch bei der Testgenerierung und Ausführung eine Rolle \cite[S. 358f]{Broy2005}. Robotiksysteme sollten sich meist deterministisch verhalten, aufgrund des in \cref{grundlagen:simulationen} beschriebenen Nichtdeterminismus der Simulation oder uneindeutiger Inputs kann aber auch ein nichtdeterministisches Modell verwendet werden; sollen auch nichtdeterministische Systemfunktionalitäten überprüft werden, so ist ein deterministisches Modell offensichtlich nicht sinnvoll. Die Dynamik des Modells muss abhängig von den zu testenden Anforderungen sein, meist sind Robotiksystemen als kontinuierlich oder hybrid (Mix aus kontinuierlichen und diskreten Eigenschaften) einzustufen \cite{Utting2011}. Das Paradigma des Modells sowie das Testauswahlkriterium müssen bei der Entwicklung ausgewählt werden, da sie stark von den zu testenden Anforderungen abhängen. Allerdings werden häufig verschiedene dieser Paradigmen verwendet, da sich verschiedene vereinigen lassen. Bezüglich des Testauswahlkriteriums und der Technik zum Generieren der Tests können ebenfalls mehrere verwendet werden \cite{Utting2011}.
+Bei Modell-basiertem Testen generell kann auch keine automatische Generierung der Testfälle erfolgen. In \cite{Pretschner2005} wurde dabei (mit gleicher Anzahl an Testfällen) kein signifikanter Unterschied in der Summe an erkannten Fehlern festgestellt. Allerdings führte das Erhöhen der Anzahl an Testfällen, welche bei der automatischen Methode deutlich einfacher ist, zu zusätzlichen 11\% an gefundenen Fehlern. \cite{Pretschner2005} weist jedoch daraufhin, dass die festgestellten Ergebnisse nur eine Fallstudie darstellen und daher nicht ohne weiteres zu verallgemeinern sind.
+In \cite{Utting2011} wird eine weitere Klassifizierung von möglichen Modellen für Modell-basiertes Testen vorgenommen, unter anderem lassen sich Markov-Ketten, endliche Automaten oder Petri-Netze zur Modellierung nutzen. Da Modelle, deren Umfang sich nur auf Inputs bezieht, kaum funktionales Verhalten verifizieren können sollten für cyber-physische Systeme Input-Output-Modelle verwendet werden. Die Echtzeitanforderungen eines Systems müssen im Modell widergespiegelt werden und spielen folglich auch bei der Testgenerierung und Ausführung eine Rolle \cite[S. 358f]{Broy2005}. Robotiksysteme sollten sich meist deterministisch verhalten, aufgrund des in \cref{grundlagen:simulationen} beschriebenen Nichtdeterminismus der Simulation oder uneindeutiger Inputs kann aber auch ein nichtdeterministisches Modell verwendet werden; sollen auch nichtdeterministische Systemfunktionalitäten überprüft werden, so ist ein deterministisches Modell offensichtlich nicht sinnvoll. Die Dynamik des Modells muss abhängig von den zu testenden Anforderungen sein, meist sind Robotiksystemen als kontinuierlich oder hybrid (Mix aus kontinuierlichen und diskreten Eigenschaften) einzustufen \cite{Utting2011}. Das Paradigma des Modells sowie das Testauswahlkriterium müssen bei der Entwicklung ausgewählt werden, da sie stark von den zu testenden Anforderungen abhängen. Allerdings werden häufig verschiedene dieser Paradigmen verwendet, da sie sich vereinigen lassen. Bezüglich des Testauswahlkriteriums und der Technik zum Generieren der Tests können ebenfalls mehrere verwendet werden \cite{Utting2011}.
+\subsubsection{Vorteile}
+Diese Methode der Testentwicklung ermöglicht erhebliche Einsparungen beim Entwicklungsaufwand bei Änderungen des Systems, da ohne viel Aufwand neue passende Testfälle generiert werden können. Die automatische Generierung eliminiert menschliche Fehler bei der Erstellung von Tests \cite{Gummel2018}.
+Eine gute Skalierbarkeit ist gegeben, da die Anzahl an Testfällen sich einfach anpassen lässt, wodurch mehr Fehler gefunden werden können und eine bessere Abdeckung gegeben ist \cite{Pretschner2005}.
+Als weiterer Vorteil ist bei dieser Methode anzugeben, dass das zu erstellende Modell (neben der Generierung der Testfälle) einen Überblick über die Funktionsweise basierend auf den Anforderungen des Systems gibt, sodass (neue) Entwickler dieses potentiell besser verstehen und daran arbeiten können.
+\subsubsection{Nachteile}
+Nachteilig lässt sich anmerken, dass sich eine gewisse Redundanz zwischen dem zum Testen genutzten Modell und den Modellen zur Entwicklung nicht vermeiden lässt \cite{Pueschel2018}. Einen weiteren Nachteil stellt das Erarbeiten des Modells sowie eines Adapters zur Testausführung dar, da hier der Entwicklungsaufwand initial möglicherweise stark erhöht wird. Außerdem könnte es aufgrund der nötigen Verarbeitungszeit von Signalen zu Schwierigkeiten beim Testen kommen, wenn etwa eine sehr schnelle Kommunikation erforderlich ist.
+
+
 
 
diff --git a/sections/konzept.tex b/sections/konzept.tex
index 93a9450..f331f79 100644
--- a/sections/konzept.tex
+++ b/sections/konzept.tex
@@ -1,33 +1,22 @@
 \chapter{Konzept}
-Aufgrund der genannten Vorteile von Modell-basiertem Testen wird dieses im folgenden umgesetzt. Zur Modellierung wird Uppaal\footnote{\url{https://uppaal.org/}} genutzt, eine Erweiterung namens TRON\footnote{\url{https://people.cs.aau.dk/~marius/tron/}} (Testing Realtime Systems Online) ermöglicht die Testgenerierung und direkte Ausführung aus dem erstellten Modell, indem ein Adapter erstellt wird. Als Vorbild dienen \cite{Ernits2015, Gummel2018}.
+\section{Simulation}
 Als Simulator bietet sich Gazebo an, da es sich einfach in ROS integrieren lässt und eine relativ hohe physikalische Korrektheit bietet. Verschiedene Physik-Engines können innerhalb von Gazebo verwendet werden.
 Auch werden Plug-Ins unterstützt, sodass sich auch nicht nativ implementiere Sachverhalte wie etwa die Umgebungstemperatur darstellen lassen \cite{Harris2011}. Gazebo ist daher und aufgrund seiner Stabilität in der Robotik und insbesondere in der Forschung die momentan am meisten verwendete Simulationssoftware.
 Allerdings können komplexe Zusammenhänge, auch abhängig von der gewünschten Akkuratheit, bei einer Implementierung in Form von Plug-Ins den Entwicklungsaufwand stark erhöhen. Problematisch ist bei Gazebo die Performance bei vielen simulierten Robotern oder komplexen Umgebungen, sodass in diesen Fällen potentiell andere Simulatoren verwendet werden sollten \cite{Ivaldi2014}.
-\cref{konzept:bild} zeigt den schematischen Aufbau der Implementierung.
+\section{Uppaal-Modellierung}
+Vor dem Erstellen eines Modells müssen zunächst die gewünschten Anforderungen des Systems formal festgehalten werden. Diese formalen Anforderungen müssen dann quantisiert werden. Dazu bieten sich besonders für die nicht-funktionalen Eigenschaften Invarianten im Modell an.
+Da für die Testgenerierung auch ein Modell für die Inputs des Systems nötig ist, können die Modelle auch innerhalb von Uppaal verifiziert werden. Ebenso können formale Eigenschaften mithilfe des integrierten Verifiers überprüft werden. Wie in \cref{grundlagen:testentwicklung:modell-basiert} erwähnt können, falls schon eine Implementierung vorhanden ist, auch Modelle die zur Entwicklung verwendet wurden zur Verifizierung beitragen.
 
-\begin{figure}[h]
+\section{TRON-Adapter}
+Um den Adapter an da ROS-System anzuknüpfen, wurde ein ROS-Node geschrieben, welcher die Pakete des Adapters annimmt und intern über die ROS Topics an das System weitergibt. Diese Übersetzung ist generisch implementiert, sodass zukünftig für ROS-Projekte dieser Adapter bis auf die Konfiguration wiederverwendet werden kann. Um die Umgebung in der Simulation auch für TRON verfügbar zu machen, müssen die dafür vorhandenen Daten über ein ROS Topic im System veröffentlicht und dann durch den Adapter weitergereicht werden. 
+\cref{konzept:bild} zeigt den schematischen Aufbau der Implementierung.
+\begin{figure}[H]
 	\centering
-	\includegraphics[scale=.8]{./konzept.pdf}
+	\includegraphics[scale=.5]{./konzept.png}
 	\caption{Aufbau der Testmethode}
 	\label{konzept:bild}
 \end{figure}
-
-\section{Modell in Uppaal}
-Ein System in Uppaal besteht aus einem oder mehreren Automaten. Sogenannte Channel und global deklarierte Variablen sorgen für eine Synchronisation dieser. Die Automaten selbst sind als erweiterte endliche nicht-deterministische Automaten einzuordnen. Durch Guards kann festgelegt werden, wann eine Kante verfügbar ist. Beim Entlanggehen einer Kante, welches auch durch die erwähnten Channel ausgelöst werden kann, können Variablen (global oder lokal) angepasst werden. Channel bieten sich als Modellierung der ROS Topics an.
-Invarianten können global oder nur in bestimmten Zuständen angegeben werden. \cref{konzept:uppaal_tor} zeigt beispielhaft ein modelliertes System eines automatischen Tores mit einem dazugehörigen Schlüssel. Beim probabilistischen Auslösen dieses Schlüssels (mit einer Wahrscheinlichkeit von 1:101) wird das Tor über den Channel \textit{auslösen} informiert, wechselt in den Zustand \textit{öffnend} und setzt die Variable "zeit" auf 0. Nach 10000 vergangenen Zeiteinheiten wechselt das Tor dann in den Zustand \textit{offen}. Das Schließen läuft analog dazu ab.
-\begin{figure}[h]
-	\centering
-	\includegraphics[scale=.4]{./uppaal_tor.png}
-	\caption{Beispiel-Modell in Uppaal}
-	\label{konzept:uppaal_tor}
-\end{figure}
-
-Vor dem Erstellen eines Modells müssen zunächst die gewünschten Anforderungen des Systems formal festgehalten werden. Diese formalen Anforderungen müssen dann quantisiert werden. Dazu bieten sich besonders für die nicht-funktionalen Eigenschaften Invarianten an.
-Folglich kann das Systemverhalten modelliert werden.
-Da für die Testgenerierung auch ein Modell für die Inputs des Systems nötig ist, können die Modelle auch innerhalb von Uppaal verifiziert werden. Ebenso können formale Eigenschaften mithilfe des integrierten Verifiers überprüft werden. Wie in \cref{grundlagen:testentwicklung:modell-basiert} erwähnt können, falls schon eine Implementierung vorhanden ist, auch Modelle die zur Entwicklung verwendet werden zur Verifizierung beitragen.
-
-\section{TRON Adapter}
-Channels, welche sowohl im modellierten Input als auch im System vorkommen stellen die Schnittstellen für den Adapter dar. Wird im Inputmodell ein Channel verwendet, so wird dieser sowohl im modellierten als auch im echten (oder simulierten) System über den Adapter ausgelöst. Asynchron dazu gibt das System den Output zurück an den Adapter, welcher dann mit den Gegebenheiten des Modells verglichen wird. Als built-in Adapter sind der sogenannte TraceAdapter, welcher über stdin/stdout kommuniziert, und der SocketAdapter, welcher zur Kommunikation eine TCP/IP-Verbindung aufbaut, verfügbar. Auch eigene Implementationen werden als dynamische C-Bibliothek ermöglicht. Für ROS bietet sich der SocketAdapter an, da die ROS-interne Kommunikation selbst auf TCP aufsetzt und so auch Übertragbarkeit gewährleistet wird. In \cite{Gummel2018} wird eine Erweiterung von TRON namens DTRON verwendet, um TRON für verteilte Systeme zu ermöglichen und mehrere ausgeführte Instanzen zugleich zu überprüfen. Diese Erweiterung ist zum aktuellen Zeitpunkt jedoch nicht verfügbar. Um den Adapter an da ROS-System anzuknüpfen, wird ein ROS-Node geschrieben, welcher die Pakete des Adapters annimmt und intern über die ROS Topics an das System weitergibt. Diese Übersetzung kann potentiell generisch implementiert werden, sodass zukünftig für ROS-Projekte beispielsweise nur eine Konfigurationsdatei erforderlich ist. Um die Umgebung in der Simulation auch für TRON verfügbar zu machen, müssen die dafür vorhandenen Daten folglich auch über ein ROS Topic im System veröffentlicht und dann durch den Adapter weitergereicht werden. Im Leitfaden zu TRON~\cite{TronManual} sind die verwendeten Pakete beschrieben und werden im Folgenden in den Kontext eingeordnet und erläutert wie diese verwendet werden.
+Im Leitfaden zu TRON~\cite{TronManual} sind die verwendeten Pakete beschrieben und werden im Folgenden in den Kontext eingeordnet und erläutert wie diese verwendet werden.
 
 \subsection{Adapter-Phasen}
 \subsubsection{Konfigurierungsphase}
@@ -42,9 +31,10 @@ Zunächst wird der SocketAdapter auf eine eingehende Verbindung warten. Folglich
 Nach erfolgreicher Konfiguration sendet der Node ein Byte mit dem Wert 64 um den Start des Tests anzufragen, als Antwort erhält er ein Byte mit dem Wert 0. Folglich werden Inputs und Outputs ausgetauscht, dabei bestehen die ersten 4 Byte der Nachricht aus den Channel Identifiern, worauf 2 Byte mit der Anzahl an verknüpften Variablen und schließlich die Variablen (je 4 Byte) folgen. Diese müssen dann innerhalb der ROS-Topics verbreitet werden. Als Antwort wird von beiden Seiten eine Bestätigung zurückgesendet, Inputs und Outputs können jedoch asynchron übertragen werden.
 
 \subsection{Implementierung}
+Der implementierte Adapter verwendet vom Betriebssystem bereitgestellte Sockets für die Kommunikation mit TRON und hält globale Variablen, in welchen die Abbildungen von Channels auf Topics sowie die zugehörigen Variablen beschrieben werden. Die Verwendung dieser wird im nächsten Abschnitt dargestellt.
 Bei der Implementierung des Adapters (siehe Anhang) sind einige Unklarheiten im Handbuch zu TRON (\cite{TronManual}) aufgefallen. So werden die Bytecodes 64 (tatsächlich zum Starten verwendet) und 127 (verwendet zum Anfragen von Fehlermeldungen) vertauscht. Lokale Variablen sowie probabilistische Kanten wie in \cref{konzept:uppaal_tor} werden von TRON nicht unterstützt, im Handbuch allerdings auch nicht erwähnt. Außerdem ist bei der Übertragung der Zeit pro Zeiteinheit die Rede von zwei 32-Bit-Integer-Variablen, während TRON tatsächlich einen 64-Bit-Integer (ohne Vorzeichen) verwendet, um die Mikrosekunden einer Modell-Zeiteinheit festzulegen. Derartige Fehlinformationen sind vermutlich darauf zurückzuführen, dass Uppaal sowie TRON selbst Updates erhielten, ohne dass das Handbuch angepasst wurde.\\
 Der Adapter wurde möglichst generisch gehalten und ist somit für sämtliche Nachrichten die innerhalb von ROS Topics ausgetauscht werden verwendbar. Einem Channel des Modells lassen sich beliebig viele Topics zuweisen und umgekehrt. 
-Templates ermöglichen generische Callbacks mit denen den TRON-Variablen Positionen innerhalb der ROS-Nachrichten zugewiesen werden, es sind jedoch auch eigene Implementierungen zum Beispiel für Felder mit variabler Länge möglich. 
+Templates ermöglichen generische Callbacks mit denen den TRON-Variablen Positionen innerhalb der ROS-Nachrichten zugewiesen werden, es sind jedoch auch eigene Implementierungen zum Beispiel für Felder mit variabler Länge möglich, welche in den meisten Fällen zu empfehlen sind.
 \subsubsection{Verwendung}
 Zur Verwendung des Adapters müssen primär Veränderungen in der Funktion \textit{configuration\_phase vorgenommen werden}. Die Struktur \textit{Mapping} beschreibt das Verhältnis von einem Channel zu einem Topic und muss daher für jedes gewünschte Paar initialisiert werden. Dabei ist (nach dem Namen des Topics und dem Namen des Channels) anzugeben, ob dieses Mapping als Eingabe oder Ausgabe dient. Soll ein Channel sowohl Eingabe als auch Ausgabe sein, oder sollen mehrere Topics einem Channel zugewiesen werden (oder umgekehrt), so müssen dafür zusätzliche Mappings erstellt werden.
 \\ Nach der Initialisierung können Variablen hinzugefügt werden. Parameter dafür sind in dieser Reihenfolge: der Name in Uppaal, der Offset (in Byte) von der letzten im Mapping vorhandenen Variable und schließlich optional Zeiger zu Konvertierungsfunktionen (von TRON zum Topic und umgekehrt). Letztere lassen sich verwenden, wenn Variablen des Topics nicht in dem von TRON verwendeten 32-Bit-Integer Format vorliegen oder Felder variabler Länge genutzt werden. Anzumerken ist hier, dass durch den Offset der Variable ausgehend von seinem Vorgänger die Variablen in der Reihenfolge angegeben werden müssen, in der sie innerhalb der ROS-Nachricht vorkommen.
@@ -77,4 +67,4 @@ Diese Variante wird auch bei einer später im Text folgenden beispielhaften Anwe
 
 \section{actionlib}\label{konzept:actionlib}
 Die actionlib \cite{Actionlib} baut ein Protokoll auf den Nachrichten von ROS auf und ermöglicht Kommunikation von Nodes für das Ausführen einer bestimmten Aufgabe mithilfe einer Client-Server-Architektur. Diese unterscheidet sich von den \textit{ROS Services}\footnote{\url{http://wiki.ros.org/Services}} insbesondere durch die ermöglichte Asynchronität, welche für konstante Rückmeldung des Servers sowie weitere Anfragen des Clients (wie etwa nach der Präemptierung einer Aktion) genutzt wird. 
-Dazu wurde die Implementierung eines endlichen Automaten realisiert, was sich neben den verwendeten ROS-Nachrichten für das Testen mittels TRON anbietet. Daher wird im Folgenden die Integration des Testadapters in ein System, welches die actionlib verwendet, beispielhaft vollzogen.
\ No newline at end of file
+Dazu wurde die Implementierung eines endlichen Automaten realisiert, was sich neben den verwendeten ROS-Nachrichten für das Testen mittels TRON anbietet. Daher wird im Folgenden die Möglichkeit einer Integration des Testadapters in ein System, welches die actionlib verwendet, beispielhaft überprüft.
\ No newline at end of file
diff --git a/sections/stateoftheart.tex b/sections/stateoftheart.tex
new file mode 100644
index 0000000..d281bdd
--- /dev/null
+++ b/sections/stateoftheart.tex
@@ -0,0 +1,19 @@
+\chapter{State of the Art}
+Neben der bereits erwähnten Integration von Unit-Tests in ROS und rostests, welche für Integrations- und System-Tests genutzt werden können existiert eine Reihe von Tools für Model-basiertes Testen wie in \cite{Shafique2010} dargestellt. Im Rahmen dieser Arbeit können jedoch nur nicht-kommerzielle Lösungen genauer untersucht werden. Weiterhin muss das gewählte Tool mit ROS und daher mit C++ kompatibel sein. Die Auswahl eines solchen Tools ist in die Testmanagementprozesse einzuordnen.
+\section{Spec Explorer (2010)}
+Der Spec Explorer von Microsoft\footnote{\url{https://marketplace.visualstudio.com/items?itemName=SpecExplorerTeam.SpecExplorer2010VisualStudioPowerTool-5089}} ist ein Tool für Modell-basiertes Testen und als kostenlose Erweiterung für Visual Studio vorhanden. Da jedoch eine kostenpflichtige Visual Studio Version notwendig ist, ist dieses Tool als kommerziell einzustufen und kann im Rahmen dieser Arbeit nicht verwendet werden. Es ist jedoch aufgrund seiner Verbreitung hier zu erwähnen und wurde bereits häufig im akademischen Rahmen verwendet \cite{Silva2008, Campbell2005, Campbell2005a, Naujoks2011, Botincan2007}. Ein abstraktes Modell des zu testenden Systems wird dabei in C\# implementiert, es sind jedoch auch andere Sprachen möglich. Das Tool ist umfangreich und bietet sowohl online- als auch offline-Testing an, wobei sich durch Adapter sämtliche Programmiersprachen verwenden lassen. Ebenso wird eine Validierung des Modells selbst unterstützt und es können verschiedene Testauswahlkriterien angewandt werden.
+\section{Uppaal TRON}
+Uppaal\footnote{\url{https://uppaal.org/}} ist ein für akademische Zwecke frei verfügbares Tool zum Validieren von Modellen und wurde bereits in \cite{Ernits2015, Gummel2018} im Zusammenhang mit ROS verwendet. Dabei wird eine Erweiterung namens TRON\footnote{\url{https://people.cs.aau.dk/~marius/tron/}} (Testing Realtime Systems Online) benutzt, welche das Modell im Rahmen eines online-Tests durchläuft, was sich wie in \cref{grundlagen:testentwicklung:modell-basiert} dargestellt für Robotiksysteme anbietet. Aus diesen Gründen und da auch am Lehrstuhl bereits mit Uppaal gearbeitet wurde, wird das Tool in dieser Arbeit exemplarisch angewandt. Die Erweiterung von TRON namens DTRON (Distributed TRON) für verteilte Systeme sowie das verwendete Adapter-Template von \cite{Ernits2015, Gummel2018} steht zum momentanen Zeitpunkt nicht zur Verfügung und kann daher nicht verwendet werden. Im folgenden wird sowohl das Modell unter Uppaal sowie die Funktionsweise des TRON-Adapters erläutert.
+\subsection{Modell in Uppaal}
+Ein System in Uppaal besteht aus einem oder mehreren Automaten. Sogenannte Channel und global deklarierte Variablen sorgen für eine Synchronisation dieser. Die Automaten selbst sind als erweiterte endliche nicht-deterministische Automaten einzuordnen, die auch Zeitangaben unterstützen. Durch Guards kann festgelegt werden, wann eine Kante verfügbar ist. Beim Entlanggehen einer Kante, welches auch durch die erwähnten Channel ausgelöst werden kann, können Variablen (global oder lokal) angepasst werden. Channel bieten sich als Modellierung der ROS Topics an.
+Invarianten können global oder nur in bestimmten Zuständen angegeben werden. \cref{konzept:uppaal_tor} zeigt beispielhaft ein modelliertes System eines automatischen Tores mit einem dazugehörigen Schlüssel. Beim probabilistischen Auslösen dieses Schlüssels (mit einer Wahrscheinlichkeit von 1:101) wird das Tor über den Channel \textit{auslösen} informiert, wechselt in den Zustand \textit{öffnend} und setzt die Variable "zeit" auf 0. Nach 10000 vergangenen Zeiteinheiten wechselt das Tor dann in den Zustand \textit{offen}. Das Schließen läuft analog dazu ab.
+\begin{figure}[h]
+	\centering
+	\includegraphics[scale=.4]{./uppaal_tor.png}
+	\caption{Beispiel-Modell in Uppaal}
+	\label{konzept:uppaal_tor}
+\end{figure}
+\subsection{TRON Adapter}
+Channels, welche sowohl im modellierten Input als auch im System vorkommen stellen die Schnittstellen für den Adapter dar. Wird im Inputmodell ein Channel verwendet, so wird dieser sowohl im modellierten als auch im echten (oder simulierten) System über den Adapter ausgelöst. Asynchron dazu gibt das System den Output zurück an den Adapter, welcher dann mit den Gegebenheiten des Modells verglichen wird. Als built-in Adapter sind der sogenannte TraceAdapter, welcher über stdin/stdout (Standard-Pipes von Linux) kommuniziert, und der SocketAdapter, welcher zur Kommunikation eine TCP/IP-Verbindung aufbaut, verfügbar. Auch eigene Implementationen werden als dynamische C-Bibliothek ermöglicht. Für ROS bietet sich der SocketAdapter an, da die ROS-interne Kommunikation selbst auf TCP aufsetzt und so auch Übertragbarkeit gewährleistet wird.
+\section{GraphWalker?}
+\url{http://graphwalker.github.io/}
diff --git a/thesis.tex b/thesis.tex
index 1092613..c0656e4 100644
--- a/thesis.tex
+++ b/thesis.tex
@@ -18,9 +18,6 @@
     hyperref,
 ]{biblatex}
 \addbibresource{literatur.bib}
-\AtEveryBibitem{%
-    \clearfield{note}%
-}
 
 \usepackage[hidelinks]{hyperref} % makes all links clickable but hides ugly boxes
 \usepackage[capitalise,nameinlink,noabbrev]{cleveref} % automatically inserts Fig. X in the text with \cref{..}
@@ -125,13 +122,14 @@
 
 \input{sections/einleitung.tex}
 \input{sections/grundlagen.tex}
+\input{sections/stateoftheart.tex}
 \input{sections/konzept.tex}
 \input{sections/ausfuehrung.tex}
 
 \printbibliography[heading=bibintoc]\label{sec:bibliography}%
 
 \appendix
-\input{sections/appendix.tex}
+%\input{sections/appendix.tex}
 
 \confirmation
 
-- 
GitLab