# Rapid Prototyping of Multi-Functional Battery Energy Storage System Applications
## 3 Related Work and Background
### Smart Grid Control Application Development Approaches  
The development of smart grid control applications has been supported by a collection of approaches. Those are characterized by domain standards (SGAM, CIM, UML, etc. ), well recognized tools (MATLAB/Simulink, etc.) and frameworks (PSAL, etc.). A comparison that measures the applicability of them through the design, proof-of-concept and implementation phase is carried out in this section. A brief introduction to the approaches is firstly described below:  
* _Unified Modeling Language_: UML is a general-purpose language for an object-oriented software development [21]. It has been standardized by the Object Management Group (OMG) and approved as an ISO standard. UML specifies behavior and structural diagrams to model software applications. Thereby, it has been used in the power system domain to model use cases [22]. * _System Modeling Language (SysML)_: SysML is conceived as an extension of a subset of UML. It is mainly designed to support the system engineering process (i.e., specification, design). Thereby, elements in UML not required by systems engineering were excluded to conceive SysML [21]. * _IntelliGrid (IEC 62559)_: Intelligird introduces a methodology to document and detail smart grid UCs. From this, a UC template [23] that covers best practices to describe requirements engineering is originated. In those templates, a UC may be described by a visual representation (e.g., UML diagram). IEC 62559 is largely accepted by the power system community as an example the adoption of it by the ELECTRA project [22]. * _Smart Grid Architecture Model_: SGAM is introduced by the SG-CG/RA (Smart Grid Coordination Group/Reference Architecture) [24]. SGAM is conceived to model smart grid uses cases architecture in a technology-neutral manner. It consists of five interoperability layers, those layers are matched to a smart grid plane composed of domains and zones. The domains cover the electricity conversion chain (i.e., transmission, distribution, etc.). The zones cover the automation pyramid (i.e., process, field, etc.). An implementation of SGAM is conceived in [25] as a plugin of the Sparx Systems Enterprise Architecture tool, it is called SGAM-Tolbox (SGAM-TB). * _Power System Automation Language:_ PSAL is a DSL to model SGAM compatible use case specifications. It supports control engineers during the whole development process, from use case design to implementation and deployment. In addition to this, PSAL offers executable code and communication configuration file generation [7]. * _MATLAB/Simulink:_ This tool provides libraries to model and simulate electrical power systems. C-code generation is also contemplated for a rapid prototyping of MATLAB/Simulink models. Since this tool is largely accepted and employed in the power system domain, it is considered as a worthy approach to be analyzed along the control application development process. * _IEC 61499:_ This approach provides a reference model for Distributed Control Systems (DCS) in the domain of industrial processes. A main objective is to reach portability, configurability and interoperability across DCSs [9]. * _IEC 61131-3:_ IEC 61131 is an IEC standard supported by Programmable Logic Controller (PLC). One of the main goals of IEC 61131 is to standardize the programming approaches. Thus, the part IEC 61131-3 offers graphical and textual programming languages such as function block diagram and structured text among others [10]. A comparison of the aforementioned approaches is outlined in [6], covering mainly specification and design stages. A brief discussion of features analyzed at the design stage is addressed in the following. At the function level, data models for UCs and graphical representations to detail the structure and behavior of control applications are considered. Semantic data models of information within control applications and DERs devices are evaluated at the information level.