Keywords

1 Introduction

A new paradigm of fog computing and networking is emerging to resolve many challenges that current cloud computing confronts – e.g., processing data in real time, creating location-aware contexts, and maximizing the efficiency of last mile wireless communications. To overcome the limitations, portions of computing and networking capability of the cloud move down to the network edge and form a local computing environment, a fog. The fog presents a new architecture that “takes processing to the data” while the cloud “takes data to the processing.” Edge devices and mobile devices are inter-connected together within a local fog network, and they collaboratively carry out storage, data processing, networking and control tasks. The fog will resolve many problems in the Internet of Things (IoT). For instance, fog services can overcome the bandwidth and cost constraints for long-haul communications; performing data fusion and streaming analytics in real time; managing a large volume of devices and cyber-physical interactions; coping with network reliability and resiliency; and securing untethered, resource constrained end devices. With the potential benefits, the fog enjoys a variety of applications including home and building energy management system. Considering the “distributed” property in the fog, this paper proposes to exploit a distributed multi agent system technology for the development of the fog system. To show the feasibility, we develop fog agents for autonomous energy management, running on top of open source multi agent platform.

2 Background

2.1 Energy Management System

Energy Management System (EMS) refers to a computer aided instrument System used by an operator of an electrical utility grid to monitor, control, and optimize the performance of the generation and/or transmission system. It is also used by individual, commercial entities such as retail stores or restaurants to monitor, measure, and control loads on buildings, and can be used to centrally control devices such as HVAC units and lighting systems. Building Energy Management System (BEMS) is a type of EMS system specialized for buildings. It often includes additional functions of energy management and environmental management, management and analysis of building energy facilities, and integrated management of Building Automation System (BAS) central system. By applying BEMS, it is possible to control the indoor environment and carbon emission, and reduce energy consumption by an average of 5–15% [1].

2.2 Agent Based Platform

An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment to meet its design objectives [2]. Agents take sensory input from their environment, produce output actions that affect it. Sycara et al. [3] characterized Multi-Agent Systems (MAS) as distributed systems with two or more agents. MAS, featuring the implementation and utilization of multiple distributed intelligent agents, shares many common characteristics such as being adaptive, self-aware and semi-autonomous or autonomous. The most outstanding advantages that MAS embraces are that they can respond to the external environment rapidly, and can provide timely solutions based on distributed control with or without human intervention. Agent based technology has recently shed light on home and building energy management [4, 5].

Building a MAS requires an agent development environment that supports at least some stages of the MAS conceptual design process. Foundation for Intelligent Physical Agents (FIPA) specifications define rules for the existence, operation and management of generic agents that can be combined to make complex systems [6]. FIPA also allows for the abstraction of the agent development platform from the language used to program the agent, its environment, domain, data and external devices. As of today, there are several open source agent development platforms most often used by researchers for developing MAS for micro-grid control applications. This paper gives a brief review of three most popular ones: JADE, ZEUS, and VOLTTRON.

2.3 JADE, ZEUS, and VOLTTRON

Java Agent Development Environment (JADE) [7] is an open source agent development software framework for building FIPA compliant MAS. JADE provides tools for building distributable agents across multiple hosts while supporting parallel and concurrent agent activities. It is fully implemented in JAVA programming language, and thus developers can easily build a FIPA-compliant multi-agent system with their set of Java classes. The disadvantage is limited support on resource management and security that are important requirements for our platform.

ZEUS [8] is a FIPA compliant open source agent development platform implemented in Java programming language. ZEUS allows the modeling of agent roles using combination of class diagrams and predefined roles common in most management systems. This design environment restricts the need for developing new formalism, thereby making MAS development more accessible to a wider audience. But, new developers might face some challenges in creating new applications using the ZEUS platform owing to weak documentation.

VOLTTRON [9] is a distributed agent execution framework designed by a Pacific Northwest National Laboratory (PNNL) specifically for use in electrical power systems. The open source and modular platform is designed to be able to run on small-form factor computers, capable of interfacing with hardware devices, maintain security, manage platform resources, and service for applications. The VOLTTRON platform enables the deployment of intelligent sensors and controllers in residential/commercial buildings and the smart grid. Peer-to-Peer communications among distributed agents are established through a central Message Bus in the form of topics and subtopics (e.g., “topic/subtopic/subtopic/” = “weather/location/Temperature/”). VOLTTRON also provides driver support for most Modbus and BACnet devices.

JADE is best suited for advance developers building stable and scalable MAS control for micro-grids. ZEUS could be best employed by new developers for rapid prototyping and testing of MAS concepts for micro-grid control. VOLTTRON is best employed by facilities and building and managers for managing sensor and instrumentation data. In this paper, VOLTTRON is chosen to be an agent development platform for the proposed platform. While VOLTTRON is relatively new and continually evolving platform, its three properties (the open source development platform, broad driver support, and programming language independence) allows developers to prototype and demonstrate MAS control of grid devices even without access to testing hardware.

3 Development of Fog Agents for Autonomous Energy Management

This paper proposes several fog agents that collaborate for autonomous energy controls. They communicate over a secured message bus. The agents are developed on top of the VOLTTRON platform, and Fig. 1 shows the overall system architecture.

Fig. 1.
figure 1

A system architecture of distributed multi agent system on VOLTTRON platform for energy management, it includes a list of fog agents

3.1 Physical Device Agent

A physical device agent is responsible for connecting to physical devices whose functions are related to generation, consumption, and storage of power. These include office appliances like lights and plugs as well as energy facilities in buildings like solar panel and battery. Any sensors and actuators that can help energy management are also considered as physical devices. As an instantiation of the physical device agent, an XML/JSON Agent communicates with light (Philips Hue) and Heating, ventilation, and air conditioning (HVAC) via a thermostat (CT-50). Figure 2 depicts a list of physical devices deployed in our testbed. It can control the devices as well as to read status data from them. For experiments, we have also setup a ModBus Simulator that mimics operations of many physical devices communicating with the agent via ModBus communications, which is shown in Fig. 3.

Fig. 2.
figure 2

Pictures of three devices: Thermostat, LED light, and smart plug

Fig. 3.
figure 3

Our testbed also setups a ModBus simulator that allows experiment for scalability.

3.2 Price Agent and Weather Agent

A price agent communicates with an external service that provides power price in real time. Different countries have their own standards for delivering real-time prices; and some may not have policies for real-time prices; and some may not have policies for real time prices yet. In our implementation, the price agent connects to web APIs provided by Korea Power Exchange (KPX) and obtains System Marginal Price (SMP) [10]. The price data is then shared with other fog agents with appropriate topic names via the message bus.

A weather agent operates in a similar way. Instead of price data, it obtains weather data via web API provided by Korea Meteorological Administration (KMA) [11]. The data is shared with other agents via the message bus. The data is retrieved in terms of GPS coordinates and the obtained one contains 13 different types of details including 3-hour-ahead temperature, humidity, wind, rain, cloud, min/max temperature of the day, etc. A 3-day forecast is also included in the weather data.

3.3 UI Agent

A User Interface (UI) agent is responsible for interacting with end users (human beings) regarding energy information. It informs users of energy status as well as accepts control commands from them. To implement two functions, we develop a simple web agent that communicates with the other agents (price agent, weather agent, and physical device agent) via the message bus. Upon receiving data, the web agent displays the data on the web that is accessible via a web browser. Figure 4 captures the web agent displaying the real-time price and weather information on the web.

Fig. 4.
figure 4

The UI agent shows two different types of energy-related data on the web - the real-time price and weather data

4 Conclusion

This paper has proposed to leverage the multi-agent system technology for the development of a fog computing environment. To demonstrate its feasibility, we adopted an open source platform for a multi agent system, VOLTTRON. Then, fog agents were developed that collaborate to conduct building energy management tasks in an autonomous manner. The agents can reduce the energy waste in the building by realizing the brightness and power status of the lighting in the building, the power status of the HVAC system, the set temperature and the fan mode in real time and implementing it through the simulator. They also receive weather data and price data and present it on the web to provide information to the user. Advancing the agents and complete development of the fog system for BEMS are integral portion of our future works.