Distributed Information Systems Laboratory LSIR

tinyGSN: a middleware for sensor data processing on mobile devices (continuation)

Project Details

tinyGSN: a middleware for sensor data processing on mobile devices (continuation)

Laboratory : LSIR Master Completed



-GSN is a software middleware designed to facilitate the deployment and programming of sensor networks.   It is written in Java and runs on one or more computers composing the backbone of the acquisition network.   A set of wrappers, which drive physical sensors, feeds live data into the system. Then, the data streams are processed according to XML specification files. The system is built upon the concept of virtual sensors that are connected together in order to build the required processing path. These virtual sensors can filter, aggregate or transform the data with little-or-zero-programming.

GSN serves as the primary streaming database for numerous research projects. It is used as a repository for all types of data, from national networks to dense, short term local deployments and integrates sensors of a variety of types, from groundwater monitoring, to plant ecology, and meteorology.

Nowadays, with the ever-increasing use of mobile devices (like smartphones and digital tablets), GSN that can offer many useful services for everyday life other than the purely research-oriented ones, cannot stay in the background. For this reason, we would like to port our technology to these mobile platforms and make it accessible for a larger public. With this port, more people can benefit from the technology whenever and wherever they want, without the need of a regular server as it is currently.

This scaled-down version of GSN, which will be called tinyGSN, will open the door to radically new applications not possible with current server-based setup. These applications will be built through a combination of small software bricks following the GSN philosophy of little-or-zero-programming. One can imagine using his own smartphone during his morning jogging and have tinyGSN record his path using the internal GPS and his steps using a connected Pedometer. This data can later be visualized on the smartphone screen with statistics, progress, number of steps, distance, etc. We can also envision healthcare applications, where a blood pressure meter can be connected to a digital tablet and vital parameters recorded and sent regularly to Hospital. We can even easily send alerts in case of abnormal measurements. Another interesting application will come from pushing data to a regular GSN server. In this case, data from multiple devices can be aggregated for more complex projects “Social Sensing”. In a social sensing project, we can, imagine a community of citizens who participate in a collective effort for monitoring air pollution in a city for example.

This project will have an active involvement from the GSN developer.


  • Scale down GSN and adapt it to mobile constraints (CPU and memory). This requires: understanding the architecture of GSN, keeping only core components, and rewriting other parts that cannot be ported.
  • Adapt the user interface to the screen real estate and the experience to the one of mobile devices.
  • Develop a push/pull web interface to export/import data from a regular GSN server.
  • Create a demonstration showing the new features offered by tinyGSN. This task may require writing new wrappers depending on the sensors to use (GPS or pedometer for example).


  • Strong skill in Java programming
  • Experience with Android or other mobile platform is a plus


Contact: Sofiane Sarni (GSN developer)