device.
The devices suitable for *mTasks* are not limited to embedded devices. In the
-`int` folder is a `C` reference implementation available for intel machines.
+`client` folder is a `C` reference implementation available for intel machines.
-*mTasks* are written in [clean][clean] and specifically using the
-[iTasks][itasks] library.
+*mTasks* are written in [clean][clean] and specifically using the TOP
+implementation DSL [iTasks][itasks].
-### How to setup the iTask system
-Get the latest iTask and run Make. Make sure to have `gcc-5`.
+### How to setup the server
+Install clean by running:
+```
+./install_clean.sh
+```
-### How to setup the interpreter
-For the linux version install `gcc` and run `make -f Makefile.linux` in the
-`./int` directory
+Build the tools by running `make`
-For the STM version install `gcc-arm-none-eabi` and run `make` in the `./int`
-directory. To flash the binary to the device install (a recent version of)
-`openocd` and run `make flash` in the `./int` directory.
+### How to setup the interpreters
+For the linux version install `gcc` and run `make -C client -f Makefile.linux`.
-### Protocol
-The server can send task specifications to the microcontroller by sending:
-| id | length
-| 's' | n | n bytes | newline
+For the STM version install `gcc-arm-none-eabi` and run `make -C client`.
+To flash the binary to the device install (a recent version of)
+`openocd` and run `make -C client flash`.
-Where n is a 16bit integer.
+### Thesis
+The thesis accompanying this material can be found [here][thesis] and the
+sources [here][sources]
### Author(s)
-Initial work has been done by Pieter Koopman. Extensions have been made by Mart
-Lubbers.
+Initial work on the DSL have been done by Pieter Koopman. Further extensions
+have been made by Mart Lubbers.
+[sources]: https://files.martlubbers.net/msc-thesis1617://git.martlubbers.net/?p=msc-thesis1617.git;a=summary
+[thesis]: https://files.martlubbers.net/msc-thesis1617/
[clean]: clean.cs.ru.nl
[itasks]: clean.cs.ru.nl/ITasks