A Bibliographical Survey on Software Architectures for Smart Grid System

Smart grid software interconnects multiple Engineering disciplines (power systems, communication, software and hardware technology, instrumentation, big data etc.). The software architecture is an evolving concept in smart grid systems in which systematic architecture development is a challenging process. The architecture has to realize the complex legacy power grid systems and cope up with current Information and Communication Technologies (ICT). The distributed generation in smart grid environment expects the software architecture to be distributed and to enable local control. Smart grid architecture should also be modular, flexible and adaptable to technology upgrades. In this paper, the authors have made a comprehensive review on architecture for smart grids. An in depth analysis of layered and agent based architectures is presented and compared under various domains.


Introduction
ISO/IEC/IEEE 42010 defines software architecture as "a fundamental concepts or properties of a system embodied in its elements, relationships, and in the principles of its design and evolution".A software reference architecture is a generic architecture for a class of information systems that is used as a foundation for the design of concrete architectures from this class [1].Smart grid is viewed as software intensive system in which majority of devices / components contain electronics and software.Smart grid software architecture is characterized as large scale, multi-disciplinary, highly interconnected, data driven system.

Motivation
Application of software engineering methods in power grid domain is highly a research oriented topic.Design and development of software architecture for smart grid requires detailed research across multi domains.The software components are arranged in different layers to meet the intended objectives of smart gird.The literature survey on smart grid software layered architecture is aimed with following objectives: • Layers definition & purpose • Interface mechanisms amongst layers • Data transmission mechanisms • Evolving realisable software architecture

Contributions
Smart grid architecture is a complex, data intensive and safety critical system.The data collection and exchange among consumers, DERs, distribution and cloud systems decide the basic structure of smart grid architecture.The authors are developing Bit level communication based software architecture for smart grid.And this is done as a part of their research.The smart grid is also similar to data centres, except for the sheer volume of the data travelling in and out.IPMI relies on a byte level protocol which provides for requests and responses, the device sitting in the remote location always acts as a server, hence a login and session management mechanism is the most fundamental entry point.The basic analogy of the existing software architecture is explored in this paper.The authors' present research aims at leveraging software architectural methodology from automotive technology to smart grid power systems.
Rest of the paper is organized as follows.Smart grid software architecture concepts and requirements are addressed in section 2. The Joint Working Group's definition of architecture layers is also briefed in detail.Section 3 depicts the summary of the literature survey.A detailed report of architecture layers is presented in section 3.1.Agent based and reference architectures are explored in section 3.2 and 3.3 respectively with relevant research papers.Section 3.4 brings out different projects / research works towards defining standard smart grid architecture.Section 4 outlines the conclusions arrived and authors' ongoing research work in smart grid software.

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.This architecture is characterized with the features shown in Table .1.• Changes to be made ( new features integration) on the fly without interruption Robustness • Self-healing • Continuous operation independent of a system/ component fault Communication protocol are the vital part of software architecture with the following functions: • Provides services for transporting data between the remote locations • Coordinates asynchronous events and by managing the concurrent interactions.
The infrastructure can be represented by various layers of software, some being distributed systems themselves, services implemented in the operating systems, specialized middleware such as object request, message-centered communication providers, application servers that provide distribution services etc.
The smart grid architecture has new challenges in not only balancing the volatile, largely distributed, smallvolume energy production and consumption, but also in shifting of centralized overall control infrastructure to more localized and decentralized approaches [2].The system representation captures central architectural concepts and their interaction.This architecture is unified, explicit, unambiguous, and widely demonstrated domain terminology [3].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.[5].The software architectural concepts can be adapted to the ULS smart grid systems [26] [32].

Centralised Vs Distributed
Conventional power grid depends on larger/individual and small generating stations, whereas, the modern smart grids depend on many Distributed Energy Resources (DER) with relatively smaller generating capacity.Conventional systems are characterised by high voltage and renewable energy sources and are known for medium and low voltage generators.DERs should provide the flexibility and controllability required to support secure system operations.Each DERs operate with their own local control units and they must interface coherently to realise the smart grid architecture.This results in a paradigm shift of architectural design from traditional control philosophy to distributed control.DER components enable the faster realisation of many functions for a stable grid operation [20].

Smart Grid Requirements
Smart grid system constitutes of several sub-systems like Generation, Transmission, Distribution, Utilization, and Operating System.Deriving smart grid requirements is the first step towards realizing its architecture.Smart Grid Software Architecture is designed to realize the requirements broadly listed in Table 2.

Effort towards Standard Architecture
The report of the Joint Working Group (JWG) for Standards for the Smart Grids [JWG-SG 2011] had outlined [23] the smart grid software architecture and it is shown in Table 3.

Table 3. JWG-SG 2011 -Architecture layer description
Conceptual Architecture High-level presentation of the major stakeholders or business domains in the system and their interactions Functional Architecture Arrangement of functions and their sub-functions and interfaces (internal and external).Defines the execution sequencing, the conditions for control or data flow, and the performance requirements to satisfy the requirements baseline Communication Architecture Addresses the connectivity of multiple devices / components/ units Information Security Architecture Security architecture describes how the system is put together to satisfy the security requirements Information Architecture Representation of entities including their properties, relationships and the operations that can be performed on them The smart grid architecture involves with the design of DER components and interfaces and configurations.The communication protocol definitions and operating procedures to be well defined.The individual layers are designed to be independent and the overall functionality is ensured with interface requirements specifications [5].Interconnection of different features across multiple sub-systems results in smart grid architecture.Layered architecture is recommended for large scale systems such as smart grid.The structure of layered architecture is simple: arranging the elements (components) in logically grouped layers.This structure is well established in the domains like automotive whereas it is just evolving in smart grid.The authors have found that many research attempts are made by the researchers to define and describe the layered architecture for smart grid systems.

Layered Architecture in Smart
Smart grid architecture is designed to integrate the legacy features and its evolution into the future.The smart grid evolution is taking place in a varying pace by adopting new technologies [6].A layered architecture that is suitable for seamless transition and plug-and-play interoperability is needed.The segregation of various software components into logical groups decides the software layers [31].Three prominent layers of distributed software architecture are: Physical (device) layer: Consists of hardware based software components (sensor interface) Communication (service) layer: Connects to various layers with an agreed information exchange protocol Application layer: Implements the actual software functionality that consists of sub-layers like component layer, service layer etc. Figure 1 depicts a generalised layered structure of distributed software architecture [6].

Architecture Layers Definition -Literature Review
One of the major research focuses of the authors is to define reference architecture for smart grid software.The proposal [7] is a multi-tiered architecture based on event driven approach and capable of integrating new functionality without stopping the systems.Physical layer represents the actual components and sensors.Typically, this layer interfaces the software and hardware.IEDs are the key elements in smart grid system of systems [7].IEDs do communicate with primary/secondary substations and smart meters.In [8], the authors have proposed publish-subscribe middleware architecture with two plane concepts: management plane and data plane.Component layer provide services to upper layers with the data acquired from the smart devices of the grid (IEDs) [7].Data acquisition, processing and managing functionalities are implemented in this layer due to the AMI interface.This layer implements all smart grid control functions, labelled as local control layer [9].Communication layer is the brain of smart grid software architecture.In [4], the authors define this as common information model whereas [15] represents this layer as Machine-to-Machine (M2M) layer which is responsible for data communication based on publish/subscribe approach.A new dimension of smart grid is introduced with the terminology prosumer: producer-consumer.The increasing trend of renewable energy usage enables the consumers to generate own power and supply excess to the grid.In the prosumer based software architecture [9], the information can freely flow across different layers.The authors argue that this prosumer-driven and webbased distributed control architecture is scalable and suitable for all emerging smart grid applications.Batista et al. attempted to define layered architecture with a perspective grid position level: Local, Regional, National, Continentals and Intercontinental [10].Several assets of the grid are divided into logical objects that are converted into real small structural units which are capable of operating independently.ZigBee based implementation is done for the proposed architecture and tested in smart grid environment.Jennifer Pérez et al. applied autonomic computing techniques towards reference architecture for micro grids [12].The autonomous behaviour helps real time capabilities to acquire, distribute, process, analyze, connect and disconnect distributed resources.This model implements the Grid Controller and the real time scenarios of all participating elements.An evolving eight layered architecture to position various functionalities of smart grid is proposed [11].Global optimization and coordination layers are also newly introduced in this paper.Distribution system automation acts as a key interface between power source and consumer.Various operations of distribution systems (monitoring, protection and security) are placed in different levels [13].Potential software architecture is proposed to address the distributed and complex requirements of smart grid.In the recent work [14], nodes representing IEDs are constituted with three layers namely electric, cognitive and communication.The authors propose omnet ++ and JAVA based intelligent architecture for smart grid.Smart meters are matured technology in smart grid systems.In [15], the authors proposed a flexible multi-utility and multi-service metering architecture to allow innovative services and utilities for the different actors playing in the scenario.In [16], the authors offered a solution to integrate Advanced Metering Infrastructure with distribution management systems.Service oriented middleware architecture is another promising approach to smart grids [17].The service infrastructure for smart grid depends on the communication (wired/wireless) fashions that collect and transmit real-time energy consumption data.
Meter Data Interface layers [16], [24] performs i) AMI pushing meter data to DMS ii) DMS polling meter data from the AMI iii) DMS pushing control commands to AMI.Smart grid functionalities [17] such as fault report, power allocation, user information management, security guarantee were implemented as a project.Integration layer [15] is in charge to enable the interoperability across the heterogeneous devices by abstracting the technology to the Web Services.The focus on smart grid infrastructure in developing countries like India is steadily progressing.An article focussing on smart grid in India [18], classifies the architecture into three layers to accommodate control, sensor, communication and application components.The smart grid features like grid balancing, real time monitoring and fault management are implemented in operation and control layer [19] [30].Storage layer [15] collects the data received from the meters and devices deployed across city.This architecture is modular and with flexible infrastructure where heterogeneous technology can be plugged-in.Security Layer in the software architecture [15] provides features to enable a secured and trusted communication.It controls whether a device or service can be trusted or not.Market (business) layer deals with the process of control decisions for the available resources incorporating economic objectives [9] [29].This layer has the scope for the service providers to participate in grid level transactions.Composition of simple services is accommodated as Orchestration layer [7], [12].Global optimization layer has a holistic view of the system and is used to optimize the entire power grid.It has information about the renewable energy available across the Generation, Transmission, Distribution and Utilisation (GTDU) layers and schedules the generation capacities to optimally utilize the renewable resources and for reducing the carbon foot-print [12].

Agent based architecture for smart grids
Service Oriented Architecture (SOA) & Multi Agents (MAS) architecture are the promising technique to realize smart grid systems.In both cases, smart grid components such as Distributed Generators (DGs), intelligent switches, smart transformers, sensors, electric appliances, or electric vehicles can be monitored and controlled by an autonomous software component-being it either an agent in the MAS sense or a service in the SOA sense [22] Agents are autonomous systems which can run fully decentralized, i.e. it does not depend on a central (master) element.An agent can represent a group of appliances or bigger grid elements such as a cluster of households.The utilities can retrieve data collected by the agents and use this information to control power supply and decide which power sources to use.MAS based software architecture for micro grid is experimented in [25], [27], [28].Agent based software architectures is a potential technique in smart grid software architecture hence plenty of research articles exist in this domain.Existing distribution systems operate in Master-Slave concept, responding to the central command and there exists no possibility of dynamic reconfiguration.They do not support interoperability, and utilities often are locked into solutions from a single vendor.Multi agents' application in grid environment enable the local devices to be more self-operable and support to decentralised monitoring and controlling operations.Data services, Functional logic services and Business logic services are described in smart grid architectures.An intelligent agent consists of four components: input interface, output interface, decision making system and communication system.Multi Agents Systems are "autonomous decision makers that communicate their preferences, negotiate sub-goals and coordinate their intentions in order to achieve the individual or system goals" [33].They are suitable to smart grid architectures due to these attributes: Intelligent and Autonomous, Distributed control, Act flexibly to the changes in environment, co-operates each other towards a common goal.Malik et al. analysed various aspects of Agents usage in Smart Grid environment [32].This paper evaluates the agents' application in smart grid functional areas: Control, Fault management, Self-healing, energy balance management and distribution side management.Gulnara Zhabelova et al. attempted various aspects of distributed architecture for smart grid applications and unique contributions in this domain [33], [34], [35] [36].These works practically implement agent based solutions in smart grids and facilities migration of smart grid technology to the next level of research.The limitations of current distribution systems are addressed with agent based techniques [34].The proposed integration of the two international standards IEC 61499 and IEC 61850 has enabled to prototype the automation architecture where the intelligence resides on the device level [36].Agent based architecture is proposed for fault location isolation and supply restoration (FLISR) applications [35].An hybrid approach combining both the advantages of reactive and deliberative architecture approaches is implemented.This paper deals with two reactive behaviours, five plans, the intention stack, and the interpreter.The design process is methodological and agents are reproducible.An actual fault condition in a substation environment is considered and the mechanism of agent reactions is tested.The concept of JIAC (Java Intelligent Agent Component) framework is integrated with service-oriented paradigm [37].The framework provides the agent-platform, comprising agent nodes, physically distributed and it enables runtime environments for JIAC agents.These are demonstrated in two projects: The Intelligente L¨osungen zum Schutz vor Kaskadeneffekten in voneinander abh¨angigen kritischen Infrastrukturen (ILIas) project & Gesteuertes Laden V2.0.Agent based design in smart grid applications build a modular software architecture [38].This work attempts to implement different aspects of communication agents: Communication perspective, access to the services, handling subscriptions.Agents can have following attributes: name, parent, child, unique ID.Authors propose, protocol adapters to bridge between agents and appliances.The authors in [39] have also implemented Multi Agent Architecture towards smart grid.This paper defines different roles in smart grid as producer, storage, consumer, prosumer, distribution.It takes JADE as base framework to implement the proposed architecture.The salient features of this research are: time dependent monitoring and computation; supports to internal and external physical models; flexibility in computation; eases the integration of distributed control algorithms.

Reference Architecture:
Smart grid software architecture is being explored by numerous researchers, service providers and electricity producers.This will support all stakeholders to accelerate smart grid components development and comply with uniform protocols.This reference architecture provides a technology strategy that will holistically leverage standards-based solutions to realize these benefits consistently across multiple stakeholders [44].Five standard types of reference architecture based on organization, components and interfaces are analysed in [1].

Table . 1
Smart Grid-Characteristics • Interconnect multiple Generating sources, • Manage operation with Transmission , Distribution, Consumption Modular / Scalable • Addition of new generating units and consumers • Plug and Play operation mode Reconfigurability

Table 2 .
Smart Grid Functional Requirements

Table 4
summarises the comparison of layered architecture available in various literatures.Analysis of various architectures features are presented for the readers to glance.

Table 4 .
Comparison of layered architectures

Table 5
summarizes the various standard architectures found in the literature.

preprints.org) | NOT PEER-REVIEWED | Posted: 19 March 2018 doi:10.20944/preprints201803.0160.v1
The authors are experimenting in Internet Protocol (IP) based software architecture for smart grids.Numerous research is in progress to define IP enabled and interoperable End-to-End Smart Grid Networks.The Internet Protocol suite is defined as (i) a set of network and transport data message protocols using IP packets and (ii) a set of routing, IP address mapping and device management protocols.The bit level protocol definition ensures faster, reliable and secured communication in smart grid environment.Cloud integration techniques also enable to leverage many technologies (automotive, home automation) into smart grid domain.The authors are developing an IP based protocol deployment in smart grid environment.This review paper is a comprehensive analysis of various aspects of smart grid software architecture.It requires multi-disciplinary research which basically involves power system, communication and information technology.Even though various authors follow a different naming convention for their layered architecture, a commonality exists in the functionality.The authors have also observed a similarity in the names of the layers with many research papers.Agent technology directly enables these features in smart grid due to their autonomous nature.Self-centric (not Master -Slave) agents are directly suitable to the distributed smart grid software architecture.Most of the research work focuses on building a standard software architecture based on above mentioned three elements.The authors have analysed all such software architectures available in the literature.Few architectures such as ScorePlus, GridOptics are reconfigurable and implemented in hardware.BEMOSS is an open source software architecture for building energy management.FREEDM known as Energy Internet, implements various smart grid elements and features.The basic research, architectural proposals, application of adjacent technologies, demonstration with pilot projects shall all lead to more smartness (intelligent, automation, decentralised, self-healing, adaptable, dynamic) in the intelligent power grids.