# Smart Grid Testing Management Platform (SGTMP) +
## 2 Background
### Smart Grid Testing Requirements
They are primarily required for knowing about the entire SG topology and come into play in system-wide simulations, where all SG components must be tested. _Type A_ devices are part of the SG and are thus sending data to other parts of the grid, receiving data from other parts of the grid or external systems. These devices do not have to be software only: they can be, for example, weather stations used for predicting the power output of photovoltaic panels. By sending commands to other components, they can influence the state of the SG. In the SG domain, these types of devices are primarily control systems (e.g., supervisory control and data acquisition (SCADA) control systems). _Type C_ devices are a combination of _Type A_ and _Type B_ devices; therefore, the simulation environment must be capable of interacting and simulating parts of both the power grid and the information exchange network. _Type D_ devices are mainly concerned with simulation and study of cyber-physical attacks on the SG. By being able to test cyber-physical attacks, it is possible to evaluate SG safety and identify potential attack vectors. Once an attack is taking place in a testing environment, it can be further used for automatic anomaly and intrusion detection on the network. **Network analysis** can be either real-time, or it can be run after the testing process has finished--if it requires a significant amount of processing. Additionally, the testing environment should support features such as controllable packet loss, congestion simulation, and variable network bandwidth. The **evaluation of SG testing** is another important requirement [26; 27]. Extensive interaction captures between all of the devices under test, and any outside interactions with the system need to be considered. No interactions should be done outside of the simulation/testing environment, since these interactions cannot be captured, reproduced, and analyzed, leading to unreproducible tests. In an ideal situation, if all of the data exchange and state data is captured, it should be possible to \"play back\" the entire testing process or observe the state of any device at a specific point in time. For long-running tests, this is a critical requirement, as it can be infeasible to re-run the tests to recreate the exact circumstances of the failure. These requirements lead to the next one: **handling large amounts of data for processing and storage**. If the state of the tests has to be recorded at each specific time, there must be a logging system in place to handle processing of all of this data and subsequent storage for future retrieval. For real-time systems, the logging system must also process data continuously for extended periods of time (days to months) without failure. Extensive logging can also aid in analyzing component or whole system crashes and aid in determining the root cause of a device failure (e.g., destruction and firmware inoperability) where the device is no longer operational and data cannot be retrieved directly. Another requirement is being able to **view the testing state and state of the devices during the testing/simulation process** to immediately know the state of all devices. This can be used to detect any possible faults early in the process, saving time. An SG can be deployed to many locations and it can span several cities, regions, and countries. It is therefore essential to test an SG not only for one specific topology but for **multiple possible topologies**[27; 28]. The topology of the SG to be deployed is not always known in advance during the evaluation phase. It can be desirable to know if the created SG model will generalize to multiple possible topologies. This result can be accomplished by generating various SG topologies, either automatically as in [28] or based on real-world data and requirements. From the point of view of **integrating different simulators**, the testing platform must support several types of simulators made by several companies and with no guarantees of compatibility [27].