diff --git a/thesis-template/.gitignore b/thesis-template/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..6ad68f372cd840d36710c2c9ad6e5aa5c08ada0e
--- /dev/null
+++ b/thesis-template/.gitignore
@@ -0,0 +1,254 @@
+# downloaded from https://raw.githubusercontent.com/github/gitignore/master/TeX.gitignore
+
+## Core latex/pdflatex auxiliary files:
+*.aux
+*.lof
+*.log
+*.lot
+*.fls
+*.out
+*.toc
+*.fmt
+*.fot
+*.cb
+*.cb2
+.*.lb
+
+## Intermediate documents:
+*.dvi
+*.xdv
+*-converted-to.*
+# these rules might exclude image files for figures etc.
+# *.ps
+# *.eps
+# *.pdf
+
+## Generated if empty string is given at "Please type another file name for output:"
+.pdf
+
+## Bibliography auxiliary files (bibtex/biblatex/biber):
+*.bbl
+*.bcf
+*.blg
+*-blx.aux
+*-blx.bib
+*.run.xml
+
+## Build tool auxiliary files:
+*.fdb_latexmk
+*.synctex
+*.synctex(busy)
+*.synctex.gz
+*.synctex.gz(busy)
+*.pdfsync
+
+## Build tool directories for auxiliary files
+# latexrun
+latex.out/
+
+## Auxiliary and intermediate files from other packages:
+# algorithms
+*.alg
+*.loa
+
+# achemso
+acs-*.bib
+
+# amsthm
+*.thm
+
+# beamer
+*.nav
+*.pre
+*.snm
+*.vrb
+
+# changes
+*.soc
+
+# cprotect
+*.cpt
+
+# elsarticle (documentclass of Elsevier journals)
+*.spl
+
+# endnotes
+*.ent
+
+# fixme
+*.lox
+
+# feynmf/feynmp
+*.mf
+*.mp
+*.t[1-9]
+*.t[1-9][0-9]
+*.tfm
+
+#(r)(e)ledmac/(r)(e)ledpar
+*.end
+*.?end
+*.[1-9]
+*.[1-9][0-9]
+*.[1-9][0-9][0-9]
+*.[1-9]R
+*.[1-9][0-9]R
+*.[1-9][0-9][0-9]R
+*.eledsec[1-9]
+*.eledsec[1-9]R
+*.eledsec[1-9][0-9]
+*.eledsec[1-9][0-9]R
+*.eledsec[1-9][0-9][0-9]
+*.eledsec[1-9][0-9][0-9]R
+
+# glossaries
+*.acn
+*.acr
+*.glg
+*.glo
+*.gls
+*.glsdefs
+
+# gnuplottex
+*-gnuplottex-*
+
+# gregoriotex
+*.gaux
+*.gtex
+
+# htlatex
+*.4ct
+*.4tc
+*.idv
+*.lg
+*.trc
+*.xref
+
+# hyperref
+*.brf
+
+# knitr
+*-concordance.tex
+# TODO Comment the next line if you want to keep your tikz graphics files
+*.tikz
+*-tikzDictionary
+
+# listings
+*.lol
+
+# makeidx
+*.idx
+*.ilg
+*.ind
+*.ist
+
+# minitoc
+*.maf
+*.mlf
+*.mlt
+*.mtc[0-9]*
+*.slf[0-9]*
+*.slt[0-9]*
+*.stc[0-9]*
+
+# minted
+_minted*
+*.pyg
+
+# morewrites
+*.mw
+
+# nomencl
+*.nlg
+*.nlo
+*.nls
+
+# pax
+*.pax
+
+# pdfpcnotes
+*.pdfpc
+
+# sagetex
+*.sagetex.sage
+*.sagetex.py
+*.sagetex.scmd
+
+# scrwfile
+*.wrt
+
+# sympy
+*.sout
+*.sympy
+sympy-plots-for-*.tex/
+
+# pdfcomment
+*.upa
+*.upb
+
+# pythontex
+*.pytxcode
+pythontex-files-*/
+
+# tcolorbox
+*.listing
+
+# thmtools
+*.loe
+
+# TikZ & PGF
+*.dpth
+*.md5
+*.auxlock
+
+# todonotes
+*.tdo
+
+# easy-todo
+*.lod
+
+# xmpincl
+*.xmpi
+
+# xindy
+*.xdy
+
+# xypic precompiled matrices
+*.xyc
+
+# endfloat
+*.ttt
+*.fff
+
+# Latexian
+TSWLatexianTemp*
+
+## Editors:
+# WinEdt
+*.bak
+*.sav
+
+# Texpad
+.texpadtmp
+
+# LyX
+*.lyx~
+
+# Kile
+*.backup
+
+# KBibTeX
+*~[0-9]*
+
+# auto folder when using emacs and auctex
+./auto/*
+*.el
+
+# expex forward references with \gathertags
+*-tags.tex
+
+# standalone packages
+*.sta
+
+# this thesis
+thesis.pdf
diff --git a/thesis-template/.gitlab-ci.yml b/thesis-template/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4957b106418d1a7d393ffdada26480a55913ccdf
--- /dev/null
+++ b/thesis-template/.gitlab-ci.yml
@@ -0,0 +1,43 @@
+image: aergus/latex
+
+variables:
+  FILENAME: thesis
+  FILEDIR: .
+  DIFFCMD: bash git-latexdiff --exclude-textcmd="section,subsection" -b --main $FILENAME.tex --latexmk
+
+stages:
+  - build
+  - diff
+
+build:
+  stage: build
+  tags:
+    - dockered
+  artifacts:
+    paths:
+      - $FILEDIR/$FILENAME.pdf
+      - $FILEDIR/build_$FILENAME.log
+  script:
+    - cd "$FILEDIR"
+    - latexmk -pdf "$FILENAME.tex" 2>&1 | tee build_"$FILENAME".log
+    - 'grep -v "LaTeX Warning: There were undefined references." build_"$FILENAME".log'
+
+diff:
+  stage: diff
+  tags:
+    - dockered
+  artifacts:
+    paths:
+      - $FILEDIR/difftag_$FILENAME.pdf
+      - $FILEDIR/diffcommit_$FILENAME.pdf
+  script:
+    - cd "$FILEDIR"
+    - LAST_TAG=$(git describe --abbrev=0 --tags HEAD~1)
+    - wget https://gitlab.com/git-latexdiff/git-latexdiff/raw/ef53cddc761ce2d278ba5016d17828cf63e30af5/git-latexdiff
+    - if [ "$LAST_TAG" ] ; then
+    -   $DIFFCMD -o "difftag_$FILENAME.pdf" "$LAST_TAG"
+    - fi
+    - if [ "$CI_BEFORE_SHA" ] ; then
+    -   $DIFFCMD -o "diffcommit_$FILENAME.pdf" "$CI_BEFORE_SHA"
+    - fi
+  allow_failure: true
diff --git a/thesis-template/Makefile b/thesis-template/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..02d36aa0b9f503390b6293485ae6ad21c391e695
--- /dev/null
+++ b/thesis-template/Makefile
@@ -0,0 +1,7 @@
+target clean:
+	latexmk -C
+	rm *.bbl *.tdo *.bpn *.run.xml
+
+target:
+	`pwd`/run
+
diff --git a/thesis-template/README.md b/thesis-template/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e59abb9721163fe1437be9d02ccea1e4af6575b0
--- /dev/null
+++ b/thesis-template/README.md
@@ -0,0 +1,11 @@
+[![pipeline status](/../badges/master/pipeline.svg)](../../pipelines)
+
+* [Latest PDF online](/../-/jobs/artifacts/master/file/thesis.pdf?job=build)
+    * [Build Log](/../-/jobs/artifacts/master/file/build_thesis.log?job=build)
+* [diff to last tag](/../-/jobs/artifacts/master/file/difftag_thesis.pdf?job=diff)
+* [diff to last commit](/../-/jobs/artifacts/master/file/diffcommit_thesis.pdf?job=diff)
+
+
+Helpful documents
+* [(German) manual for the TU LaTeX template](http://mirrors.ctan.org/macros/latex/contrib/tudscr/doc/tudscr.pdf)
+* [Ein Anwenderleitfaden für das Erstellen einer wissenschaftlichen Abhandlung](http://mirrors.ctan.org/macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf)
\ No newline at end of file
diff --git a/thesis-template/bibliography.bib b/thesis-template/bibliography.bib
new file mode 100644
index 0000000000000000000000000000000000000000..50997b994219b25486c592a1f2687b02590d812a
--- /dev/null
+++ b/thesis-template/bibliography.bib
@@ -0,0 +1,36 @@
+@book{haddadin2013towards,
+  title={Towards safe robots: approaching Asimov’s 1st law},
+  author={Haddadin, Sami},
+  volume={90},
+  year={2013},
+  publisher={Springer}
+}
+
+@book{goossens94,
+  author    = {Goossens, Michel and Mittelbach, Frank
+               and Samarin, Alexander},
+  title     = {The LaTeX Companion},
+  date      = {1994},
+  publisher = {Addison-Wesley},
+  location  = {Reading, Massachusetts},
+  language  = {english},
+}
+@book{knuth84,
+  author    = {Knuth, Donald E.},
+  title     = {The \TeX book},
+  date      = {1984},
+  maintitle = {Computers \& Typesetting},
+  volume    = {A},
+  publisher = {Addison-Wesley},
+  location  = {Reading, Massachusetts},
+  language  = {english},
+}
+@manual{hanisch14,
+  author    = {Hanisch, Falk},
+  title     = {Ein \LaTeX"=Bundle für Dokumente im neuen Corporate
+               Design der Technischen Universität Dresden},
+  date      = {2014},
+  subtitle  = {Benutzerhandbuch},
+  location  = {Dresden},
+  language  = {german},
+}
diff --git a/thesis-template/code/requiredSensor.jrag b/thesis-template/code/requiredSensor.jrag
new file mode 100644
index 0000000000000000000000000000000000000000..d135901b0928a1b79587b9746460ffed31659ea2
--- /dev/null
+++ b/thesis-template/code/requiredSensor.jrag
@@ -0,0 +1,7 @@
+syn Collection<Sensor> Route.requiredSensors() {
+  java.util.List<Sensor> sensors = new ArrayList<>();
+  for (Ref sensorRef : getRequiredSensorList()) {
+    sensors.add(sensorRef.asSensor());
+  }
+  return sensors;
+}
diff --git a/thesis-template/images/OMG_MOF_4levels.jpg b/thesis-template/images/OMG_MOF_4levels.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e1eba39ad051c688208c4c783c7c4da7435ee19a
Binary files /dev/null and b/thesis-template/images/OMG_MOF_4levels.jpg differ
diff --git a/thesis-template/lst.tex b/thesis-template/lst.tex
new file mode 100644
index 0000000000000000000000000000000000000000..25f5d6f688e2fe9b3cb85d854870c75b1b0453c8
--- /dev/null
+++ b/thesis-template/lst.tex
@@ -0,0 +1,61 @@
+\usepackage{listings}
+\usepackage{inconsolata}
+
+\lstdefinestyle{common-style}{
+  basicstyle=\scriptsize\ttfamily,  % the size of the fonts that are used for the code
+  showspaces=false,                   % show spaces adding particular underscores
+  showstringspaces=false,             % underline spaces within strings
+  showtabs=false,                     % show tabs within strings adding particular underscores
+%  frame=tlrb,                         % adds a frame around the code
+  framexleftmargin=1em,               % space between left part of frame and listing
+  tabsize=2,                          % sets default tabsize to 2 spaces
+  breaklines=true,                    % sets automatic line breaking
+  breakatwhitespace=true,             % sets if automatic breaks should only happen at whitespace
+  keywordstyle={\color{blue}\textbf}, % keywords are blue
+  commentstyle={\color{gray}},        % comments
+  literate={\$}{{{\$}}}1,
+  basewidth=0.5em,
+  breakindent=40pt,
+  breakautoindent=true,
+  escapechar=\&,
+  aboveskip={0.1\baselineskip}
+}
+
+\lstdefinestyle{shortlisting}{
+	xleftmargin=\parindent,
+	frame=none,
+	aboveskip=3pt,belowskip=3pt
+}
+
+\lstdefinestyle{unboxed}{
+  style=common-style,
+	frame=none,
+}
+
+% JastAdd
+\lstdefinelanguage{AST}{
+	style=common-style,
+	morekeywords={abstract,rel},
+	otherkeywords={::=,->,<,>},
+	morecomment=[l]{//}, morecomment=[s]{/*}{*/},
+}
+
+\lstdefinelanguage{JRAG}[]{java}{
+	style=common-style,
+	morekeywords={abstract,public,private,boolean,aspect,null,syn,inh,coll,eq,with,int,contributes,new,return,for,if,else,this,to,true,false},
+	morecomment=[l]{//}, morecomment=[s]{/*}{*/},
+}
+
+\newcommand{\lstbg}[3][0pt]{{\fboxsep#1\colorbox{#2}{\strut #3}}}
+\lstdefinelanguage{diff}[]{java}{
+  style=common-style,
+  morecomment=[f][\lstbg{HKS07!30}]-,
+  morecomment=[f][\lstbg{HKS65!30}]+,
+  morecomment=[f][\textit]{@@},
+  %morecomment=[f][\textit]{---},
+  %morecomment=[f][\textit]{+++},
+}
+
+\lstdefinestyle{AST} { language=AST,style=common-style } 
+\lstdefinestyle{JRAG} { language=JRAG,style=common-style }
+\lstdefinestyle{Java} { language=Java,style=common-style }
diff --git a/thesis-template/run b/thesis-template/run
new file mode 100644
index 0000000000000000000000000000000000000000..40a52acabebbd4e53a6c9e802f2bc9e3cb078dda
--- /dev/null
+++ b/thesis-template/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+latexmk -pdf thesis.tex
diff --git a/thesis-template/sections/appendix.tex b/thesis-template/sections/appendix.tex
new file mode 100644
index 0000000000000000000000000000000000000000..f77998e891595a1c7c2c67515df280a1927873e1
--- /dev/null
+++ b/thesis-template/sections/appendix.tex
@@ -0,0 +1,174 @@
+\chapter{Weitere Latex-Dokumentation}
+Nachdem nun der Vorspann und~-- bis auf das Literaturverzeichnis am
+Ende des Dokumentes auf Seite~\pageref{sec:bibliography}~-- alle
+Verzeichnisse erfolgreich ausgegeben wurden, wird nun die Verwendung
+der weiteren Umgebungen und Befehle demonstriert, welche im Tutorial
+\texturn{treatise.pdf} vorgestellt wurden.
+
+\section{Referenzen und das Literaturverzeichnis}
+Das Literaturverzeichnis wird auf Basis der nachfolgend verwendeten
+Zitate erstellt und ist auf Seite~\pageref{sec:bibliography} zu finden.
+In diesem Textabschnitt werden die zwei bekannten \LaTeX-Bücher
+\cite{knuth84} und \cite{goossens94} sowie das Anwenderhandbuch
+\cite{hanisch14} zitiert.p
+
+\section{Grafiken und Tabellen in Gleitumgebungen}
+Es folgt die Demonstration von Gleitumgebungen, welche sowohl für
+Grafiken als auch Tabellen verwendet werden sollten. Im vorliegenden
+Beispiel kann unter Umständen der Eindruck entstehen, dass diese Seite
+etwas zu überladen mit Gleitobjekten ist. Dies liegt nicht an der
+Verwendung der Gleitobjekte sondern vielmehr am zu geringen Textvolumen
+und den eingeschränkten Möglichkeiten von \LaTeX{}, diese an geeigneten
+Stellen zu platzieren.
+
+\subsection{Abbildungen als Gleitobjekte und das Einbinden von Grafiken}
+In \autoref{fig:example} wird dargestellt, wie eine Grafik im PDF"~Format
+in ein Dokument eingebunden und auf diese verwiesen werden kann. Ein
+Querverweis auf ein Gleitobjekt sollte im Fließtext am besten mit Befehl
+\texttt{\textbackslash autoref\{\emph{<Label>}\}} erstellt werden.
+Hierfür ist ein entsprechender Anker am zu referenzierenden Objekt nötig,
+welcher mit dem Makro \texttt{\textbackslash label} erzeugt wird. Dabei
+ist entscheidend, dass dieser Anker erst \emph{nach} der Beschriftung des
+Objektes, welche mit \texttt{\textbackslash caption} zu erstellen ist,
+definiert werden sollte.
+
+\begin{figure}
+\centering
+\includegraphics{TUD-black}
+\caption{Beispielgrafik}\label{fig:example}
+\end{figure}
+
+\subsection{Untergleitobjekte}
+Nachdem nun schon eine gleitende Abbildung und zwei gleitende Tabellen
+erstellt wurden, folgt jetzt noch eine gleitende Abbildung mit zwei
+Unterabbildungen. Durch die drei gesetzten Anker kann im Fließtext
+sowohl auf \autoref{fig:logos} als auch auf \autoref{fig:tud} sowie
+\autoref{fig:ddc} verwiesen werden.
+
+\begin{figure}
+\ffigbox[\FBwidth]%
+  {\begin{subfloatrow}%
+    \ffigbox[\FBwidth]%
+      {\fbox{\includegraphics[height=2cm]{TUD-black}}}%
+      {\caption{Eine Abbildung}\label{fig:tud}}%
+    \ffigbox[\FBwidth]%
+      {\fbox{\includegraphics[height=2cm]{DDC-21}}}%
+      {\caption{Eine weitere Abbildung}\label{fig:ddc}}%
+  \end{subfloatrow}}%
+  {\caption{Eine Gleitumgebung mit zwei Abbildungen}\label{fig:logos}}%
+\end{figure}
+
+\subsection{Tabellen als Gleitobjekte}
+Tabellen sollten in der \texttt{table}"=Gleitumgebung gesetzt werden.
+Welche Umgebung für die Tabelle selbst dabei genutzt wird ist dabei
+nicht relevant. Es können sowohl die normale \texttt{tabular}"=Umgebung
+als auch die Umgebungen \texttt{tabularx}, \texttt{tabulary} sowie
+\texttt{tabu} für variable Spaltenbreiten bei einer fest vorgegebenen
+Tabellenbreite oder jede andere Tabellenumgebung genutzt werden.
+Nachfolgend wird dies an mehreren Beispielen demonstriert.
+
+\subsubsection{Eine gleitende tabularx-Tabelle}
+Es wird eine Tabelle mithilfe der \texttt{tabularx}"=Umgebung erstellt.
+Zu sehen ist diese in \autoref{tab:tabularx}. Für diese werden zuvor
+neue Spaltentypen definiert.
+
+\newcolumntype{Y}{>{\hspace{0pt}}X}
+\newcolumntype{D}{>{\raggedright}Y}
+\newcolumntype{E}{>{\centering}Y}
+\newcolumntype{F}{>{\raggedleft}Y}
+
+\begin{table}
+\begin{tabularx}{\textwidth}{@{}DEFY@{}}
+\toprule
+\textbf{Linksbündig} & \textbf{Zentriert} &
+\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline
+\midrule
+Ein linksbündiger Blindtext zur Demonstration einer S"~Spalte &
+Ein zentrierter Blindtext zur Demonstration einer T"~Spalte &
+Ein rechtsbündiger Blindtext zur Demonstration einer U"~Spalte &
+Ein längerer Blindtext im Blocksatz zur besseren Demonstration
+einer Y"~Spalte\tabularnewline
+\bottomrule
+\end{tabularx}
+\caption{Eine \texttt{tabularx}"=Tabelle}\label{tab:tabularx}
+\end{table}
+
+\subsubsection{Eine gleitende tabulary-Tabelle}
+Es wird eine Tabelle mithilfe der \texttt{tabulary}"=Umgebung erstellt.
+Zu sehen ist diese in \autoref{tab:tabulary}.
+
+\begin{table}
+\begin{tabulary}{\textwidth}{@{}LCRJ@{}}
+\toprule
+\textbf{Linksbündig} & \textbf{Zentriert} &
+\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule
+Ein linksbündiger Blindtext zur Demonstration einer L"~Spalte &
+Ein zentrierter Blindtext zur Demonstration einer C"~Spalte &
+Ein rechtsbündiger Blindtext zur Demonstration einer R"~Spalte &
+Ein wesentlich längerer und absolut inhaltsleerer Blindtext im
+Blocksatz für eine um einiges bessere Demonstration einer J"~Spalte
+\tabularnewline\bottomrule
+\end{tabulary}
+\caption{Eine \texttt{tabulary}"=Tabelle}\label{tab:tabulary}
+\end{table}
+
+\subsubsection{Eine gleitende tabu-Tabelle}
+In \autoref{tab:tabu} ist eine weitere Tabelle mit variabler Breite der
+Spalten und festgelegter Gesamtbreite zu sehen, welche in der Umgebung
+\texttt{tabu} gesetzt wurde. Auch für diese wird zuerst ein neuer
+Spaltentyp definiert, der die Unzulänglichkeiten der Umgebung reduziert.
+Mit \texttt{\textbackslash ttabbox} aus dem Paket \texttt{floatrow} wird
+die Beschriftung auf die Breite der Tabelle begrenzt.
+
+\makeatletter
+\newcolumntype{Z}{}
+\renewcommand*{\NC@rewrite@Z}[1][]{%
+  \NC@find>{\hspace{0pt}}X[#1]<{\@finalstrut\@arstrutbox}%
+}
+\makeatother
+
+\begin{table}
+\ttabbox{%
+  \begin{tabu} to .8\textwidth {@{}Z[3,l]Z[3,c]Z[3,r]Z[2,j]@{}}
+    \toprule
+    \textbf{Linksbündig} & \textbf{Zentriert} &
+    \textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule
+    Ein linksbündiger Blindtext zur Demonstration einer Z[l]"~Spalte &
+    Ein zentrierter Blindtext zur Demonstration einer Z[c]"~Spalte &
+    Ein rechtsbündiger Blindtext zur Demonstration einer Z[r]"~Spalte &
+    Ein Blindtext im Blocksatz innerhalb einer Z"~Spalte
+    \tabularnewline\bottomrule
+  \end{tabu}%
+}{%
+  \caption[Eine \texttt{tabu}"=Tabelle]{%
+    Eine \texttt{tabu}"=Tabelle in Verbindung mit dem Befehl
+    \texttt{\textbackslash ttabbox}, welcher vom Paket \texttt{floatrow}
+    für Beschriftungen in Objektbreite bereitgestellt wird%
+  }%
+  \label{tab:tabu}%
+}
+\end{table}
+
+\section{Zitate}
+Bei der Verwendung von wörtlichen Zitaten sollten diese als solche
+gekennzeichnet werden.
+\enquote{Dies ist ein zugegebenermaßen nicht sehr sinnvolles Zitat.}
+\cite[58]{hanisch14}
+Für eine möglichst gut nachvollziehbare Referenz sollte nicht nur
+das Werk selber sondern zumindest die Seitenzahl und gegebenenfalls
+der Absatz der originalen Textstelle angegeben werden.
+\begin{quoting}
+\enquote{%
+  Dies ist ein noch sinnloseres Zitat. Allerdings wird zumindest die
+  Wirkung der Umgebung \texttt{quoting} bei der Absatzauszeichnung
+  deutlich.
+
+  Wie zu sehen ist, wird der zweite Absatz~-- wie jeder weitere~--
+  aufgrund der Option \texttt{parskip=false} eingezogen.
+}
+\cite[sinngemäß nach][\pno{} 12, zweiter Absatz]{hanisch14}
+\end{quoting}
+Ebenfalls sollten sinngemäße Zitate mit einer möglichst genauen Referenz
+angegeben werden. Dies kann im Laufe der Arbeit auch für einen selbst von
+Vorteil sein, wenn beispielsweise die originale Textpassage noch einmal
+analysiert werden soll.
diff --git a/thesis-template/sections/einleitung.tex b/thesis-template/sections/einleitung.tex
new file mode 100644
index 0000000000000000000000000000000000000000..8b05cf7dbddf344bdf33d9927926cd4b07b8d3af
--- /dev/null
+++ b/thesis-template/sections/einleitung.tex
@@ -0,0 +1,10 @@
+\chapter{Einleitung}\label{ch:introduction}
+'Collaborate Multi-Robot Work-Cells' beschreibt ein Gebiet der Robotik, dessen Inhalt die Kooperation mehrerer Roboter hinsichtlich der Lösung einer spezifischen Aufgabe ist. Zugrundeliegende Algorithmen ermöglichen dabei die Bewältigung der Aufgaben ohne Kollisionen untereinander, sowie mit Hindernissen in der Umgebung. \par
+Die Planung der Abläufe ist abhängig von der Beschaffenheit des Roboters, denn die Basis eines Roboters kann beweglich oder fest sein. Beispielsweise sind Roboterarme fest auf einer Platte montiert und sind somit fester Bestandteil der Umgebung. Ein Wechsel der ihrer Position würde bedeuten, eine andere Stelle auf der Platte für die Montage zu präparieren, den Roboterarm zu demontieren und an anderer Stelle zu platzieren, was sich als aufwändig gestalten kann. Daraus ist ersichtlich, dass die Positionierung unflexibler Roboter ein Problem darstellt, dessen Lösung direkten Einfluss auf die Bewältigung der spezifischen Aufgabe hat. Die Absolvierung der spezifischen Aufgabe wird demzufolge durch effizientere Nutzung der Arbeitsumgebung besser umgesetzt, aufwändige Montage arbeiten während der Bearbeitung werden reduziert und der dadurch erschlossene Raum sowie die resultierende Zeit kann gewinnbringender genutzt werden. Im Anbetracht der stetig wachsenden Industrie und der sich daraus ergebenden Nachfrage nach effizienten automatisierten Produktionsverfahren, die den limitierten Arbeitsraum einer Produktionsstätte optimal nutzen, ist die Platzierung der Roboter ein entscheidender erster Schritt zur Optimierung des gesamten Arbeitsprozesses. 
+
+\paragraph{Ziel der Arbeit:} Ziel ist es, basierend auf der Analyse des Arbeitsraums eines Roboterarms und des gegebenen Umfelds sowie der spezifischen Aufgabe, die optimale Positionierung dessen Basis zu bestimmen.\par
+
+Bezüglich der Problemstellung und des Ziels der Bachelorarbeit, ergeben sich mehrere Teilziele mit eigenen Prototypen, in die diese wissenschaftliche Arbeit unterteilt ist.
+
+
+In~\Cref{ch:conclusion} kommt die Zusammenfassung.
diff --git a/thesis-template/sections/eval.tex b/thesis-template/sections/eval.tex
new file mode 100644
index 0000000000000000000000000000000000000000..ad7fe22bf1f1b78c414641b8ff73a5c34e29ca80
--- /dev/null
+++ b/thesis-template/sections/eval.tex
@@ -0,0 +1,3 @@
+\chapter{Erprobung der Anwendungsinstallation}\label{ch:evaluation}
+
+\blindtext
diff --git a/thesis-template/sections/figures.tex b/thesis-template/sections/figures.tex
new file mode 100644
index 0000000000000000000000000000000000000000..44ab0a4614df3c25714fedb046bae3a83481bde3
--- /dev/null
+++ b/thesis-template/sections/figures.tex
@@ -0,0 +1,23 @@
+\section{Figures, Zitate, Mathe}
+\begin{figure}[h]
+\centering
+\includegraphics[scale=0.8]{OMG_MOF_4levels}
+\caption{Das ist eine schlechte Grafik --- zu viele Pixel. Versuche Vektorgrafiken zu nutzen. Selbst malen geht gut mit draw.io powerpoint
+  oder inkscape}\label{fig:mof}
+\end{figure}
+
+Wenn eine Abbildung verwendet wird, muss diese immer unbedingt im Text referenziert und beschrieben werden.
+Z.B. so: \Cref{fig:mof}.
+
+Zitieren geht so~\cite{haddadin2013towards}.
+
+Math:
+
+$A = \{x | x \in Y\}$
+
+\begin{defs}\label{def:abc}
+    A \textbf{Petrinet} is a tuple ${\Sigma = (P, T, F, W)}$.
+\end{defs}
+
+Petrinets are defined in~\Cref{def:abc}. See at the head of this document how to create your own definitions/lemma environments.
+
diff --git a/thesis-template/sections/grundlagen.tex b/thesis-template/sections/grundlagen.tex
new file mode 100644
index 0000000000000000000000000000000000000000..f75758797c18a4606a73effcf5ae4bf7e94be3d8
--- /dev/null
+++ b/thesis-template/sections/grundlagen.tex
@@ -0,0 +1,9 @@
+\chapter{Grundlagen}\label{ch:basics}
+Wesentliche Konzepte dieser Bachelorarbeit fundieren auf verschiedenen wissenschaftlichen Publikationen, die Aspekte der Problematik aufgreifen und näher erläutern. Dabei werden beispielsweise Begriffe mehrdeutig verwendet, weil keine offizielle Definition existiert oder sich die Bedeutungen überschneiden. Ebenfalls grundieren die Ansätze auf mathematischen Konzepten, die zwar genannt aber nicht ausreichend erklärt werden. Zum näheren und besseren Verständnis der Ideen und Konzepte, die Bestandteil dieser wissenschaftlichen Arbeit sind, werden diese zugrundeliegenden Strukturen zusätzlich erklärt und gegebenenfalls für dieses Dokument definiert. 
+
+
+\input{sections/figures}
+\input{sections/install}
+
+\section{Räumliche Partitionierung}
+Räumliche Partitionierung beschreibt das Unterteilen eines kartesischen Raumes in kleinere, disjunkte Teilräume und deren Indexierung und Speicherung in entsprechenden Datenstrukturen. Die Implementierung einer solcher Datenstruktur ist oft eine Baumstruktur mit speziellen Eigenschaften, die dessen Einsatz im 3 dimensionalen Raum begünstigen. Beispielsweise sind solche Bäume aufgrund dessen Kompaktheit für die Aufbewahrung großer Datenmengen geeignet oder ermöglichen eine schnelle Suche unter den Blättern durch ihre Implementierung. In der Literatur wird die Unterteilung eines quadratischen Raumes in Würfel fester Größe Voxelisierung genannt, wobei ein Voxel ein Pixel im 3 dimensionalen Raum darstellt. 
diff --git a/thesis-template/sections/install.tex b/thesis-template/sections/install.tex
new file mode 100644
index 0000000000000000000000000000000000000000..3b4f83a3ee46099a52c5431543e4bad00301736e
--- /dev/null
+++ b/thesis-template/sections/install.tex
@@ -0,0 +1,9 @@
+\subsection{Installation}
+\textbf{Windows:} miktex
+
+\textbf{Linux:} texlive-full
+
+\textbf{GUI-Editor} texstudio
+
+Konfiguration vom Editor: Preferences > Build
+* default compiler: \emph{latexmk}
diff --git a/thesis-template/sections/problem.tex b/thesis-template/sections/problem.tex
new file mode 100644
index 0000000000000000000000000000000000000000..06497419b5f6bfd572694fb3373ef18d367a972b
--- /dev/null
+++ b/thesis-template/sections/problem.tex
@@ -0,0 +1,21 @@
+\chapter{Problemanalyse und Modellierung}
+
+\blindtext
+\todo[inline]{Write some more}
+
+\begin{lstlisting}[language=AST,label={lst:example-ast},caption={Example AST}]
+RailwayContainer ::= Route* Region*;
+abstract RailwayElement ::= <Id:int>;
+Region : RailwayElement ::= TrackElement* Sensor*;
+Semaphore : RailwayElement ::= <Signal:Signal>;
+Route : RailwayElement ::= <Active:boolean> SwitchPosition*;
+SwitchPosition : RailwayElement ::= <Position:Position>;
+Sensor : RailwayElement;
+abstract TrackElement:RailwayElement;
+Segment : TrackElement ::= <Length:int> Semaphore*;
+Switch : TrackElement ::= <CurrentPosition:Position>;
+\end{lstlisting}
+%
+Das Listing~\ref{lst:example-ast} zeigt eine beispielhafte Grammatik, welche im Attribute im folgenden Listing genutzt wird:
+
+\lstinputlisting[language=JRAG,style=unboxed]{code/requiredSensor.jrag}
diff --git a/thesis-template/sections/zusammenfassung.tex b/thesis-template/sections/zusammenfassung.tex
new file mode 100644
index 0000000000000000000000000000000000000000..a1296a202f4194af01c1a2243c7ef97cdb1ffeff
--- /dev/null
+++ b/thesis-template/sections/zusammenfassung.tex
@@ -0,0 +1,3 @@
+\chapter{Zusammenfassung}\label{ch:conclusion}
+
+\blindtext
diff --git a/thesis-template/task_description/task_de.pdf b/thesis-template/task_description/task_de.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..75161ead40b7a077e7730ebc564c0bb53719b124
Binary files /dev/null and b/thesis-template/task_description/task_de.pdf differ
diff --git a/thesis-template/task_description/task_de.tex b/thesis-template/task_description/task_de.tex
new file mode 100644
index 0000000000000000000000000000000000000000..149802d0989e361b47abce228ceefec6b03b95d1
--- /dev/null
+++ b/thesis-template/task_description/task_de.tex
@@ -0,0 +1,54 @@
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+\documentclass[ngerman,twoside]{tudscrreprt}
+%\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
+%\usepackage[T1]{fontenc}
+\usepackage{babel}
+\usepackage[utf8]{luainputenc}
+\usepackage{isodate}
+\usepackage{tudscrsupervisor}
+\usepackage{enumitem}\setlist{noitemsep}
+
+\begin{document}
+\faculty{Fakultät Informatik}\department{Institut für Software- und Multimediatechnik}
+%\institute{Institut für Kriminologie}
+\chair{Lehrstuhl für Softwaretechnik}
+\title{%
+  Das ist der Titel
+}
+\thesis{bachelor}
+%\graduation[M.Sc.]{Master of Science}
+\author{%
+  Firstname Lastname\matriculationnumber{123456}
+  \dateofbirth{01.01.1996}\placeofbirth{Dresden}
+  \discipline{Bachelor Informatik 2009}
+}%\matriculationyear{1234}
+\issuedate{01.08.2018}\duedate{01.11.2018}
+\supervisor{%
+  Dipl.-Inf. Carl Mai \and
+  Dr.\ Thomas Kühn
+}
+\professor{Prof.\ Dr.\ rer.\ nat.\ habil. Uwe Aßmann}
+
+\taskform{%
+  In dieser Arbeit soll untersucht werden. blabla [1].
+
+  \textbf{Fragestellungen:}
+  \begin{itemize}
+    \item blabla
+    \item blabla
+  \end{itemize}
+
+  \textbf{Aus den Fragestellungen lassen sich folgende Aufgaben ableiten:}
+  \begin{itemize}
+    \item	blabla
+  \end{itemize}
+
+\textbf{Quellen:}
+\begin{itemize}
+  \item	[1] Adaptive Petri Nets - A Petri Net Extension for Reconfigurable Structures (Carl Mai, René Schöne, Johannes Mey, Thomas Kühn and Uwe Aßmann), In Adaptive 2018
+\end{itemize}
+
+}{%
+}
+
+\end{document}
diff --git a/thesis-template/thesis.tex b/thesis-template/thesis.tex
new file mode 100644
index 0000000000000000000000000000000000000000..7c8c3fece4f4893224e4d1c1d15ed902ee65519f
--- /dev/null
+++ b/thesis-template/thesis.tex
@@ -0,0 +1,140 @@
+% the following command is only required if the thesis is written in german
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+
+% change to english for english theses
+\documentclass[ngerman,BCOR=1.5cm,twoside]{tudscrreprt}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[ngerman]{babel}
+\usepackage{isodate}
+
+\usepackage[
+    style=numeric-comp,
+    backend=biber,
+    url=false,
+    doi=false,
+    isbn=false,
+    hyperref,
+]{biblatex}
+\addbibresource{bibliography.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{..}
+
+\usepackage[colorinlistoftodos,prependcaption,textsize=tiny]{todonotes}
+
+\usepackage{graphicx}
+\graphicspath{ {./images/} }
+
+% if you need mathy stuff
+\newtheorem{lem}{Lemma}
+\crefname{lem}{Lemma}{Lemmas}
+\newtheorem{thm}{Theorem}
+\crefname{thm}{Theorem}{Theorems}
+\newtheorem{defs}{Definition}
+\crefname{defs}{Def.}{Defs.}
+
+\usepackage{blindtext}
+
+%\usepackage{tudscrsupervisor} % if you want to copy the sources of the task description into the thesis
+
+\usepackage{csquotes}
+
+
+
+\usepackage{caption}
+\captionsetup{font=sf,labelfont=bf,labelsep=space}
+\usepackage{floatrow}
+\floatsetup{font=sf}
+\floatsetup[table]{style=plaintop}
+\captionsetup{singlelinecheck=off,format=hang,justification=raggedright}
+\DeclareCaptionSubType[alph]{figure}
+\DeclareCaptionSubType[alph]{table}
+\captionsetup[subfloat]{labelformat=brace,list=off}
+
+\usepackage{booktabs}
+\usepackage{array}
+\usepackage{tabularx}
+\usepackage{tabulary}
+\usepackage{tabu}
+\usepackage{longtable}
+
+\usepackage{quoting}
+
+\usepackage[babel]{microtype}
+
+\usepackage{xfrac}
+
+\usepackage{enumitem}
+\setlist[itemize]{noitemsep}
+
+\usepackage{ellipsis}
+\let\ellipsispunctuation\relax
+
+\input{lst.tex}
+
+\begin{document}
+
+\faculty{Fakultät Informatik}
+\department{}
+\institute{Institut für Software- und Multimediatechnik}
+\chair{Lehrstuhl für Softwaretechnologie}
+\title{%
+    Entwicklung eines optimalen Verfahrens zur Eroberung des
+    Geldspeichers in Entenhausen
+}
+
+%% for a bachelor thesis
+%\thesis{bachelor}
+%\graduation[B.Sc.]{Bachelor of Science}
+
+% for a master thesis
+\thesis{bachelor}
+\graduation[B.Sc.]{Bachelor of Science}
+
+% for a diploma thesis
+%\thesis{diploma}
+%\graduation[Dipl.Inf.]{Diplom-Informatiker}
+
+\author{Matteo Anedda}
+\emailaddress[]{matteo.anedda@mailbox.tu-dresden.de}
+\matriculationnumber{4732423}
+\matriculationyear{1017}
+\dateofbirth{19.07.1997}
+\placeofbirth{Riesa}
+%\discipline{Distributed Systems Engineering}
+
+\course{Distributed Systems Engineering}
+
+\supervisor{%
+	Dipl.-Inf. Sebastian Ebert
+    \and Dipl.-Inf. Johannes Mey%
+}
+
+\professor{Prof. Dr. rer. nat habil. Uwe Aßmann}
+\date{10.10.2018}
+\maketitle
+\newpage
+
+\tableofcontents
+\listoffigures
+\listoftables
+
+\input{sections/einleitung}
+\input{sections/grundlagen.tex}
+\input{sections/problem.tex}
+\input{sections/eval.tex}
+\input{sections/zusammenfassung.tex}
+
+\printbibliography[heading=bibintoc]\label{sec:bibliography}%
+
+\appendix
+\input{sections/appendix}
+
+\confirmation
+
+\end{document}