In this paper, we propose and apply a model-driven approach to develop applications that compose a suite known as Energy Management System (EMS). EMS is an essential tool for the operation of electrical systems. Although models of cyber–physical phenomena are extensively used in planning, designing, and operating power systems, the development of EMS applications often uses such models only as support and documentation, while the main artifact throughout the software development process is source code. In other words, the models are used merely to document and communicate some aspects of a system. The evolution of such a system is expensive and error-prone, requiring specialized personnel, skilled in both software engineering and power systems. Some of the problems arising from this manual process include: (i) substantial implementation effort in interpreting models and manually translating them into programs; (ii) greater risk of introducing software defects; (iii) risk of leaving documentation outdated, or implementation inconsistent with the intended design. Model-Driven Engineering (MDE) is an approach to constructing computing systems in which models are used as primary engineering artifacts, while programs (and other products) are automatically generated from the models, thus addressing the above limitations. MDE approaches have been adopted in several industrial areas, including smart grid automation, in which specialized modeling languages and tools facilitate the production of executable software from high-level models. For SCADA/EMS software development, however, a dedicated approach is still absent. We address these issues by proposing D-SPADES: a Model-Driven Engineering approach tailored to the EMS domain. D-SPADES defines a domain-specific modeling language based on block diagram notation, called EMSML, specifically targeted to describe the behavior of EMS applications. It also defines the associated mapping strategies and harnesses a set of tools for automatically transforming models into source code of applications that can be integrated into existing SCADA platforms. We have applied D-SPADES to model and automatically generate source code for two different applications from the Itaipu power plant: a voltage and reactive power controller and a component for a system-wide special protection scheme. Both applications were validated using a power system simulator and performed satisfactorily. The special protection scheme was deployed to the production system. Hence we demonstrate that D-SPADES is a viable approach to developing mission-critical applications.
Read full abstract