From: Mart Lubbers Date: Tue, 13 Jun 2017 13:39:09 +0000 (+0200) Subject: start with system X-Git-Tag: hand-in~90 X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=afcce8ac3462a02b18d74ab640af7983e98fe74e;p=msc-thesis1617.git start with system --- diff --git a/fig/fig-system.dot b/fig/fig-system.dot new file mode 100644 index 0000000..599e027 --- /dev/null +++ b/fig/fig-system.dot @@ -0,0 +1,20 @@ +digraph { + { rank=same; + task1 [label=1>]; + task2 [label=2>]; + taskp [label=...>]; + taskn [label=n>]; + } + { rank=same; + dev1 [label=1>]; + dev2 [label=2>]; + devp [label=...>]; + devn [label=n>]; + } + server [label=]; + + dev1 -> server; + dev2 -> server; + devp -> server [style=invis]; + devn -> server; +} 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}