Interactive Simulation

Architecture of SIMVA-SoS

 

Figure shows the whole architecture of SIMVASoS. SIMVA-SoS can be divided into two modules: SIMVASoS simulator and SIMVA-SoS verifier. The SIMVA-SoS simulator has three inputs: SoS model, default scenario, and stimulus. The first two inputs must be defined before running the simulation, and the last input can be defined before or during the simulation. The SIMVA-SoS simulator has a user interface for interactive simulation. Interactive simulation allows users to modify the model or scenario through the injection of a stimulus during the simulation. If the model or scenario is changed through the interactive simulator, these changes are reflected in the simulation. At the end of the simulation, the execution results, that is, the logs of the simulation, are saved in a storage device. After the simulation, the verification process is executed. For the verification, a verification property must be defined in advance. We defined abstract verification property classes for various types of verification properties that can be used in diverse domains. During verification, the statistical verification algorithm runs and the verification result is produced.

Interactive Simulator for SoS

To reflect the characteristics, we implement the interactive simulator based on the structure of discrete-time and multiagent simulation. A discrete-time simulation structure is used to reflect evolutionary development in the simulator. The interactive simulator enables users to inject new scenario events during the simulation. The discrete-time simulation structure, which updates all system states in all discrete times, allows the user to inject new scenario events during the simulation. We applied discrete time simulation to the SoS simulation, resulting in a structure that updates the state of every CS at every tick.

In the user’s perspective in figure, the user sets up the simulation scenario, simulation policy, and simulation configuration before running the simulation. After running the simulation, the user can interrupt the simulation at any time during the simulation. When the user interrupts the simulation, the simulation stops while maintaining the current simulation state. Then, the user can inject a new scenario event. The
user can resume the simulation after injecting scenario events. When the simulation is resumed, the simulation continues from the point where the simulation was stopped. The user can observe the injected scenario event and progress of the simulation through the GUI. After the simulation is finished, the user can analyze the simulation results.

In the simulation engine’s perspective in figure, the simulation scenario, policy, and configuration are reflected into the simulation. When the simulation runs, scenario events that have been defined by the user are updated in the simulation engine. Further, scenario events that are injected by the user during the simulation are updated in the simulation engine when the user resumes the simulation. After updating the scenario
events, the simulation engine increments the simulation time by one tick. Here, a tick is the logical execution time of the simulation. The simulation engine executes scenario events that need to be executed through logic time. For example, suppose we have a scenario event where we add one firefighter at 30 ticks. If the logical time of the simulation increases from 29 ticks to 30 ticks, the scenario event is triggered at this point. In other words, one firefighter is added to the simulation. The process of this loop repeats until the simulation is finished. When the simulation is finished, the simulation engine stores all scenario events applied to the simulation. In addition, simulation logs and result reports are generated for the simulation.

 

Related Publications

  • Park, S., Shin, Y. J., Hyun, S., & Bae, D. H. (2020, June). SIMVA-SoS: Simulation-based Verification and Analysis for System-of-Systems. In 2020 IEEE 15th International Conference of System of Systems Engineering (SoSE) (pp. 575-580). IEEE.