Following the 1st ICSE workshop on SERP4IoT and the excellent presentation by Steven Reiss from Brown University. We decided to implement our own IoT system to inform students, via an automatically-updated screen of "where is my professor?" (hence, the WIMP acronym...).

The WIMP project wants to be three things:

  1. An opportunity to develop a real IoT system and, thus, face all the choices and challenges of anyone running an IoT project for the first time.
  2. A complex-enough, yet simple running example for current and future M.Sc. and Ph.D. theses on Empirical Software Engineering for the IoT.
  3. A useful IoT system that can be really embedded into organisations in which professionals have offices and must manage appointments, visits, meetings, etc. (professors, doctors, lawyers...).

At first, drawing inspiration from Reiss' work, we chose to divide roughly the WIMP architecture into three parts:

  1. Sensors.
  2. Core.
  3. Display.

Important are the following choices:

  1. Everything producing data from/is a sensor. From a temperature sensor in an office, to a GPS in a cellphone, to an event in a Google Calendar.
  2. The core includes edge devices, Cloud servers, organisation databases, etc. They are the computers (in the most general meaning of the term) where some computation may happen.
  3. The display should first and foremost display information but could also be used to interact with the Core, for example to allow appointment requests.

Below is an image showing this first architecture.

WIMP Project First Architecture

By the way, every technical contributions are hosted on GitHub at