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