1 \documentclass[aspectratio=
169,ignorenonframetext,hyperref=
{pdfpagelabels=false
}]{beamer
}
3 \usepackage[utf8
]{inputenc}
4 \usepackage[T1,T2A
]{fontenc}
5 \usepackage[british
]{babel
}
8 \usetikzlibrary{pie,positioning,shapes,automata,fit,shadows,matrix,backgrounds,shapes.geometric
}
10 \graphicspath{{./img
}}
12 \beamertemplatenavigationsymbolsempty%
15 \newcommand{\IOT}{\texorpdfstring{Io
\kern-
1ptT
}{IoT
}}
18 %\setbeamertemplate{footline}{%
20 % \usebeamercolor[fg]{page number in head/foot}%
21 % \usebeamerfont{page number in head/foot}%
26 \title{\texorpdfstring{\larger[2]}{}Orchestrating the Internet of Things
\texorpdfstring{\\
}{\
}with Task-Oriented Programming
}
27 \subtitle{\texorpdfstring{\larger[2]}{}a purely functional rhapsody
}
28 \titlegraphic{\includegraphics{ru
}}
30 \date{October
4th,
2023}
40 \includegraphics[height=
.95\textheight]{iot
}\\
41 % {\tiny \url{https://freesvg.org/internet-world} (CC 0)}
48 \begin{tikzpicture
}[node distance=
3em,nodes=
{rectangle,draw,minimum width=
12em, minimum height=
3em
}]
49 \begin{uncoverenv
}<
2->
50 \node (
1)
[] {presentation
\begin{uncoverenv
}<
4->
\includegraphics[height=
2em
]{phone
}\end{uncoverenv
}};
51 \node (
2)
[below=of
1] {application
\begin{uncoverenv
}<
6->
\includegraphics[height=
2em
]{laptop
}\end{uncoverenv
}};
52 \node (
3)
[below=of
2] {perception
\begin{uncoverenv
}<
7->
\includegraphics[height=
2em
]{lamp
}\includegraphics<
7->
[height=
2em
]{magn
}\end{uncoverenv
}};
54 \draw [<->
] (
1) -- (
2);
55 \draw [<->
] (
2) -- (
3);
58 (
[xshift=
1em,yshift=-
2em
]1.south west)
59 -- (
[xshift=
1em,yshift=-
1em
]1.south west)
60 -- (
[yshift=-
1em,xshift=
1em
]1.south east)
61 -- (
[xshift=
1em
]1.north east)
62 -- (
[xshift=
5em
]1.north east)
63 -- node
[draw=none,midway,sloped,below,yshift=-
2pt
] {\large network
\begin{uncoverenv
}<
9->
\includegraphics[height=
2em,origin=c,angle=
90]{mail
}\end{uncoverenv
}} (
[xshift=
5em
]3.south east)
64 -- (
[xshift=
1em
]3.south east)
65 -- (
[yshift=
1em,xshift=
1em
]3.north east)
66 -- (
[xshift=
1em,yshift=
1em
]3.north west)
67 -- (
[xshift=
1em,yshift=
2em
]3.north west)
68 -- (
[yshift=
2em,xshift=
1em
]3.north east)
69 -- (
[yshift=-
2em,xshift=
1em
]1.south east)
72 \draw [densely dotted
] (
1.south) -- (
2.north);
73 \draw [densely dotted
] (
2.south) -- (
3.north);
76 \node<
1-
2> (text)
[draw=none,fit=(
1) (
2) (
3),xshift=
20em
] {};
77 \node<
1-
2>
[draw=none
] at (text.center)
{\includegraphics[width=
11em
]{iot
}};
78 \node<
3-
8> (text)
[fit=(
1) (
2) (
3),xshift=
20em
] {};
79 \node<
3>
[draw=none,align=left
] at (text.center)
{%
80 \includegraphics[width=
3em
]{ff
}%
81 \includegraphics[width=
3em
]{chrome
}%
82 \includegraphics[width=
3em
]{phone
}\\
83 \includegraphics[width=
9em
]{tablet
}
85 \node<
4-
5>
[draw=none,align=left
] at (text.center)
{%
86 \includegraphics[width=
5.5em
]{laptop
}%
87 \includegraphics[width=
5.5em
]{cloud
}\\
89 \includegraphics[width=
11em
]{server
}
92 \node<
6>
[draw=none,align=left
] at (text.center)
{%
93 \includegraphics[width=
5.5em
]{mcu
}
94 \includegraphics[width=
5.5em
]{pi
}\\
95 \includegraphics[width=
5.5em
]{pir
}
96 \includegraphics[width=
5.5em
]{stepper
}
98 \node<
7-
8>
[draw=none,align=left
] at (text.center)
{%
99 \includegraphics[width=
4em
]{wifi
}\\
100 \includegraphics[width=
11em
]{gsm
}\\
101 \begin{uncoverenv
}<
8>
102 \includegraphics[width=
5.5em
]{lora
}%
103 \includegraphics[width=
5.5em
]{blte
}
107 \node [draw=none
] at (text.center)
{%
108 \includegraphics<
10>
[height=
15em,width=
11em,keepaspectratio
]{spaghetti
}%
109 \includegraphics<
11->
[height=
15em,width=
11em,keepaspectratio
]{orchestra
}
113 \draw<
3>
[line width=
1.5pt,densely dotted
](
1.north east) -- (text.north west);
114 \draw<
3>
[line width=
1.5pt,densely dotted
](
1.south east) -- (text.south west);
115 \draw<
4-
5>
[line width=
1.5pt,densely dotted
](
2.north east) -- (text.north west);
116 \draw<
4-
5>
[line width=
1.5pt,densely dotted
](
2.south east) -- (text.south west);
117 \draw<
6>
[line width=
1.5pt,densely dotted
](
3.north east) -- (text.north west);
118 \draw<
6>
[line width=
1.5pt,densely dotted
](
3.south east) -- (text.south west);
119 \draw<
7-
8>
[line width=
1.5pt,densely dotted
](
[xshift=
3em
]1.north east) -- (text.north west);
120 \draw<
7-
8>
[line width=
1.5pt,densely dotted
](
[xshift=
3em
]3.south east) -- (text.south west);
125 \Huge \strut\only<-
10>
{Driven by software
}\only<
12>
{Task-Oriented Programming
}
130 \begin{frame
}[shrink
]
132 \begin{column
}{.4\textwidth}
133 \begin{block
}{Task-oriented programming
}
138 \item Abstraction over work
140 \item Declarative programming
143 \item Focus on
\emph{What
} and not
\emph{How
}.
145 \item<
2-> mTask: Domain-specific language
148 \item Constrained TOP language for small computers.
150 \item<
4-> iTask: TOP for the web
151 \item<
6-> Tierless programming
153 \item Maintainability
155 \item Interoperability
160 \begin{column
}{.6\textwidth}
162 \begin{tikzpicture
}[node distance=
3em,nodes=
{rectangle,draw,minimum width=
10em, minimum height=
3em
}]
163 \node (
1)
[] {presentation
\includegraphics[height=
1em
]{phone
}};
164 \node (
2)
[below=of
1] {application
\includegraphics[height=
1em
]{laptop
}};
165 \node (
3)
[below=of
2] {perception
\includegraphics[height=
1em
]{lamp
}\includegraphics[height=
1em
]{magn
}};
167 \draw [<->
] (
1) -- (
2);
168 \draw [<->
] (
2) -- (
3);
171 (
[xshift=
1em,yshift=-
2em
]1.south west)
172 -- (
[xshift=
1em,yshift=-
1em
]1.south west)
173 -- (
[yshift=-
1em,xshift=
1em
]1.south east)
174 -- (
[xshift=
1em
]1.north east)
175 -- (
[xshift=
4em
]1.north east)
176 -- node (net)
[draw=none,midway,sloped,below,yshift=-
2pt
] {\large network
\includegraphics[height=
1em,origin=c,angle=
90]{mail
}} (
[xshift=
4em
]3.south east)
177 -- (
[xshift=
1em
]3.south east)
178 -- (
[yshift=
1em,xshift=
1em
]3.north east)
179 -- (
[xshift=
1em,yshift=
1em
]3.north west)
180 -- (
[xshift=
1em,yshift=
2em
]3.north west)
181 -- (
[yshift=
2em,xshift=
1em
]3.north east)
182 -- (
[yshift=-
2em,xshift=
1em
]1.south east)
185 \draw [densely dotted
] (
1.south) -- (
2.north);
186 \draw<-
2>
[densely dotted
] (
2.south) -- (
3.north);
188 \begin{uncoverenv
}<
3->
189 \node (mtask)
[dotted,line width=
3pt,fit=
{(
3)
},label=
{[fill=white
]\large\bf mTask
}] {};
191 \begin{uncoverenv
}<
5->
192 \node (itask)
[densely dotted,line width=
2pt,inner sep=
1em,fit=
{(
1) (
2) (
3) (
[xshift=
5em
]1.north east)
},label=above:
{\large\bf iTask
}] {};