\usepackage[utf8]{inputenc}
\usepackage[T1,T2A]{fontenc}
\usepackage[british]{babel}
-\usepackage{relsize}
\usepackage{tikz}
-\usetikzlibrary{pie,positioning,shapes,automata,fit,shadows,matrix,backgrounds,shapes.geometric}
+\usetikzlibrary{positioning,fit}
\graphicspath{{./img}}
\beamertemplatenavigationsymbolsempty%
\urlstyle{same}
\usefonttheme{serif}
-\newcommand{\IOT}{\texorpdfstring{Io\kern-1ptT}{IoT}}
-
-% Add slide numbers
-%\setbeamertemplate{footline}{%
-% \quad%
-% \usebeamercolor[fg]{page number in head/foot}%
-% \usebeamerfont{page number in head/foot}%
-% \insertframenumber%
-% \vspace{2mm}
-%}
\title{Orchestrating the Internet of Things\texorpdfstring{\\}{\ }with Task-Oriented Programming}
\subtitle{a purely functional rhapsody}
\item The Internet of Things is all around us.
\item It is the term/buzzword for systems of which appliances, things, are connected.
\item Systems in which computers sense, act or otherwise interact with the real world.
+ \item Smart farm, heating, animals, sensors
\end{itemize}
}
\begin{figure}
\item These systems are ofter designed as layered architectures.
\item The number of layers varies a lot.
\item For the intents and purposes of this presentation, a three/four layered architecture is used. CLICK
- \item The top layer is the presentation layer, it provides the interface between the users and the \IOT{} system.
+ \item The top layer is the presentation layer, it provides the interface between the users and the IoT system.
\item It is powered by webbrowsers and apps that usually run on phones or tablets.
\item The middle layer is the application layer.
\item This layer is the powerhouse, the brain of the system.
\item Or in the cloud, CLICK, but that is just someone elses (powerful) computer. CLICK
\item At the edge of the system is the perception layer, also called the edge layer.
\item This layer is powered by tiny computers with little processing power.
- \item Connected to these computers, microcontrollers or single-board computers, are sensors and actuators. CLICK
+ \item Connected to these computers, microcontrollers or single-board computers, are sensors and actuators.
+ \item Green computing, small computers, little power, less waste. CLICK
\item Each layer is connected using the network layer.
\item This layer is powered by technologies that we know, CLICK
- \item But there are also specialised network technologies for the \IOT{} available.
+ \item But there are also specialised network technologies for the IoT available.
\item The variety of computers in all these layers is enormous but they have one thing in common CLICK
\item Driven by software, because of this mix and match, programming such systems is complex CLICK
\item The difference in characteristics results in semantic friction.
\item<3-> Declarative programming
\begin{itemize}
- \item \emph{What} and not \emph{How}.
+ \item \emph{What} and not \emph{How}
\end{itemize}
- \item<4-> Domain-specific languages
- \item<5-> mTask: TOP DSL for tiny computers
- \item<7-> iTask: TOP DSL for the web
+ \item<4-> iTask: TOP DSL for the web
+ \item<6-> Domain-specific languages
+ \item<7-> mTask: TOP DSL for tiny computers
\item<9-> Tierless programming
+ \begin{itemize}
+ \item Single source
+ \item Single type system
+ \item Single compiler
+ \item Generated interoperation
+ \end{itemize}
\end{itemize}
\end{block}
\end{column}
-- cycle;
\draw [densely dotted] (1.south) -- (2.north);
- \draw<-2> [densely dotted] (2.south) -- (3.north);
+ \draw<-7> [densely dotted] (2.south) -- (3.north);
- \begin{uncoverenv}<6->
+ \begin{uncoverenv}<8->
\node (mtask) [dotted,line width=3pt,fit={(3)},label={[fill=white]\large\bf mTask}] {};
\end{uncoverenv}
- \begin{uncoverenv}<8->
+ \begin{uncoverenv}<5->
\node (itask) [densely dotted,line width=2pt,inner sep=1em,fit={(1) (2) (3) ([xshift=5em]1.north east)},label=above:{\large\bf iTask}] {};
\end{uncoverenv}
\end{tikzpicture}