-The DSL is able to generate the source code for the missions and the behaviours. The generated source code contains one java class for the collection of missions and one java class for each different behaviours. Moreover, the default source code is categorized by two packages. First package contains a class implementing bluetooth communication protocol between Producer-Consumer (BTController.java), a class to collect the sensor data from Producer (SensorCollector.java), and a class to collect the sensor data from Consumer (RemoteSensors.java).
-Second package mainly contains the arbitrator implementation of the robot (Marster.java), the default actions of the robot (BasicBehaviour.java), the implementation of the misssion (Mission.java), and a class to terminate the mission (ShutdownBehaviour.java).
+The complete code generation code can be found in \autoref{lst:gen}. The
+following enumeration shows what is specifically generated per grammar object.
+All generated code can not function without the library. The library is an
+entire runtime that only needs a little amount of data plugged in to function
+as the program of a robot.
+
+The library provides an extension on the \texttt{Behavior} class from the
+\emph{LeJOS} library that offers several higher level operations such as
+turning and measuring. All the sensor data can be queried from the
+\texttt{SensorCollector} class that is available in every behaviour. This class
+provides up to date sensor data from both bricks. The special behaviour that
+terminates the current mission is an extension on the already extended
+\texttt{Behavior} class and is called \texttt{ShutdownBehaviour.java}.
+
+\begin{itemize}
+ \item\textbf{Robot}\\
+ A \texttt{Constants.java} file is created to hold the global speed and
+ acceleration values.
+ \item\textbf{Mission}
+ In the java code a mission is a list of defined behaviours plus the
+ special \emph{ShutdownBehaviour}. To make this simple all the missions
+ combined generate a single \texttt{Missions.java} file that has one
+ static function that will return a list of \emph{Mission}s that the
+ main program will use.
+ \item\textbf{Behaviour}
+ For every \emph{Behaviour} a file is created containing the specific
+ implementation. For example for a behaviour called \texttt{Wander} a
+ file called \texttt{WanderBehaviour.java} is created that contains the
+ class \texttt{WanderBehaviour} which implements the
+ \texttt{BasicBehaviour} class from the library.
+ \item\textbf{StoppingExpression}
+ Stopping expressions are used in missions and in behaviours and are
+ converted to java boolean expressions in-line.
+ \item\textbf{Action}
+ Actions are in-line converted to the respective calls to the library or
+ implemented directly.
+\end{itemize}