11 \item Bachelor Artificial Intelligence
12 \item Master Software Science
13 \item Research internship
19 \frametitle{Combine levels
}
22 \begin{block
}{High level
}
32 \begin{block
}{Low level
}
34 \item Microcontrollers
39 \item Low processing power
47 \begin{block
}{Combine the both worlds
}
50 \item Byte-compiled on the fly
51 \item Interpreted on the client
52 \item One codebase for different clients
53 \item GSM, Bluetooth, Serial, TCP,
\ldots
62 \frametitle{Architecture
}
66 \item Round robin scheduling
67 \item Check input, run tasks, sleep
68 \item Interval or one-shot
75 \item Communication via SDS
76 \item Handle communication
84 \begin{block
}{Properties
}
86 \item Initially developed by Pieter Koopman
87 \item Designed to simulate TOP on microcontrollers
89 \item Shallowly embedded
90 \item Class based and thus extendable with views
92 \item Current views: Simulation in iTasks, C code generation
94 \item New view: Bytecode compilation.
100 \frametitle{Bytecode
}
101 \begin{block
}{State transformer
}
103 \begin{tabular
}{rllll
}
105 &
\multicolumn{4}{c
}{Current instructionset
}\\
107 Stack: & nop & push & pop\\
108 Boolean: & not & and & or\\
109 Arithmetic: & add & sub & mul & div\\
110 Compare: & eq,neq & les, gre & leq, geq\\
111 Control: & jmp & jmpt & jmpf\\
112 Aux: & ledOn & ledOff\\
113 Aux2: & digitalread & digitalwrite & analogread & analogwrite\\
116 &
\multicolumn{4}{c
}{Future
}\\
118 Aux extensions: & LCD & Serial & Shields\\
123 \begin{frame
}[fragile
]
125 \framesubtitle{cont.
}
126 \lstinputlisting[language=Clean,basicstyle=
\scriptsize]{edsl.listing
}
129 \begin{frame
}[fragile
]
131 \framesubtitle{cont.
}
132 \lstinputlisting[language=Clean,basicstyle=
\scriptsize]{control.listing
}
137 \lstinputlisting[language=Clean,basicstyle=
\scriptsize]{sds.listing
}
140 \item Pushed from server to client
141 \item Client has to specifically publish
142 \item Synchronized with a real SDS by the connection handlers
143 \item \CI{get
},
\CI{set
} and no
\CI{upd
}
146 \begin{block
}{Bytecode
}
147 sdsstore, sdsfetch, sdspublish
151 \begin{frame
}[fragile
]
154 caption=
{mTasks used in the demo
},
156 basicstyle=
\scriptsize]{demo.listing
}
161 \begin{itemize
}[<+->
]
162 \item Task combinators
164 \item Seamless integration with iTasks
165 \item Dynamic mTask/SDS allocation
166 \item Better integration with real SDS
167 \item More datatypes for SDS
169 \item Support for different devices
170 \item Master's Thesis