ICARUS Decision Support System

Screenshot of ICARUS DSS

The ICARUS Decision Support System is a software solution based on modular architecture that combines several different technologies in the fields of IoT, SQL, NoSQL and spatial databases, data processing and WebGIS. The ICARUS DSS relies on significant amounts of data of different nature to operate. It needs geo- spatial data so that the models can be run, timeseries of measurements collected by the IoT and wearables and a database containing the information that are necessary for the administration of the system. The data that are currently stored in the DSS concern the majority of the countries of geographical Europe. On top of that, data of higher resolution as well as policy details and model execution results are available only for the cities participating in the ICARUS research project.

The DSS has several components that are deployed in different environments, as it can be seen in the following deployment diagram. In the sections of this chapter we give the information relative to each environment.

The ICARUS Decision Support System is a software solution based on modular architecture that combines several different technologies in the fields of IoT, SQL, NoSQL and spatial databases, data processing and WebGIS. The ICARUS DSS relies on significant amounts of data of different nature to operate. It needs geo- spatial data so that the models can be run, timeseries of measurements collected by the IoT and wearables and a database containing the information that are necessary for the administration of the system. The data that are currently stored in the DSS concern the majority of the countries of geographical Europe. On top of that, data of higher resolution as well as policy details and model execution results are available only for the cities participating in the ICARUS research project

The DSS has several components that are deployed in different environments, as it can be seen in the following deployment diagram.

ICARUS DSS Deployment Diagram
ICARUS DSS Deployment Diagram

Web Interface Application

The Web Interface Application is developed using open source software (Spring Boot Framework and the Thymeleaf template engine) over virtual hosts on physical and cloud machines. Apache Tomcat and Nginx Server are capable with the specific configuration to perform high load of requests without consistency issues. Software development architecture is giving the opportunity due to layer independence to scale. The web server can be transferred as a whole in a new installation by using the minimum requirements as the current installation:

  • Apache Tomcat version 7.0.67
  • Java 1.8
  • Thymeleaf 2.1.5

GIS server

The DSS also uses a GIS server, which is a software installed on the web server. The GIS server used is Geoserver, an open source Java-based software server, that allows users to view and edit geospatial data. It produces high quality rendering of maps and can handle hundreds to thousands of map layers. It uses open standards set forth by the Open Geospatial Consortium (OGC), implementing the Web Map Service (WMS) standard and the Web Feature Service (WFS) standard, allowing for great flexibility in data sharing. The version of Geoserver used is 2.14.2. For transferring the DSS in a new environment, the exact version is necessary to be installed, in order for the existing data to be incorporated without issues. With use of several configuration deployment can be tailored to fit in different environment without significant effort.

Management server

The Management server by design is the most easily configurable layer of the system. Micro-services architecture is giving the feature of expanding resources very easily by adding new virtual machines to scale up. Open source software is used during development so no cost is required in order to transfer the deployment to other servers. Pre-configured docker images are in place for hosting each service machine. With use of several configuration files deployment can be tailored to fit in different environment without significant effort. The Management Server is currently deployed on the same machine as the Web Server. Docker installation must be present in all hosts.

Database Management Systems

The need of a database to store all other information, different from the geospatial, made the team select a relational database. To be in line with the geospatial data and ease future management of the two databases, PostgreSQL has also been selected as the core RDMBS. Furthermore, a Couchbase NoSQL Database is used for the collection of the distributed user, IoT and other devices used by the ICARUS Project. The mixture of the two technologies, one RDBMS and a NoSQL database has been a successful choice from the development team in order to have parallel process of different kind of information. From the one hand the structured and precise data from the DSS application supporting the basic information model of the project and on the other hand the mass and unordered fluidity of the distributed external devices that must be stored in many formats. All installations have been made using virtual machines on physical hosts. Transferability of the system is very easy by using export capabilities of the two choices above

ICARUS Decision Support System is a web-based, flexible and interactive platform aimed at assisting stakeholders in the selection, application and evaluation of the available datasets and tools for urban impact assessment in support of air quality and climate change governance at different spatial and temporal scales and taking into account the specific regulatory context.

Vasilis Balafas
Vasilis Balafas
Software Enginer, PhD Student in Computer Science

My research interests include distributed robotics, mobile computing and programmable matter.