add proposal
[ri1617.git] / proposal / p.tex
1 \documentclass[a4paper]{article}
2
3 \usepackage[british]{babel}
4 \usepackage{booktabs}
5 \usepackage{geometry}
6 \usepackage{tabu}
7
8 \title{Research Internship Proposal}
9 \date{\today}
10 \author{Mart Lubbers (s4109503)}
11
12 \begin{document}
13 \pagenumbering{gobble}
14 \thispagestyle{empty}
15 \clearpage
16 \maketitle
17 \subsection*{Practical information}
18 \begin{table}[h]
19 \centering
20 \begin{tabu}{p{8em}X}
21 \toprule
22 \textbf{Start date} & September 2016\\
23 \midrule
24 \textbf{End date} & February 2017\\
25 \midrule
26 \textbf{Research group} & Software Science\\
27 \midrule
28 \textbf{Supervisors} & Rinus Plasmeijer, Pieter Koopman\\
29 \midrule
30 \textbf{Topics} & Functional programming, compilers, iTasks, embedded systems\\
31 \midrule
32 \textbf{Master courses already taken} &
33 Advanced Programming, Automated Reasoning,
34 Compiler Construction, Design of Embedded Systems,
35 ICT in a different culture, Model Checking,
36 Natural Computing, Research Seminar Software Science,
37 Testing Techniques\\
38 \bottomrule
39 \end{tabu}
40 \end{table}
41
42 \subsection*{Description of the research activities}
43 In \emph{Task Oriented Programming} (TOP) a program is built out of pieces of
44 work called \emph{tasks}~\cite{achten_introduction_2015}. Tasks differ from
45 function in the way that they return a result. A task's return value can change
46 over time. Task exist in many forms and they can be composed sequentially and
47 in parallel. Some possible tasks are asking for user input via a web browser,
48 setting up a TCP connection to another server or combining several tasks. At
49 the moment there are several types of leaf tasks. A leaf task is a task that
50 does not consist of tasks itself. Examples of leaf tasks are the so called
51 editors.
52
53 This proposal describes the effort to add another type of leaf task that
54 focusses on microcontrollers. Microcontrollers are often not powerful
55 enough to run a full-fledged task server and therefore there is the need to
56 introduce special microcontroller tasks. Effort for this is already made by by
57 the department~\cite{koopman_tasks_2016}. However, communication between the
58 \emph{mTask} and the iTasks system is still lacking and exactly that will be the
59 goal of the project. This requires adding a new type of leaf task that allows
60 the user to run \emph{mTasks} on microcontrollers. The leaf task should
61 abstract away from communication techniques and it should be relatively easy to
62 add techniques. Techniques that are interesting to experiment with is Serial
63 communication, Bluetooth, \textsc{WiFi}, \textsc{GSM} and \textsc{LoRa}.
64
65 \bibliographystyle{ieeetr}
66 \bibliography{p}
67 \end{document}