update presentation more
[msc-thesis1617.git] / pres.system.tex
index 4c8b2fb..b4a1504 100644 (file)
@@ -1,25 +1,26 @@
 \subsection{Overview}
+\begin{frame}
+       \frametitle{Current state of mTask}
+       \begin{itemize}
+               \item It all seems perfect
+               \item \ldots\pause{} but\ldots
+               \pause{}
+               \item No interaction
+               \item Compilation requires reprogramming
+               \item Entire system is created and fixed
+       \end{itemize}
+\end{frame}
+
 \begin{frame}
        \frametitle{Solution}
-       \begin{block}{Downsides of the current mTask view}
-               \begin{itemize}
-                       \item It all seems perfect
-                       \item \ldots\pause{} but\ldots
-                       \pause{}
-                       \item No interaction
-                       \item Compilation requires reprogramming
-               \end{itemize}
-       \end{block}
-       \pause{}
-       \begin{block}{Solution}
-               \begin{itemize}[<+->]
-                       \item New bytecode backend for mTask
-                       \item Interpreter on client
-                       \item Server in iTasks with integration
-                       \item No taskserver generation, onetime programming
-                       \item Explicit SDS publishing
-               \end{itemize}
-       \end{block}
+       \begin{itemize}[<+->]
+               \item New bytecode backend for mTask
+               \item Interpreter on client
+               \item Server in iTasks with integration
+               \item No taskserver generation, onetime programming
+               \item Dynamic task sending
+               \item Explicit SDS publishing
+       \end{itemize}
 \end{frame}
 
 \subsection{Extending mTask}
@@ -82,27 +83,26 @@ BCIfStmt (BC b) (BC t) (BC e) = BC (
        \end{lstlisting}
 \end{frame}
 
-\begin{frame}[fragile]
-       \frametitle{Functionality}
-       \begin{block}{SDS scope and naming}
-               \begin{itemize}
-                       \item SDS is lost
-                       \item State per device
-                       \item Tasks are sent and gone
-                       \item Save bandwidth
-               \end{itemize}
-               \pause{}
-               \begin{lstlisting}
-class namedsds v where
-       namedsds :: ((v t Upd) -> In (Named t String) (Main (v c s)))
-               -> (Main (v c s)) | ...
-:: Named a b = Named infix 1 a b
-
-instance sdspub ByteCode where
-       pub (BC x) = BC (censor (\[BCSdsFetch s]->[BCSdsPublish s]) x)
-               \end{lstlisting}
-       \end{block}
-\end{frame}
+%\begin{frame}[fragile]
+%      \frametitle{Functionality}
+%      \begin{block}{SDS scope and naming}
+%              \begin{itemize}
+%                      \item SDS is lost
+%                      \item State per device
+%                      \item Tasks are sent and gone
+%              \end{itemize}
+%              \pause{}
+%              \begin{lstlisting}
+%class namedsds v where
+%      namedsds :: ((v t Upd) -> In (Named t String) (Main (v c s)))
+%              -> (Main (v c s)) | ...
+%:: Named a b = Named infix 1 a b
+%
+%instance sdspub ByteCode where
+%      pub (BC x) = BC (censor (\[BCSdsFetch s]->[BCSdsPublish s]) x)
+%              \end{lstlisting}
+%      \end{block}
+%\end{frame}
 
 \begin{frame}[fragile]
        \frametitle{Assignment}
@@ -118,11 +118,15 @@ instance sds ByteCode where
 instance assign ByteCode where
        (=.) (BC v) (BC e) = BC (e >>| censor makeStore v)
 
+instance sdspub ByteCode where
+       pub (BC x) = BC (censor (\[BCSdsFetch s]->[BCSdsPublish s]) x)
+
 makeStore [BCSdsFetch i]    = [BCSdsStore i]
 makeStore [BCDigitalRead i] = [BCDigitalWrite i]
 makeStore [...]             = [...]
        \end{lstlisting}
 \end{frame}
+
 \begin{frame}[fragile]
        \frametitle{Task scheduling}
        \begin{block}{Old}
@@ -171,4 +175,31 @@ class retrn v where
 \end{frame}
 
 \subsection{Server}
+\begin{frame}[fragile]
+       \frametitle{SDS (2)}
+       \framesubtitle{Parametric Lenses}
+       \begin{block}{What is the \CI{p} for in \CI{RWShared p r w}}
+               \pause{}
+               \begin{itemize}
+                       \item Parameter fixed when writing
+                       \item Used for notifications
+                       \item On write the SDS returns \CI{p -> Bool}
+               \end{itemize}
+       \end{block}
+%
+%      \begin{lstlisting}
+%sdsFocus :: p1 (RWShared p1 r w) -> RWShared p2 r w | iTask p
+%
+%:: SDSNotifyPred p :== p -> Bool
+%:: SDSLensRead p r rs     = SDSRead        (p -> rs -> MaybeError TaskException r)
+%                          | SDSReadConst   (p -> r)
+%:: SDSLensWrite p w rs ws = SDSWrite       (p -> rs -> w -> MaybeError TaskException (Maybe ws))
+%                          | SDSWriteConst  (p -> w -> MaybeError TaskException (Maybe ws))
+%:: SDSLensNotify p w rs   = SDSNotify      (p -> rs -> w -> SDSNotifyPred p)
+%                          | SDSNotifyConst (p -> w -> SDSNotifyPred p)
+%
+%sdsLens :: String (p -> ps) (SDSLensRead p r rs) (SDSLensWrite p w rs ws)
+%      (SDSLensNotify p w rs) (RWShared ps rs ws) -> RWShared p r w | iTask ps
+%      \end{lstlisting}
+\end{frame}
 \subsection{Examples}