Project IRI

The assignment

The goal of the project was to make a sensor monitoring application. We had to make two programs, a server and a client. Because we don't have a laboratory full of sensors at school, we had to simulate the sensors by generating random values within a certain parameter. The generation of these random values had to be done on the server with a time interval of a few hundred milliseconds and the server needed to store these values. This itself sounds very doable until you realize that we had to simulate over 400 sensors each with a interval of a few hundred milliseconds and that we had to store all of these values in the memory and not on the hard drive.

In order to achieve this we needed to be able to control the memory. This is not possible with Java because you have no control over the memory management so we had to use C++. The client however was a different story. It only needed to access the values of a sensor and show them in a chart. If a value on the server exceeded its preset safety parameter it needed to show a warning or error in the client.

How we did it

We used the following technologies:

  • Netbeans Platform (a Java framework)
  • JfreeCharts
  • Google Protocol buffer (Communication between the server and the client)

The result compiled on netbeans 6.5

The result compiled on netbeans 6.7 RC3


The compete source and documentation is available here! (GPL)

Credits: Ingmar Hendriks, Dennis Blommesteijn, Mark Droog & Donnovan Deekman