Establishing a standardizable holistic framework for CPES using co-simulation is a difficult and complex task because it requires a strong interoperability among the participating elements, especially in case of multiple partner involvement. This implies necessary efforts on harmonization, adaptation and eventually changes of actual employed standards and protocols in individual models to be able to integrate into holistic experiments.
Coupling different simulators introduces several new issues with respect to the classical modelling and simulation approaches. A generic layered structuration of co-simulation framework is therefore necessary to improve the interoperability of simulators as well as to highlight the intersection of domains and the issues that need to be solved in the process of designing a co-simulation framework. Based on existing models for generic interoperability [
12] and multi-modeling [
13,
14], a generic five layers structuration of a co-simulation framework can be proposed (cf.
Table 1).
2.2. Semantic Layer: Formal integration
The semantic layer concerns the signification and role of individual models in the general framework, as well as their in-between interactions. It is necessary to note that the models may be represented at different spatial and temporal scales, with possible intersection among their abstraction domains. In that boundary, one needs to consider and specify how information in a model can be perceived in another one (cf.
Figure 2). The interaction among models has to provide a semantic coherence throughout the whole system.
It is necessary to clarify that the notion of semantic layer here is addressed towards the co-simulation framework, and is not necessarily the semantic model of the energy system, although there is an overlapping area between the two concepts. More specifically, the semantic layer of a co-simulation framework explains the behavior and interaction of involved individual simulators and models, and not necessarily the semantic relations among their representing counterparts. It can be considered as an abstract layer specifying the experiments, and in some ways, similar to the concept of abstract test suite in TTCN-3 standard [
15]. The dichotomies and communication among entities defined in this layer will decide how the experiment works and will be governed by the master algorithm.
The required interoperability in semantic layer and in the following syntactic layer needs to be done via applying a common information model to the framework. However, taking into account that a co-simulation framework often includes multiple domains (e.g., power system, ICT, thermal), it may be necessary to include several existing information models and thus to resolve interfacing issues. It is recommended to employ standardized information models to promote reusability and the possibility of further integration of new elements into the framework.
2.3. Syntactic Layer
This layer of a co-simulation framework influences strongly the reusability of models and interoperability of the framework. In a co-simulation framework, each model comes from different scientific domains, and it is very likely that the employed formalisms are different. A consistent co-simulation framework has to manage and harmonize these differences. Not only it has to provides a meaningful and rigorous translation of inter-formalism information, but also, the differences in term of representation, underlying model of computation and spatial-temporal scale need to be handled (cf.
Figure 3).
In order to improve the reusability of models, it is required that the models are syntactic coherent. In general,
syntactic interoperability of a co-simulation framework often requires the utilization of ontologies (not only for modeling, but also for data exchange). As for power system, we acknowledge several information model standards issued by the International Electrotechnical Commission (IEC) that can be considered as candidates: IEC 61850 [
16], Multispeak (
http://multispeak.org) and Common Information Model (CIM) [
17,
18]. Object Linking and Embedding for Process Control - Unified Architecture (OPC UA) [
19] can also be implemented as a semi-information model when it is necessary to involve Supervisory Control and Data Acquisition (SCADA) system (i.e., hardware-in-the-loop situation). Several works are underway to harmonize the difference and to bring these standards together [
20,
21,
22]. There exist a few semiautomatic converters between their models [
23,
24,
25]. The mapping of ontological models to physical power system components and use-cases is classically implemented using hard-coding. One of the challenges is to enable auto-configuration of the topology of the considered CPES on-the-go and to update the database accordingly. In the case with CIM, an adaptive CIM compliant approach to resolve this challenge is proposed in [
26]. The utilization of ontology in CPES is mainly for exchanging data between applications and encapsulating entire power system models in a standardized manner. As aforementioned, the concept of syntactic layer in a co-simulation framework is not always the same and is often larger than just using an ontology. Not only should it include ontological information on individual parts of the system and their interconnections, but also specify the format, syntax of the interconnections among simulators and models, as well as specifications of interfacing ontologies of different domains or transition among different time scale, which are not covered by current existing ontologies.
While being very similar to semantic layer, the syntactic layer can be simply imagined as the manner in which semantic models and interactions are represented. The notions of semantic and syntactic layers here, even though involving the utilization of energy system ontologies (e.g., IEC 61850 or CIM), are larger and require also an experiment description ontology, e.g., TTCN-3 [
15]. These ontologies, if employed, can be considered as a common (or transitive) zone alongside the abstraction layers.
2.4. Dynamic Layer: Execution and Synchronization
The dynamic layer concerns executions aspects of a co-simulation framework. One needs to define the order of execution and causality of models as well as the resolution for potential conflict (i.e., cyclic dependency, deadlock) in simultaneity of actions. Synchronization techniques are necessary to ensure the consistency of the co-simulation outcome, especially when the framework consists of models with different model of computation (i.e., Continuous simulation and Discrete Event Simulation) or when the simulation is distributed (cf.
Figure 4).The necessary message payloads model should also be defined.
Even though it is not directly related to semantic layer, it is demonstrated that different choices in dynamic layer may lead to differences in the result of simulation [
27,
28].
In general, for the dynamic layer, the two main issues influencing the correctness and the reliability of a co-simulation framework are harmonization of models of computation and synchronization of simulators. Harmonization of different models of computation is also a critical problem because CPES often involves a juxtaposition of various domains, where their dynamic behavior requires different solvers and consequently various models of computation. On the other hand, one can ensure, via synchronization, that operations occur in the logically correct order, whether they proceed concurrently or they must obey causality. As the size of system increases (physically or by increasing the number of simulators) or as the speed of operation increases, synchronization plays an increasingly dominant role in the stability of the framework.
Models of computation can be classified as of [
29] : Imperative (e.g., Emulators), Finite State Machine (e.g., a set of states, rule-based control), Dataflow (e.g., ODEs, DEAs), Discrete Event (e.g., communication, zero-crossing), etc. Discrete Event simulation can be further broken down into: event scheduling, process interaction and activity scanning [
30].
Power system models are, in general, represented by continuous models which is also capable to produce events (e.g., zero crossing, switching, etc.). The continuous models often use the
imperative or
dataflow model of computation, in which the model react to the availability of data at their inputs by performing some computation, via mean of according solvers, and producing data on their outputs. Dataflow is concurrent with no notion of time. In general case of power system, the model is based on a set of differential equations defining the peculiarity of the state variables and the environment factors of a system (e.g., steady-state simulations, electromagnetic transients and circuit simulations, or electromechanical phenomena). ICT and market models are often represented in discrete events chaining over a discrete set of points in time (thus associated to discrete events model of computation). More specifically,
discrete event models are discrete, dynamic and stochastic in nature and are “run” whereas continuous model can be “run” or “solved” according to their models of computation [
31]. General speaking, the two most encountered MoC for CPES assessment are Dataflow and Discrete Event (
Figure 5), and they are most of the time, the subjects of harmonization.
As for synchronization techniques, two well established approaches are called conservative processing and optimistic processing. In general, the conservative approach requires all the participating simulators to wait for each other to finish their step before advancing to the next step. The synchronization is checked with time stamps, via Null Message algorithm [
32] or Global Synchronization approaches, such as: Bounded Lag algorithm [
33], Time Buckets [
34] or Composite Synchronization [
35]. On the other hand, the optimistic approach allows the individual simulators to advance on their own events. When a conflict is detected, then the simulators must perform a leap backwards (time warp [
36]) and discard the all the results from the moment in question.
2.5. Technical Layer: Implementation and Evaluation
This layer involves the choices of techniques for implementation and the evaluation of results. Various practical issues need to be considered: the choice of distributed or centralized simulation, global model of computation, technical implementation of interface or latency assessment. As co-simulation requires many coupling of simulators, it is necessary to consider in the end, the reliability, efficiency of the coupling, the stability of co-simulation framework (especially in cases involving hardware-in-the-loop), as well as to evaluate the robustness and accuracy of the results (cf.
Figure 6). An in-depth discussion on the technical aspects of co-simulation is however further than the scope of this paper (i.e., conceptual structuration).
The structuration proposed in this section is important to classify different models in a co-simulation framework into their according level of abstraction. It provides insights to identify the potential issues as well as to search for solution for coupling across different scale and abstraction level. As a consequence, the modularity, scalability and interoperability of a co-simulation framework might be improved.
In the context of this paper, we are interested also, in next sections, different existing coupling methods and synchronization techniques for co-simulation as well as their position with respect to the proposed structuration. It would provide a methodological and structural review on the state of art in co-simulation for CPES assessment.