{../../dsl/xtend/src/robots/missions/TaskDSL.xtext}
\lstinputlisting[label={lst:gen},caption={Xtend code generation}]
{../../dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend}
+\lstinputlisting[label={lst:val},caption={Xtend code validation}]
+ {../../dsl/xtend/src/robots/missions/validation/TaskDSLValidator.xtend}
\documentclass{article}
-\usepackage[dvipdfm]{hyperref} % For a clickable toc and nice autorefs
\usepackage{a4wide} % For not wasting space on a4
\usepackage{booktabs} % For nicer looking tables
\usepackage{enumitem} % For nice enumeration types
+\usepackage[dvipdfm]{hyperref} % For a clickable toc and nice autorefs
\usepackage{fancyhdr} % For the fancy header with our names
+\usepackage[T1]{fontenc} % For printing the strange xtext characters
+\usepackage{float} % For better table and figure placement
+\usepackage{listings} % For source code listings
\usepackage{longtable} % For page spanning tables
\usepackage{multirow} % For multirow tables
\usepackage{tabu} % For nicer automatic spanning tables
-\usepackage{float} % For better table and figure placement
\usepackage[all]{xypic} % For nice diagrams
-\usepackage{listings} % For source code listings
-\usepackage[T1]{fontenc}
\title{Autonomous sequential mission execution on Mars with a multi-brick
\textsc{lego}$^{\small\textcopyright}$ robot.}
breaklines=true,
numbers=left,
frame=L,
- captionpos=B,
inputencoding=utf8,
extendedchars=true,
literate={«}{{\guillemotleft}}1{»}{{\guillemotright}}1,
\caption{Robot Domain Specific Language}\label{fig:dsl}
\end{figure}
+To assist the user programming in the DSL small validation mechanism have been
+added. It could happen that the user specifies a mission that contains two
+behaviours both want control at all times. A behaviour that wants control at
+all times can be a valid design but when there are two with that property, only
+one will be used. To avoid such situations the IDE will warn the user when this
+is the case. The full code for the code validation can be found in
+\autoref{lst:val}.
+
\subsection{Code Structure}
The complete code generation code can be found in \autoref{lst:gen}. The
following enumeration shows what is specifically generated per grammar object.