update and frontpage used in presentation
[ri1617.git] / architecture / intro.tex
diff --git a/architecture/intro.tex b/architecture/intro.tex
new file mode 100644 (file)
index 0000000..bb727da
--- /dev/null
@@ -0,0 +1,21 @@
+In \emph{Task Oriented Programming} (TOP) a program is built out of pieces of
+work called \emph{tasks}~\cite{achten_introduction_2015}. Tasks differ from
+function in the way that they return a result. A task's return value can change
+over time. Task exist in many forms and they can be composed sequentially and
+in parallel. Some possible tasks are asking for user input via a web browser,
+setting up a TCP connection to another server or combining several tasks. At
+the moment there are several types of leaf tasks. A leaf task is a task that
+does not consist of tasks itself. Examples of leaf tasks are  the so called
+editors.
+
+This paper describes the effort to add another type of leaf task that
+focusses on microcontrollers. Microcontrollers are often not powerful
+enough to run a full-fledged task server and therefore there is the need to
+introduce special microcontroller tasks. Effort for this is already made by by
+the department~\cite{koopman_tasks_2016}. However, communication between the
+\emph{mTask} and the iTasks system is still lacking and exactly that will be the
+goal of the project. This requires adding a new type of leaf task that allows
+the user to run \emph{mTasks} on microcontrollers. The leaf task should
+abstract away from communication techniques and it should be relatively easy to
+add techniques. Techniques that are interesting to experiment with is Serial
+communication, Bluetooth, \textsc{WiFi}, \textsc{GSM} and \textsc{LoRa}.