A methodological approach to the development of a technological platform for intelligent integrated energy system modelling

. Modeling of intelligent integrated energy systems, which has a complex structure, is performed using specialized software, which is caused by the computational complexity of the models, methods and algorithms used. The paper lists the requirements for software for modeling intelligent integrated energy systems and concludes that it is necessary to develop a technological platform. A methodological approach to the development of a technological platform for modeling integrated energy systems is presented. The methodological approach includes the following components: principles of building a technological platform, architecture of a technological platform, and the structure of an ontology system, a method of automated integration of software components into a software system.


Introduction
The energy infrastructure of modern cities is complex and includes fuel, electricity, heat and cold supply systems. On the one hand, these systems have some functional independence, and on the other hand, they can interact with each other in the process of functioning, using energy carriers and interchangeability of primary energy resources. This shows their natural integration, which intensifies with the development and application of intelligent, information and telecommunication technologies. The issues of creating intelligent integrated energy systems are becoming relevant [1][2][3]. Modeling of integrated energy systems with a complex structure is performed using specialized software due to the computational complexity of the models, methods and algorithms. The authors have developed requirements for software for modeling integrated energy systems, among which the most important are the following: • modeling of integrated energy systems, which have a different composition of the types of energy supply systems and equipment, with a different set of graphical and mathematical models; • conducting scientific research in the field of creating methodological support for solving problems of expansion planning and control of integrated energy systems; • unified data presentation, which ensures their application in solving problems of graphical and mathematical modeling of integrated energy systems; • performing complex engineering calculations for the optimal transformation of integrated energy systems in order to increase the efficiency and reliability of their functioning; • solving the problems of expansion planning and control of integrated energy systems should be carried out within a single information space; • software implementation should be based on modern information technologies and programming paradigms. Based on the analysis of the existing software for modeling energy systems and the formulated requirements, it was concluded that it is necessary to develop a technological platform that should ensure the creation of a single information space and be the basis for the automated construction of software systems for modeling integrated energy systems. The elements of the platform should be built in accordance with the component programming paradigm, which will provide the ability to represent methods, algorithms and models in the form of elements of the software fund that are suitable for repeated use. On the other hand, the high difficulty of keeping an updated set of necessary software components requires the involvement of programming paradigms aimed at automating the stages of building software for the implementation of a technological platform.

Overview of approaches to software development
Existing approaches to software development are presented in [4][5][6]. The principles of creating universal software components are presented in [4]. The general principles of building complex software systems are considered in works [7,8]. In [9][10][11][12][13], the concept of Model-Driven Engineering (MDE) is proposed for automating the stages of building software. The MDE concept is a set of methodological approaches to the automated construction of complex software systems based on previously developed models [10]. In [14][15][16], the UML language is proposed as a universal tool of describing subject areas. In the process of automated construction of a software system, ontologies are used, which allow a formalized description of objects of the subject area, their properties and the relationship between these objects. Ontologies are becoming more and more widely used in solving engineering problems [17]. There are works that describe the experience of using ontologies to solve energy problems [18,19]. General issues in the development and use of ontologies are discussed in [20,21]. The basis for the development of methodological support and software is modern metaprogramming technologies. Metaprogramming is a type of programming associated with the creation of programs that generate other programs as a result of their work, or programs that change themselves during execution [22][23][24][25]. Reflective programming is a type of metaprogramming and is an extension of the objectoriented programming paradigm [26,27]. Reflective programming allows one to perform operations that cannot be performed in object-oriented programming. Reflective programming allows one to track the structure of a software system and dynamically change the composition of software components during its operation.

Methodological approach to creating a technology platform
The authors have developed a methodological approach to creating a technological platform for modeling integrated energy systems. The methodological approach includes the following components: • Principles of building a technological platform.
• Technology platform architecture.
• Composition and structure of the ontology system. • Method of automated integration of software components into a software system. The following principles of building a technological platform for modeling integrated energy systems are proposed: • a software system that implements the preparation of a computer model of an integrated energy system, the formation of conditions for solving an applied problem and carrying out calculations, consists of graphical and computing subsystems, which are built in the context of solving an applied problem on the basis of a technological platform; • a computer model of an integrated energy system is created graphically, and laborintensive stages of data structure formation are automated by knowledge from ontologies; • planning of the computational process for solving an applied problem is performed automatically on the basis of a computer model of the integrated energy system and knowledge from ontologies; • a software system that solves an applied problem is automatically built by tools of metaprogramming in the context of solving this problem, and software components that implement mathematical models and methods (algorithms) are dynamically integrated during the calculation; • the computing process is organized and performed automatically, while the operations of data preparation, storage and coordination of the calculation results are automated. The architecture of a technological platform for modeling integrated energy systems includes the following main components: a graphical subsystem, a computing subsystem, a supervisor, and a database access subsystem. Graphical subsystem is intended for working with graphical scheme of integrated energy systems and data on the elements of their schemes on the terrain plan. This system is responsible for the operation of the user with an active multi-level model of the integrated energy system on the terrain plan. Computing subsystem is designed to solve computational and analytical problems and consists of a library of software components. The library of software components includes the following components: • universal software components that implement methods and algorithms for solving applied problems; • software components that implement models of elements of integrated energy systems. Supervisor performs the following functions: • to carry out loading of the software components necessary for modeling by metaprogramming; • to manage the graphical subsystem; • to control the computing process, during which the sequence of calling the required software components is organized; • to manage the operation of the database access subsystem. During its work, the supervisor uses knowledge, the storage of which is organized in the problem ontology and the software ontology. Database access subsystem is designed to store and reuse a computer model of an integrated energy system, initial data and calculation results, graphical data on urban area.
The formal description of knowledge about the subject area in the form of ontologies makes it possible to reuse them in the automation of software construction. The technological platform includes an ontological system [27], which is used to solve the following tasks: automated construction of a software system; information content of the technological platform; the use of a technological platform in solving applied problems. The system of ontologies includes the following ontologies: metaontology, ontology of integrated energy systems, ontology of problems, and ontology of software. Metaontology is contains basic concepts that are used in the construction of applied ontologies. Ontology of integrated energy systems contains a description of the hierarchical structure of the integrated energy system construction, the classification of the equipment and its technical characteristics, a description of the elements and their properties, the classification and description of the mathematical models. Ontology of problems contains a description of applied problems, methods and algorithms for their solution, parameters that are initial data, and parameters obtained as a result of solving the problem. Ontology of software contains a description of software components and their properties, metadata (input and output parameters, a description of data formats) and a description of technologies and interfaces for accessing software components. The method of automated integration of software components into a software system is as follows. Each element of the modeled integrated energy system is represented by a separate software component and has a unique number. The storage of these components in memory is organized using hash tables. An illustration of the work of the method of automated integration of software components into a software system is shown in Figure 1. When a user creates a new element of a computer model of an integrated energy system, the model manager allocates memory to store a data structure describing this element. Then the user enters data on the properties of this element of the integrated energy system through the appropriate tools of the graphical interface. After that, the user selects a model that describes the characteristics of the equipment and sets the state of the item. The model manager checks if the required model component is connected, which implements the user-selected model of the integrated energy system element. If the required model is not available, then it is integrated into the platform from the library of graphical components by tools of reflective programming. When a model becomes available, the model number is entered into the data structure describing the new element of the integrated energy system. Once connected to the software system, the model component can be reused to represent the elements of the integrated energy system, the type and state of which corresponds to this model.

Conclusion
The paper presents a methodological approach to the development of a technological platform for integrated energy system modeling. The technological platform allows one to create a single information space and is the basis for the automated construction of software systems for integrated energy system modeling. The developed methodological approach includes the following components: principles for constructing a technological platform, architecture of a technological platform, composition and structure of an ontology system, a method for automated integration of software components into a software system. Using this methodological approach, a software prototype of the platform have been implemented. The software prototype of the platform have been used in the study of real and test schemes of integrated energy systems. On the basis of the prototype, the emergency conditions on the example of the electric and heat supply systems of one of the district of Irkutsk have been investigated. The methodology of demand management of electricity and heat in an integrated energy system with active consumers have been tested on a test scheme, for which optimal electricity and heat load profiles have been obtained. The calculations showed the possibility of using the platform with the proposed architecture for the study of integrated energy systems.