BMF: Building Management Framework

BMF at a Glance

The Building Management Framework (BMF) is a domain-specific framework implemented for both WSAN nodes and more capable devices at basestation (BS) side such as PC, plug computer, smartphone, PDA. It allows flexible and efficient distributed sensing and actuation in buildings. It has been defined according to the following requirements:

  • Fast reconfiguration: While some frameworks allow to quickly configure nodes in a WSN through packets sent over the air, some other works require the user to write embedded code for sensors that is difficult to realize and requires an expensive and slow deployment phase. We believe that a dynamic network requires tools for a fast (re)configuration to switch over different applications at runtime. Moreover, the packets sent to configure the nodes have to be optimized to save communication bandwidth and carry out a fast reconfiguration. Moreover, an effective query language for node programming has to be defined for WSAN programming at run-time.
  • In-node processing: Performing in-node processing allows computing and sending synthetic data on the network giving the opportunity to send less raw data packets so saving both bandwidth and energy on the nodes (as the radio is the sensor component that wastes more energy) and also allowing more nodes to join the network. In a Building WSAN, the in-node processing is more useful than the in-network processing (data fusion, shared variables, and so forth) which provides functionalities that are most of the time useless in a Building Management domain, charges the nodes with onerous algorithms and increases configuration data exchange among nodes.
  • Multi-hop support: To cover whole buildings, a framework must provide support for multi-hop networks relying for example on specific data centric or hierarchical protocols.
  • Multi-platform support: Using different platforms (both hardware and software) together in a network allows to take advantage of different types of sensor nodes with different and more suitable features (e.g. the use of sensor boards already developed for different platforms).
  • Methods to dynamically capture the morphology of buildings (Building Programming Abstraction). In a building, the nodes of a WSAN can be deployed everywhere. It is very important to design a Building Programming Abstraction that allows to store where the nodes are placed in a building in terms of room (e.g. kitchen, sitting room, and bathroom) and function (e.g.: ambient temperature, lighting system, and radiator monitoring). A Building Programming Abstraction allows to capture the morphology of a building at basestation side and allows to make a node conscious about its position in the building.
  • Support for actuators. In order to apply policies to achieve some goals like comfort or energy saving in a building, it is of primary importance for some nodes of the network the control of actuators. Through actuators, a user can remotely send commands to objects (appliances, lights, radiators) or a software can intelligently apply some rules.
  • Deploy management through Human Computer Interface. A user friendly graphical interface to easily configure the network is fundamental. In particular, it allows saving programming time and effectively visualizing data from the WSANs. Moreover, the interface has to be extensible to allow users to add highlevel functionalities without programming a new interface or re-implementing the one provided.

In the following Figure are shown the main functionalities of the BMF through a layered representation divided into BS-side and Node-side layers.

The BS-side component includes the following layers:
  • Heterogeneous Platform Support layer incorporates a set of adapters that allow interfacing the system with different types of sensor/actuator platforms. An adapter is linked to a specific hardware device able to communicate with a specific sensor platform in the network.
  • WSAN Management layer allows to fully manage a WSAN cluster. This layer supports packet coding/decoding according to the BMF application-level protocol and packet transmission/reception to/from the WSAN cluster. Moreover, this layer supports device discovery within the cluster.
  • Group Organization layer provides group-based programming of sensors and actuators, tracking of nodes, groups in the system, management of node configurations and group compositions. Node organization in groups is specifically defined to capture the morphology of buildings. Nodes belong to groups depending on their physical (location) or logical (operation type) characteristics.
  • Request Scheduling layer allows the support for higher-level application-specific requests. Through this layer, a BS can ask for the execution of specific tasks to single or multiple nodes or groups of nodes. Moreover, this layer keeps track of the requests submitted to the system, waits for data from the nodes and passes them to the requesting applications. An application can be implemented on top of this layer to fully manage a WSAN using the BMF.
The Node-side part of the BMF is designed around the following layers:
  • Hardware Sensor Platform layer allows to access the hardware sensor/actuator platform. In particular, this layer facilitates the configuration of the platform specific drivers and the use of the radio.
  • WSAN Management layer manages the communication between the node and the reference BS according to the BMF application-level protocol and among the nodes in the neighbourhood through the multi-hop network protocol provided by the node sensor platform.
  • Sensing and Actuation Management layer allows to acquire data from sensors and execute on actuators. In particular, this layer allows to control and plugin sensors/actuators from different vendors.
  • Node Management layer is the core of the Node-side BMF and allows to coordinate all the layers for task execution. In particular, on one side it handles events from the lower layers every time that a network packet arrives or data from sensor/ actuator are available, and on the other side it manages events from the upper layers every time that data are processed or a stored request has to be executed.
  • Dynamic Group Management layer provides node grouping functionalities. A node can belong to several groups at the same time and its membership can be dynamically updated on the basis of requests from the user.
  • In-node Signal Processing layer allows the node to execute signal processing functions on data acquired from sensors. It can compute simple aggregation functions (e.g. mean, min, max, variance, RMS) and more complex user-defined functions on buffers of acquired data.
  • Multi Request Scheduling layer allows the scheduling of sensing and actuation requests. In particular, it stores the requests from the user and schedules them according to their execution rate.

Sensor Platforms

The BMF is implemented and tested on TelosB, Tyndall25, and Epic sensor platforms based on TinyOS and on the Java SunSPOT platforms.