by Jennifer Pérez, Jessica Díaz and Eloy González
Growing energy demands and the increased use of renewable energies have changed the landscape of power networks leading to new challenges. Smart Grids have emerged to cope with these challenges by facilitating the integration of traditional and renewable energy resources in distributed, open, and self-managed ways. Innovative models are needed to design energy infrastructures that can enable self-management of the power grid. Software architectures smoothly integrate the software that provides self-management to Smart Grids and their hardware infrastructures. We present a framework to design the software architectures of autonomous Smart Grids in an intuitive domain-oriented way and to simulate their execution by automatically generating the code from the designed autonomous smart grid architectures.
Power networks are undergoing continuous change due largely to increased power consumption and the availability of renewable energy. These changes require the evolution of power networks towards new software architectures of control and operation. These software architectures will soon enable great improvements to the automation and distributed communications of power networks.
Smart Grids  promote the integration of traditional and renewable energy resources, with new elements in a distributed, open, and self-managed way. This requires innovative models for energy infrastructure and the self-management of the power grid , whose openness and distributed nature requires a shift from the current centralized infrastructures towards more distributed ones. Such a shift would ensure the scalability of smart grids and enable the management of autonomous operations throughout the power network. As a result, it is vital that we address both the definition of self-management policies and the design of the software to be deployed throughout the different devices of the Smart Grid. The design of this software layer involves constructing the Smart Grid software architecture and establishing the autonomous behaviour of the grid. This autonomous behaviour has to define the properties that are going to be monitored and their acceptable values, as well as the policies that have to be followed and automatically executed at run-time.
The company Indra Software Labs (ISL) and the research group SYstems and Software Technology (SYST) of the Technical University of Madrid (UPM) are working in close collaboration on the CENIT Spanish project ENERGOS and the ITEA project NEMO & CODED to address these Smart Grid challenges. From the results of ENERGOS and NEMO & CODED, ISL and UPM are constructing a framework to support the design of Smart Grids by providing mechanisms for: (i) designing distributed software architectures in an intuitive way by using concepts of the power network domain , (ii) defining the autonomy capabilities of software components, (iii) generating code from these designs, and (iv) simulating the behaviour of the Smart Grid software architecture and its autonomous capabilities by executing the generated code.
This framework is based on an innovative approach which integrates a model for specifying autonomous behaviour, and an architectural model designed for specifying Smart Grids. The autonomous model establishes a loop for monitoring those properties that have to be controlled, analysing their values, processing the collected values through the use of a set of established policies, and executing the needed commands to update the properties (see M2, Figure 1). On the other hand, the smart grid architectural model extends software architectural models with the concepts of the power network domain to facilitate the design and comprehension of the architectural design (see M1, Figure 1). The resulting model of this integration allows autonomous smart grid architectures to be defined. As a result, any specialist of the energy area would be able to define the configuration of power network devices by inherently defining the software architecture and specifying the network devices in which the software components are to be deployed, and by defining which properties, acceptable values and policies are to be considered for its autonomous behaviour. This model is provided by the framework that has been constructed, which offers an intuitive and graphical power network language (see M3, Figure 1).
Figure 1: Autonomous Smart Grid Architectural Model
Figure 2: Process for automatically simulating Autonomous Smart Grid Architectural Models
This framework follows a well defined process that consists of the configuration of autonomous smart grid architectures, the execution of model-to-code generation patterns and the execution of the generated code . Specifically, the generated code is Jade, and we are now working on refining this generation and the platform to systematize the simulation by executing the generated code (see Figure 2).
 S. Massoud and B.F. Wollenberg: “Toward a Smart Grid”, IEEE P&E Magazine 3(5), 2005
 J.O. Kephart and D.M. Chess: “The Vision of Autonomic Computing”, Computer, 36(1), IEEE, 2003
 S. Kelly and J.-P.Tolvanen: “Domain-Specific Modeling: Enabling Full Code Generation”, John Wiley & Sons, 2008.
Technical University of Madrid (UPM), Spain
Tel: +34 913367882