# CoSimulating Communication Networks and Electrical System for Performance Evaluation in Smart Grid
## 2 Related Work
To integrate the both simulation tools, authors implemented bidirectional interface between NS-2 and PSLF, therefore dynamic simulation of smart grid application can be achieved. GECO framework has similar challenging synchronization issue with EPOCHS. In GECO, the authors proposed a global event-driven synchronization method which can prevent the simulation errors which incur unwanted time delays which do not exist in a real system. In the method, there is an instance which performs iteration and repeatedly suspends/resumes the PSLF simulation to synchronize both simulations. However, there is a trade-off between iteration time step and the accuracy of the simulation. Shorter iteration time can make much more accurate simulation but requires much more simulation time. This issue is deeply analyzed in the paper. In [17], authors proposed a co-simulation for wide-area Smart Grid monitoring systems, integrating OMNET++ and OpenDSS. Authors point out the time management solution of EPOCHS and addresses their novel solution to remove the accumulation errors. However, although their time-stepped solution does not occur the accumulated errors, time-stepped approach could generate the control overhead and lead to the lower performance. OOCoSim proposes the efficient time management solution by considering the characteristics of the simulator components. The work in [18] proposed an integrated simulation framework for smart grid applications. In [18], the electrical distribution grid is modeled in MATLAB and linked to the OMNET++ modules. Since both power system and communication network models are simulated in the single domain, no synchronization problem is occurred. However, its applicability to diverse smart grid applications is limited. Some work already introduced the OPNET simulator to simulate wide area network in smart grid. In [19], the proposed simulation framework employs OPNET simulator and simplifies the power system as a virtual demander of the framework. Basically, the virtual demander manages the OPNET simulation. If the virtual demander needs to transmit data, it suspends itself and creates a data packet in OPNET. The transmission of the packet is simulated by OPNET, and the results are returned to the virtual demander. Since virtualized concept of the power system is introduced in the work, it can only generate limited simulation results in which the operations of the power system can be unrealistically simplified. In [20], OPNET simulator was employed to construct a testbed for the SCADA (SupervisoryControl and Data Acquisition) systems. The work tried to verify the vulnerability of the wide area network for the SCADA system in perspective of cyber security. In the work, power system is simulated in multiple computer with PowerWorld simulation tool, and the security attacks are generated and simulated in OPNET. Since the work concentrated on the cyber security in the SCADA system, it did not consider the dynamic interaction between the PowerWorld simulation and the OPNET simulation. In [21], a cosimulation system that employs OPNET for information simulation and OpenDSS for power system was addressed. The proposed system highly resembles OOCoSim since it uses the same simulators and shows similar architecture. However, some components of each system are distinctive, especially the _Coordinator_ and _Time synchronization_. In OOCoSim, the intermediate module abstracts the model of various smart grid application, while the main program of [21] only manages the control state of simulations. Furthermore, time synchronization scheme in [21] granularly divides the timeline of cosimulation and alternately runs OPNET and OpenDSS to avoid the failure of time synchronism. However, this design assumes that the information events invoked in a time slot do not affect the change of the state of power system simulated in power simulator of the same time slot. Our time synchronization scheme addressed in Section 3.2 holds the dependencies that should be kept in live cosimulation without any assumption.