elaborate hb
[msc-thesis1617.git] / intro.intro.tex
1 \Gls{IoT} technology is emerging rapidly. It offers myriads of solutions
2 and transforms the way we interact with technology.
3
4 Initially the term was coined to describe \gls{RFID} devices and the
5 communication between them. However, currently the term \gls{IoT} encompasses
6 all small devices that communicate with each other and the world. These devices
7 are often equipped with sensors, \gls{GNSS} modules\footnote{e.g.\ the American
8 \gls{GPS} or the Russian \gls{GLONASS}.} and
9 actuators~\cite{da_xu_internet_2014}. With these new technologies information
10 can be tracked accurately using little power and bandwidth. Moreover, \gls{IoT}
11 technology is coming into people's homes, clothes and
12 healthcare~\cite{riazul_islam_internet_2015}. For example, for a few euros a
13 consumer ready fitness tracker watch can be bought that tracks heartbeat and
14 respiration levels.
15
16 The \gls{TOP} paradigm and the corresponding \gls{iTasks} implementation offer
17 a high abstraction level for real world workflow
18 tasks~\cite{plasmeijer_itasks:_2007}. These workflow tasks can be described
19 through an \gls{EDSL} and modeled as \glspl{Task}. The system will generate a
20 multi-user web app from the specification. This web service can be accessed
21 through a browser and is used to complete these \glspl{Task}. Familiar workflow
22 patterns like sequential, parallel and conditional \glspl{Task} can be modelled
23 using combinators.
24
25 \gls{iTasks} has proven to be useful in many fields of operation such as
26 incident management~\cite{lijnse_top_2013}. Interfaces are automatically
27 generated for the types of data which makes rapid development possible.
28 \Glspl{Task} in the \gls{iTasks} system are modelled after real life workflow
29 tasks but the modelling is applied on a high level. Therefore it is difficult
30 to connect \gls{iTasks}-\glspl{Task} to real world \glspl{Task} and allow them
31 to interact. A lot of the actual tasks could be performed by small \gls{IoT}
32 devices. Nevertheless, adding such devices to the current system is difficult
33 to say the least as it was not designed to cope with these devices.
34
35 In the current system such adapters connecting devices to \gls{iTasks} --- in
36 principle --- can be written as \glspl{SDS}\footnote{Similar as to resources
37 such as time are available in the current \gls{iTasks} implementation.}.
38 However, this requires a very specific adapter to be written for every device
39 and function. This forces a fixed logic in the device that is set at compile
40 time. Many small \gls{IoT} devices have limited processing power but are still
41 powerful enough for decision making. Recompiling the code for a small
42 \gls{IoT} device is expensive and therefore it is difficult to use a device
43 dynamically for multiple purposes. Oortgiese et al.\ lifted \gls{iTasks} from a
44 single server model to a distributed server architecture that is also runnable
45 on small devices such as those powered by
46 \gls{ARM}~\cite{oortgiese_distributed_2017}. However, this is limited to
47 fairly high performance devices that are equipped with high speed communication
48 channels because it requires the device to run the entire \gls{iTasks} core.
49 Devices in \gls{IoT} often have only Low Throughput Network communication with
50 low bandwidth and a very limited amount of processing power and are therefore
51 not suitable to run an entire \gls{iTasks} core.