Simulation Monitors (DANSE) - overview
A simulation monitor is a “device” (software or hardware) that observes the progress of simulation and can detect and report specified behaviors of the simulated model. Simulation normally supports a simpler interface to the dynamic state of the internals of the simulated system than is supported by hardware interfaces to the actual system. Simulation monitors can be used to accumulate statistical information on the system behavior - e.g. for the purpose of performance evaluation. In the case of HW simulation monitors are heavily used for the purpose of checking whether the system behaved correct during test simulation, and for measuring the coverage of desired test objectives during test simulation. In this activity we are advancing the technology of simulation monitoring to the systems-engineering domain, We will focus on a language for specifying the monitors (the collection of system behavior that should be detected by the monitors), on various methods that the monitor can use to access the dynamic state of the system resources, and on an action language that the user can use to describe what the monitor should do when the specified behaviors are detected. We will also work on the automatic synthesis of actual simulation monitors from their formal definition in our monitor-specification-language. We will consider discrete and hybrid (continuous) simulated models. The long term goal of the activity is the introduction of a verification methodology based on checking and coverage simulation monitors. The monitors will be automatically synthesized from formal monitor specifications. This should be generic enough to apply to various simulators used in the systems-engineering domain (like discrete SysML simulation in Rhapsody, or hybrid simulation with Simulink or Modelica). The methodology can be complemented with an intelligent analysis of the monitored information for the purpose of improving the monitored test-cases towards higher-quality testing.