*Motivation*

Application of software engineering methods in power grid domain is a multi-disciplinary, research-intensive topic. Design and development of software architecture for smart grids requires detailed research across multi domains. The software components are arranged in different layers to meet the intended objectives of smart grids. The literature survey on smart grid software architecture is aimed with the following objectives:


An electric grid is an interconnected grid of networks composed of several hardware and software components to distribute electricity from generation utilities to end-users [2]. The Software System runs on the embedded electronics in the power grid, residing at the various substations that are part of the smart grid. The ability of the electronics to communicate with each other and use feedback makes the power grid a smart grid. The communication channel between substations in its present form is wired, and the use of cloud interface and wireless enables smart grid.

The architecture of the electronics and the firmware configures, monitors, maintains, and controls energy equipment on the electric power grid. The core fundamentals of smart grid architecture pertain to reliability and definitive control (as per standards) over the power grid equipment, and focus on the security aspects as well. Smart grid architecture physically integrates the electronics and software systems of the grid together. A range of communication frameworks provide a wide flexibility for networking. The scenario is each sub-system operates with their own technique, and also agree upon a common data format for overall communication. Also, this architecture is to be capable of accommodating future communication techniques.

The rest of the paper is organized as follows. Smart grid software architecture concepts and requirements are addressed in Section 2. NIST and Joint Working Group's definition of architectural layers are briefly discussed in Section 2.1. Smart grid architectural view and requirements are addressed in Sections 2.2 and 2.3. Section 3 depicts the summary of the literature survey. A detailed report reference architecture is presented in Section 3.1. A detailed review of layered architecture is analyzed in Section 3.2, whereas Section 3.3 investigates agent-based architectural details with relevant research papers. Section 4 outlines the conclusions and the authors' ongoing research work in smart grid software.

### **2. Smart Grid Software Architecture**

A distributed software system is defined as a set of processing elements running at different locations interconnected by a communication system. The processing elements are relatively independent software components that run on different hardware nodes and communicate to each other so that the design requirements are met. The grid architecture is significantly influenced by the physical location of power plants. Conventional power grids depend on larger, individual and remotely-located generating stations, whereas the modern smart grids depend on many Distributed Energy Resources (DER) with a relatively smaller generating capacity. Seamless integration of DERs and energy storage devices are necessary for their effective utilization and storage [3]. Producer and consumer active participation in buying and selling actions are to be integrated in the architecture.

Conventional systems are characterized by high voltage, and renewable energy sources are known for medium and low voltage generators. DERs should provide the flexibility and controllability required to support secure system operations. Each DER operates with its own local control units, and they must interface coherently to realize the smart grid architecture. This results in a paradigm shift of architectural design from traditional control philosophy of distributed control. DER components enable the fast realization of many functions for a stable grid operation [4].

The huge volume of data exchange in smart grids means the monitoring and control operations are more complex. This grid architecture is comparable with software architecture for automotive systems. The vehicle architecture has various sub components, such as engine management, chassis control, and steering. An integrated complete vehicle system is designed to meet the mobility requirement with focus from individual sub-systems. All the participating units shall adhere to the common architectural rules. This analogy is extended to smart grid systems.

### *2.1. Initiatives towards Standard Architecture*

NIST [5] lays down standards for smart grid devices and protocol development. The NIST architectural framework is addressed below:


The report of the Joint Working Group (JWG) for standards for smart grids has outlined [6] the smart grid software architecture concepts, as defined in Table 1:


**Table 1.** Architecture layers as per Joint Working Group (JWG) standard.

The smart grid architecture has new challenges in not only balancing the volatile, largely distributed, small-volume energy production and consumption, but also in shifting of centralized overall control infrastructure to more localized and decentralized approaches [7]. The system representation captures central architectural concepts and their interaction. Smart gird architecture enables a unified and unambiguous representation of all connected sub system components [8]. Describing architecture with necessary flow diagrams and symbols is another challenging task. Many architectural documentations differ in their level of detail, completeness, and preciseness. The architectural documentation guidelines are well defined to balance with detailed descriptions and high-level explanations. [9]. The software architectural concepts can be adapted to the ULS smart grid systems [10,11].

Smart gird architecture bridges traditional power system automation (such as SCADA systems) with DERs and cloud systems. Standards like NIST and JWG-SG 2011 are laying down the architectural principles towards software layer arrangemen<sup>t</sup> and grid sub-system interfaces. These standards aim to catalyze innovations, to highlight best practices, and to open global markets for Smart Grid devices and systems [5,12]. However, these architectural view points and their level of granularity need to be carefully analyzed in power engineering with information technology.

### *2.2. Smart Grid Architecture—An Embedded Software View*

Smart grid architecture is visualized with electronics and software elements, as represented in Figure 1. The smart grid features are realized by software algorithms that interface with grid sensors and actuators. The device drivers enabled with an operating system ensures the real time control and operation of the smart gird system. These components are placed in three prominent layers of distributed software architecture:

*Physical (device) layer:* This base layer consists of the modules with direct access to the microcontroller and peripherals. All device drivers and sensor interfaces are implemented in the base layer.

*Communication (service) layer:* Connects to various layers with an agreed information exchange protocol and realizes the functionality to abstract details from modules which are architecturally placed beneath them. The communication protocol interface, Operating systems (OS) interface, and device independent services are the key modules. In a smart grid environment, the energy suppliers and customers are located distributively, the communication network will assume a hybrid structure with core networks and many edge networks that connect all the suppliers and customers [13].

*Application layer:* Implements the actual software functionality that consists of sub-layers like component layer, service layer, etc. Smart grid specific features, such as load forecast and demand management, are realized in the application layer.

The abstraction components ensure the required separation of connected layers, while allowing the data communication. The RTE ensures communication between the individual software components, and with the help of the operating system, handles execution of the software components. In a typical scenario with huge wind flow availability the static loads (such as EVs Battery) are informed. All the relevant operations with relevant sub-systems are synchronized with RTE systems.

This architecture helps to perform the effective and intelligent distribution of energy to end users. It also helps to integrate renewable energy sources and their generation and distribution. Furthermore, it helps to have communication between the consumers and utility control center through the desired network. This will lead to electricity services becoming more reliable, efficient, cost-effective, self-repairing, self-optimizing, and environmentally conscious. There are two major objectives for having smart grid architecture: (i) to ensure reliability and availability of the grid, continuous and autonomous monitoring, measurement, and control of the grid; and (ii) managemen<sup>t</sup> of energy utilization and distribution to ensure balanced demand and supply. To achieve this objective, a detailed analysis of smart grid requirements for optimized performance of networked sensors and software system is undertaken, which is discussed in the following section.

**Figure 1.** Smart grid Architectural view.
