From: Mart Lubbers Date: Fri, 30 Jun 2017 16:54:13 +0000 (+0200) Subject: 80 char limit and move glossary to the back X-Git-Tag: hand-in~28 X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=35a1897c4e5381ab975188e8e087ea1612e142dd;p=msc-thesis1617.git 80 char limit and move glossary to the back --- diff --git a/appendix-device-interface.tex b/appendix-device-interface.tex index 991a794..07a67fe 100644 --- a/appendix-device-interface.tex +++ b/appendix-device-interface.tex @@ -1 +1,2 @@ -\lstinputlisting[language=C,caption={Full device interface}]{listings/interface.h} +\lstinputlisting[language=C,caption={Full device interface}]% + {listings/interface.h} diff --git a/appendix-protocol.tex b/appendix-protocol.tex index c0d5a2a..10a85f3 100644 --- a/appendix-protocol.tex +++ b/appendix-protocol.tex @@ -1,4 +1,4 @@ -\section{General message format} +\section{General Message Format} Messages are delimited by newlines to make processing by line based devices easier. Message exchanges have a \emph{Request} and \emph{Response} header. The \emph{Request} header means that the server is sending to the client. The @@ -79,7 +79,7 @@ interpreted as \gls{MSB} first integers. \caption{Message protocol for exchanging \glspl{Task}} \end{table} -\section{SDSs} +\section{\glspl{SDS}} \begin{table}[H] \centering \begin{subfigure}[b]{.2\textwidth} diff --git a/arch.communication.tex b/arch.communication.tex index 61a7e2e..4585a06 100644 --- a/arch.communication.tex +++ b/arch.communication.tex @@ -91,12 +91,12 @@ Listing~\ref{lst:sendtask}. First the \gls{Task} is compiled into messages. The details of the compilation process are given in Section~\ref{sec:compiler}. The new \glspl{SDS} that were generated during compilation are merged with the existing device's \glspl{SDS}. Furthermore the messages are placed in the -channel \gls{SDS} of the device. This will result in sending the actual \gls{SDS} -specification and \gls{Task} specifications to the device. A \gls{Task} record -is created with the identifier $-1$ to denote a \gls{Task} not yet -acknowledged. Finally the device itself is updated with the new state and with -the new \gls{Task}. After waiting for the acknowledgement the device is -updated again and the \gls{Task} returns. +channel \gls{SDS} of the device. This will result in sending the actual +\gls{SDS} specification and \gls{Task} specifications to the device. A +\gls{Task} record is created with the identifier $-1$ to denote a \gls{Task} +not yet acknowledged. Finally the device itself is updated with the new state +and with the new \gls{Task}. After waiting for the acknowledgement the device +is updated again and the \gls{Task} returns. \begin{lstlisting}[label={lst:sendtask},% caption={Sending a \gls{Task} to a device}] diff --git a/mtaskext.bytecode.tex b/mtaskext.bytecode.tex index 887a6b5..833d964 100644 --- a/mtaskext.bytecode.tex +++ b/mtaskext.bytecode.tex @@ -171,12 +171,12 @@ instance noOp ByteCode where The semantics for the \gls{mTask}-\glspl{Task} bytecode view are different from the semantics of the \gls{C} view. \glspl{Task} in the \gls{C} view can start new \glspl{Task} or even start themselves to continue, while in the bytecode -view, \glspl{Task} run indefinitely, one-shot or on interrupt. To allow interval -and interrupt \glspl{Task} to terminate, a return instruction is added. This -class was not available in the original system and is thus added. It just -writes a single instruction so that the interpreter knows to stop execution. -Listing~\ref{lst:return} shows the classes and implementation for the return -expression. +view, \glspl{Task} run indefinitely, one-shot or on interrupt. To allow +interval and interrupt \glspl{Task} to terminate, a return instruction is +added. This class was not available in the original system and is thus added. +It just writes a single instruction so that the interpreter knows to stop +execution. Listing~\ref{lst:return} shows the classes and implementation for +the return expression. \begin{lstlisting}[label={lst:return},% caption={Bytecode view for the return instruction}] diff --git a/thesis.tex b/thesis.tex index 93f96b8..7f09af1 100644 --- a/thesis.tex +++ b/thesis.tex @@ -32,9 +32,6 @@ %Table of contents \tableofcontents -\addcontentsline{toc}{chapter}{Glossaries \& Acronyms} -\printglossaries% - \mainmatter{} \glsresetall{} \chapter{Introduction}\label{chp:introduction} @@ -52,7 +49,8 @@ \chapter[mTask system]{\gls{mTask} system}\label{chp:system} \input{system} -\chapter[Extending the mTask EDSL]{Extending the \gls{mTask} {EDSL}}\label{chp:mtaskcont} +\chapter[Extending the mTask EDSL]% + {Extending the \gls{mTask} {EDSL}}\label{chp:mtaskcont} \input{mtaskext} \chapter{System Architecture}\label{chp:arch} @@ -63,18 +61,20 @@ \appendix\label{chp:appendix} -\chapter{Communication protocol}\label{app:communication-protocol} +\chapter{Communication Protocol}\label{app:communication-protocol} \input{appendix-protocol} -\chapter{Device client interface}\label{app:device-interface} +\chapter{Device Client Interface}\label{app:device-interface} \input{appendix-device-interface} -\cleardoublepage{} \phantomsection{} \addcontentsline{toc}{chapter}{Bibliography} \bibliographystyle{ieeetr} \bibliography{thesis} +\addcontentsline{toc}{chapter}{Glossary} +\printglossaries% + \cleardoublepage{} \phantomsection{} \addcontentsline{toc}{chapter}{Lists of \ldots} diff --git a/titlepage.tex b/titlepage.tex index 64b3288..93d2a6f 100644 --- a/titlepage.tex +++ b/titlepage.tex @@ -10,7 +10,7 @@ \vspace{0.4cm} \textbf{\Large\@title}\\[0.4cm] \hrule - \vspace{7cm} + \vspace{6cm} \begin{minipage}[t]{0.45\textwidth} \begin{flushleft}\large \textit{Author:}\\ @@ -25,7 +25,7 @@ dr.~P.W.M.~Koopman \end{flushright} \end{minipage} - \vspace{2cm} + \vspace{1cm} \vfill {\large\@date} \end{center} diff --git a/top.combinators.tex b/top.combinators.tex index 64aa98a..74686a1 100644 --- a/top.combinators.tex +++ b/top.combinators.tex @@ -25,16 +25,15 @@ Listing~\ref{lst:combinators} \end{lstlisting} \paragraph{Sequence:} -The implementation for the sequence combinator is called the -\CI{step} (\CI{>>*}). This combinator runs the left-hand \gls{Task} and -starts the right-hand side when a certain predicate holds. Predicates -can be propositions about the \CI{TaskValue}, user actions from within -the web browser or a thrown exception. The familiar -bind-combinator is an example of a sequence combinator. This combinator -runs the left-hand side and continues to the right-hand \gls{Task} if -there is an \CI{UnStable} value and the user presses continue or when -the value is \CI{Stable}. The combinator could have been implemented -as follows: +The implementation for the sequence combinator is called the \CI{step} +(\CI{>>*}). This combinator runs the left-hand \gls{Task} and starts the +right-hand side when a certain predicate holds. Predicates can be propositions +about the \CI{TaskValue}, user actions from within the web browser or a thrown +exception. The familiar bind-combinator is an example of a sequence combinator. +This combinator runs the left-hand side and continues to the right-hand +\gls{Task} if there is an \CI{UnStable} value and the user presses continue or +when the value is \CI{Stable}. The combinator could have been implemented as +follows: \begin{lstlisting}[language=Clean] (>>=) infixl 1 :: (Task a) (a -> (Task b)) -> (Task b) | iTask a & iTask b (>>=) ta f = ta >>* [OnAction "Continue" onValue, OnValue onStable] @@ -47,8 +46,8 @@ as follows: \end{lstlisting} \paragraph{Parallel:} -The parallel combinator allows for concurrent \glspl{Task}. The -\glspl{Task} combined with these operators will appear at the same time -in the web browser of the user and the results are combined as the type -dictates. All parallel combinators used are derived from the basic parallel -combinator that is very complex and only used internally. +The parallel combinator allows for concurrent \glspl{Task}. The \glspl{Task} +combined with these operators will appear at the same time in the web browser +of the user and the results are combined as the type dictates. All parallel +combinators used are derived from the basic parallel combinator that is very +complex and only used internally. diff --git a/top.sds.tex b/top.sds.tex index 2f30a85..95b3ace 100644 --- a/top.sds.tex +++ b/top.sds.tex @@ -13,12 +13,12 @@ for these functions are shown in Listing~\ref{lst:shares}. By default, all thus are persistent between restarts of the program. Library functions for shares residing in memory are available as well. The three main operations on shares are atomic in the sense that during reading no other \glspl{Task} are -executed. The system provides useful functions to transform, map and combine +executed. The system provides useful functions to transform, map and combine \glspl{SDS} using combinators. The system also provides functionality to -inspect the value of an \gls{SDS} and act upon a change. \Glspl{Task} waiting on -an \gls{SDS} to change are notified when needed. This results in low resource -usage because \glspl{Task} are never constantly inspecting \gls{SDS} values but -are notified. +inspect the value of an \gls{SDS} and act upon a change. \Glspl{Task} waiting +on an \gls{SDS} to change are notified when needed. This results in low +resource usage because \glspl{Task} are never constantly inspecting \gls{SDS} +values but are notified. \begin{lstlisting}[% label={lst:shares},caption={\Gls{SDS} functions}]