505e2a9c2a31c5efb655a7eeeea7951ef50c5025
[msc-thesis1617.git] / pres.system.tex
1 \subsection{Overview}
2 \begin{frame}
3 \frametitle{Solution}
4 \begin{block}{Downsides of the current mTask view}
5 \begin{itemize}
6 \item It all seems perfect
7 \item \ldots\pause{} but\ldots
8 \pause{}
9 \item No interaction
10 \item Compilation requires reprogramming
11 \end{itemize}
12 \end{block}
13 \pause{}
14 \begin{block}{Solution}
15 \begin{itemize}[<+->]
16 \item New bytecode backend for mTask
17 \item Interpreter on client
18 \item Server in iTasks
19 \item Integration with iTasks
20 \item No taskserver generation
21 \item Program only once
22 \end{itemize}
23 \end{block}
24 \end{frame}
25
26 \subsection{Extending mTask}
27 \begin{frame}[fragile]
28 \frametitle{Adding a View}
29 \begin{lstlisting}
30 :: ByteCode a p = BC (RWS () [BC] BCState ())
31 :: BCValue = E.e: BCValue e & mTaskType, TC e
32 :: BCShare = { sdsi :: Int, sdsval :: BCValue, sdsname :: String }
33 :: BCState = { freshl :: Int, freshs :: Int, sdss :: [BCShare] }
34
35 instance ByteCode arith, boolExpr, ...
36 \end{lstlisting}
37 \end{frame}
38
39 \begin{frame}[fragile]
40 \frametitle{Functionality}
41 \begin{block}{SDS scope and naming}
42 \begin{itemize}
43 \item SDS is lost
44 \item State per device
45 \item Tasks are sent and gone
46 \end{itemize}
47 \pause{}
48 \begin{lstlisting}
49 class namedsds v where
50 namedsds :: ((v t Upd) -> In (Named t String) (Main (v c s)))
51 -> (Main (v c s)) | ...
52 :: Named a b = Named infix 1 a b
53 \end{lstlisting}
54 \end{block}
55 \end{frame}
56
57 \begin{frame}[fragile]
58 \frametitle{Task scheduling}
59 \begin{block}{Old}
60 \begin{itemize}
61 \item Task server
62 \item Tasks start other tasks
63 \end{itemize}
64 \end{block}
65 \pause{}
66 \begin{block}{New}
67 \begin{itemize}
68 \item Old system, taskserver, tasks start tasks
69 \item New system, task+strategy
70 \pause{}
71 \begin{itemize}
72 \item \CI{OnShot}
73 \item \CI{OnInterval}
74 \item \CI{OnInterrupt}
75 \end{itemize}
76 \pause{}
77 \item How to handle termination
78 \end{itemize}
79 \pause{}
80 \begin{lstlisting}
81 class retrn v where
82 retrn :: v () Expr
83 \end{lstlisting}
84 \end{block}
85 \end{frame}
86
87 \subsection{Devices}
88 \subsection{Server}
89 \subsection{Examples}