X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=results.arch.tex;h=2dee2320e409c44184c8855a87ad4316ecc6ff78;hb=afcce8ac3462a02b18d74ab640af7983e98fe74e;hp=c4c2b22222b75fb59d2ffddc6bb1dd6c7011d9a8;hpb=8c96bdcdd19c4c3cbe9f86357508f5efb7169cc5;p=msc-thesis1617.git diff --git a/results.arch.tex b/results.arch.tex index c4c2b22..2dee232 100644 --- a/results.arch.tex +++ b/results.arch.tex @@ -1,4 +1,22 @@ -/section{Devices} +\section{Overview} +The goal of the architecture is to facilitate an ecosystem in which an +\gls{iTasks}-system can add, change and remove devices at runtime. Moreover, +the \gls{iTasks}-system can send \glspl{mTask}, compiled at runtime to +bytecode, to the device. The device runs an interpreter which can execute the +\gls{Task}'s bytecode. Devices are persistent during reboots of the +\gls{iTasks}-system. The methods of interacting with \glspl{mTask} is analogous +to interacting with \gls{iTasks}-\glspl{Task}. + +An overview of the architecture is visible in Figure~\ref{fig:system}. + +\begin{figure}[H] + \centering + \includegraphics[width=\linewidth]{system} + \caption{Overview of the architecture}\label{fig:system} +\end{figure} + + +\section{Devices} The client code for the devices is compiled from one codebase. For a device to be eligible for \glspl{mTask}, it must be able to compile the shared codebase and implement (part of) the device specific interface. The shared codebase only @@ -43,10 +61,10 @@ of. The exact specification is listed in Listing~\ref{lst:devicespec} \begin{lstlisting}[label={lst:devicespec}, caption={Device specification for \glspl{mTask}}] :: MTaskDeviceSpec = - {haveLed :: Bool - ,haveAio :: Bool - ,haveDio :: Bool - ,bytesMemory :: Int + { haveLed :: Bool + , haveAio :: Bool + , haveDio :: Bool + , bytesMemory :: Int } \end{lstlisting}