Description

Colibri provides a platform for smart building energy management. Semantics about the building, the building automation systems, other energy-consuming or energy-producing devices, and the environment is used to elaborate optimization strategies. For this purpose, information is exchanged with the building automation systems as well as external agents, such as smart grid agents or Web service providers.

In order to prevent the linked systems and components from direct access to the Colibri semantic core, where the information is stored, an interface is implemented in this project. Following best practice in Web service design (e.g. REST), the interface should be able to manage a small set of message types to read, write, and query information. For example, building automation systems push new sensor values towards the Colibri semantic core using a write message, or the Colibri optimization algorithm is able to use the querying functionality to retrieve necessary information.

Both the interface component and the linked components should be able to initiate an information exchange. Thus, the WebSocket protocol is utilized. As a result, the semantic interface will be able to push, for example, a new value for a light switching actuator towards the building automation system. The exchanged information and the queries within the messages are encoded using RDF and the SPARQL protocol, respectively.

Benefit for the Student

Dive into latest technologies and emerging protocols for the Semantic Web and Web service interfaces. Improve your experiences in Java-based software development.

Benefit for the Project

A clearly specified interface for accessing the semantic core of Colibri supports the development of further technology connectors in the domain of building automation systems or the smart grid. With this semantic interface, multiple systems in and around a building can be easily linked to the Colibri platform, which improves the energy management capabilities.

Requirements

Strong skills in Java-based software development are necessary. In addition, skills in Semantic Web technologies (SPARQL, OWL, and RDF) are desired, and knowledge about WebSocket communication is beneficial.

Mentors

Daniel Schachinger, Andreas Fernbach, Wolfgang Kastner

More information

https://github.com/dschachinger/colibri (Colibri)
https://tools.ietf.org/html/rfc6455 (WebSocket)
https://www.w3.org/RDF/ (RDF)
https://www.w3.org/TR/sparql11-protocol/ (SPARQL protocol)