electricity consumption. These tools on the application layer can again be
created into a wide variety of programming languages and different paradigms.
-The separation of \gls{IoT} in layers is one of the causes of an integration
-problem in \gls{IoT}. The different layers are built with different paradigms,
-programming languages and different architectures which is difficult to
-connect. Rolling out updates is also complicated since reprogramming
-microcontrollers in the field is very expensive.
+The separation of \gls{IoT} in layers is a difficulty when developing \gls{IoT}
+applications. All layers use different paradigms, languages and architecture.
+Rolling out changes to the system is also complicated since reprogramming
+microcontrollers in the field is very expensive. Even the simple repurposing of
+a device requires often a full reprogram.
\subsection{Task Oriented Programming}
The \gls{TOP} paradigm and the corresponding \gls{iTasks} implementation offer