Service Abstraction Layer for Building Operating Systems: Enabling portable applications and improving system resilience

A Service Abstraction Layer (SAL) for Building Operating Systems that decouples applications from specific service implementations. Applications no longer call ‘/api/v1/occupancy on host x’ – they request a capability and the SAL routes them to a service that provides it, enabling provider swaps without code changes and parallel providers for resilience. The conceptual foundation that the 2022 ontology-driven Service Portability paper builds on.

research
building operating systems
service abstraction
smart grid
resilience
demand response
2018 IEEE International Conference on Communications, Control, and Computing Technologies for Smart Grids (SmartGridComm).
Authors

Jakob Hviid

Mikkel Baun Kjærgaard

Published

October 29, 2018

Publication

Abstract

For large-scale implementation of Demand Response programs, applications enabling Demand Response would need to be portable between buildings. Building Operating Systems are an essential strategic piece for enabling portable applications, which work with several hardware implementations from different vendors. These building operating systems can effectively be used to implement large-scale Demand Response implementations.

Currently, though, the service layer of building operating systems requires direct integration with specific services, and thereby have requirements for specific implementations of services to be present in a specific building. This paper proposes the introduction of a Service Abstraction Layer (SAL) to decouple the application from the specific implementations of services, as well as to introduce the concept of redundancy in service responsibility areas. These changes would allow for application portability between buildings but also allow for building operating system resiliency.

A prototype abstraction layer is implemented and tested. Results show the introduction of a Service Abstraction Layer has promising benefits for building operating systems, and successfully decouples the applications from the building operating system implementation, as well as improving system reliability and resiliency.

Architectural contribution

Where Brick describes the building, the SAL describes the services exposed by the building system and what each service is for. An application no longer says “call /api/v1/occupancy on host x” – it says “I need an occupancy estimate, and the SAL will route me to a service that provides one.” That makes it possible to:

  • swap service providers without changing application code
  • run several providers in parallel for the same capability (resilience)
  • arbitrate between providers when one degrades or goes down

The SAL is the foundation that the 2022 Service Portability paper builds on – adding ontology-driven discovery on top of this abstraction.

Citation

Hviid, J., & Kjærgaard, M. B. (2018). Service Abstraction Layer for Building Operating Systems: Enabling portable applications and improving system resilience. In Proceedings of the 2018 IEEE International Conference on Communications, Control, and Computing Technologies for Smart Grids (SmartGridComm). IEEE Press. https://doi.org/10.1109/SmartGridComm.2018.8587543