final commit master
authorMart Lubbers <mart@martlubbers.net>
Wed, 27 Jan 2016 14:59:18 +0000 (15:59 +0100)
committerMart Lubbers <mart@martlubbers.net>
Wed, 27 Jan 2016 14:59:18 +0000 (15:59 +0100)
marsrover/document/appendix.tex
marsrover/document/evaluation.tex
marsrover/document/marsrover.tex
marsrover/document/robot.tex

index f41435a..3df4daf 100644 (file)
@@ -1,7 +1,15 @@
 \section{Appendix}
 \lstinputlisting[label={lst:grammar},caption={Xtext grammar}]%
        {../../dsl/xtend/src/robots/missions/TaskDSL.xtext}
 \section{Appendix}
 \lstinputlisting[label={lst:grammar},caption={Xtext grammar}]%
        {../../dsl/xtend/src/robots/missions/TaskDSL.xtext}
+
+\newpage
+\lstinputlisting[label={lst:inst},caption={DSL instance}]%
+       {../../dsl/runtime/specs/wander.tdsl}
+
+\newpage
 \lstinputlisting[label={lst:gen},caption={Xtend code generation}]
        {../../dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend}
 \lstinputlisting[label={lst:gen},caption={Xtend code generation}]
        {../../dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend}
+
+\newpage
 \lstinputlisting[label={lst:val},caption={Xtend code validation}]
        {../../dsl/xtend/src/robots/missions/validation/TaskDSLValidator.xtend}
 \lstinputlisting[label={lst:val},caption={Xtend code validation}]
        {../../dsl/xtend/src/robots/missions/validation/TaskDSLValidator.xtend}
index 9da0bdf..9d39240 100644 (file)
@@ -141,9 +141,9 @@ setting everything up and there was quite some overhead since the tools
 required a lot of computing power. But when everything was set up correctly it
 worked like a charm.
 
 required a lot of computing power. But when everything was set up correctly it
 worked like a charm.
 
-Creating our solution was a bit difficult at the beginning due to extra works 
-designing the DSL to accomodate the robot's missions and behaviours. However when 
-the DSL was created appropriately the generation of different missions and
+Creating our solution was a bit difficult at the beginning due to extra works
+designing the DSL to accomodate the robot's missions and behaviours. However
+when the DSL was created appropriately the generation of different missions and
 behaviours for the robot became very easy.
 
 \paragraph{General lessons learned}
 behaviours for the robot became very easy.
 
 \paragraph{General lessons learned}
@@ -159,4 +159,5 @@ when the bricks can pair. We have experimented with autonomous pairing but we
 never got it stable but with more time we could make it stable. Another option
 is to try to get more requirements. For example the mapping and internal
 representation of the locations of the lakes. This problem is not trivial at
 never got it stable but with more time we could make it stable. Another option
 is to try to get more requirements. For example the mapping and internal
 representation of the locations of the lakes. This problem is not trivial at
-all and because of the lack of time we could unfortunately not spend time on it.
+all and because of the lack of time we could unfortunately not spend time on
+it.
index caf73ec..344b791 100644 (file)
@@ -7,6 +7,7 @@
 \input{robot.tex}
 \input{evaluation.tex}
 \input{appendix.tex}
 \input{robot.tex}
 \input{evaluation.tex}
 \input{appendix.tex}
+\newpage
 \bibliographystyle{ieeetr}
 \bibliography{marsrover}
 \end{document}
 \bibliographystyle{ieeetr}
 \bibliography{marsrover}
 \end{document}
index 052ec82..27efa44 100644 (file)
@@ -167,12 +167,12 @@ mapping is described in \autoref{tab:mapping}.
 A domain-specific language (DSL) is a programming language or executable
 specification language that offers, through appropriate notations and
 abstractions, expressive power focused on, and usually restricted to, a
 A domain-specific language (DSL) is a programming language or executable
 specification language that offers, through appropriate notations and
 abstractions, expressive power focused on, and usually restricted to, a
-particular problem domain~\cite{van2002domain}. The DSL for the robot is designed so that the
-robot is able to perform multiple missions consisting of behaviours. A mission
-is basically a set of behaviours operating following the subsumption
-architecture assisted by a special purpose behaviour that shuts down the
-runtime to make room for a new mission. The complete grammar of the DSL can be
-found in \autoref{lst:grammar}.
+particular problem domain~\cite{van2002domain}. The DSL for the robot is
+designed so that the robot is able to perform multiple missions consisting of
+behaviours. A mission is basically a set of behaviours operating following the
+subsumption architecture assisted by a special purpose behaviour that shuts
+down the runtime to make room for a new mission. The complete grammar of the
+DSL can be found in \autoref{lst:grammar}.
 
 \autoref{fig:dsl} describes the hierarchy of the grammar. A \emph{Robot} is a
 set of constants combined with a list of \emph{Behaviour}s and a list of
 
 \autoref{fig:dsl} describes the hierarchy of the grammar. A \emph{Robot} is a
 set of constants combined with a list of \emph{Behaviour}s and a list of
@@ -207,7 +207,8 @@ 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
 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}.
+\autoref{lst:val}. The full DSL instance used in the demonstration can be found
+in \autoref{lst:inst}.
 
 \subsection{Code Structure}
 The complete code generation code can be found in \autoref{lst:gen}. The
 
 \subsection{Code Structure}
 The complete code generation code can be found in \autoref{lst:gen}. The