Data Models for Smart City IoT - Manuel João Gonçalves Vieira de Castro (2017)
In a time where societies are committed to move towards more sustainable solutions in what concerns their infrastructures, the Internet of Things is empowering the smart city sector, playing an increasingly important role in areas such as environment quality, mobility, security and public health. Ubiwhere is currently partaking in the development of Citbrain, a smart cities platform, responsible for the gathering, processing, storage and distribution of sensorial information and web services related, in their majority, to the fields of mobility and environment quality. However, due to the diverse nature of the sensors and the collected information, the obtained data is conveyed in various formats, posing great barriers to data interoperability. This represents a problem for developers, due to the amount of time and effort needed to adapt applications to this heterogeneous data. This thesis proposes a framework to compare and rank existing data models for the Internet of Things in the smart city sector. Fiware, SensorThings, CitySDK, oneIoTa, OData, W3C Generic Sensor, and IPSO Smart Objects are compared to determine which one is the best fit for Citibrain's solutions. A characterization of the data models is performed, regarding the smart city sectors they apply to, and their level of abstraction. This preliminary study is then concluded with the selection of the models capable of depicting all Citibrain's solutions' data - Fiware, SensorThings, oneIoTa, W3C Generic Sensor and IPSO Smart Objects. In the following stage, a set of criteria is selected for a deeper evaluation of the data models, making use of metrics such as the overheads introduced in both the data processing and communication aspects of the system, the amount and quality of available documentation and support, and the models' easiness of implementation. To conclude the analysis, a weighted formula is devised, capable of translating the performed evaluation into a single value, for an easier comparison of the models. The five selected models are then put through the developed evaluation process, in order to elect the de facto best solution for Citibrain. Applying the weights that express Citibrain's requirements, Fiware achieved the best results in the analysis, and was selected for the database implementation of a client-server dashboard application. The dashboard served as a proof-of-concept, and is responsible for displaying real information gathered from Citibrain's sensors.