Programming IoT with UML
IoT involves many kinds of small devices with limited capabilities. In consequence different programming concerns are raised, as opposed to classic object-oriented programming. Many of the languages are more low-level, like C or nesC (of Contiki or TinyOS) and less easy to master. In this project you will use a different approach, based on modelling and automatic code generation. The tool that will be used is the QP-nano. This is specially designed for resource constrained systems. The tool is part of a tool suite coming from QuantumLeaps and has also a book written about it, which the student will study.
As learning outcomes, the student will gain knowledge with the QP tool framework, in particular with the QP-nano for wireless sensors and embedded systems. One would learn how to develop IoT systems by modeling and generating the implementation code. The modeling is done using a graphical language. This is highly attractive for industry people, both because of the visual language and because of the code generation. Even more, the model can be used for verification purposes, which is highly desired for safety-critical systems, e.g., as those that DNV or Thales is working with.
Internship and collaboration opportunities exist with companies like Tellu (Asker).