Javascript must be enabled to continue!
Debugging Parallel DEVS
View through CrossRef
To this day, debugging support for the DEVS formalism has been provided, at best, in an ad-hoc way. The intricacies of dealing with the interplay of different notions of (simulated) time, formalism semantics, and user input have not been thoroughly investigated. This paper presents a visual modeling, simulation, and debugging environment for Parallel DEVS, which builds on a theoretical foundation for debugging DEVS models. We take inspiration from both code debugging and the simulation world to model our environment; we transpose a set of useful code debugging concepts onto Parallel DEVS, and combine those with simulation-specific operations, such as as-fast-as-possible simulation and (scaled) real-time execution. Apart from these common debugging operations, we introduce new features to the debugging of Parallel DEVS models, such as “god events,” which can alter the model state during simulation, and reversible debugging, which allows one to go back in time. To achieve this, the PythonPDEVS simulator is deconstructed and reconstructed: the modal part of the simulator–debugger, as well as the debugging operations, are modeled using the Statecharts formalism. These models are combined, resulting in a model of the timed, reactive behavior of a debuggable simulator for Parallel DEVS. The code for the simulator is automatically synthesized from this model. To improve usability, we combine the simulator with a visual modeling environment, allowing for visual and interactive live debugging.
Title: Debugging Parallel DEVS
Description:
To this day, debugging support for the DEVS formalism has been provided, at best, in an ad-hoc way.
The intricacies of dealing with the interplay of different notions of (simulated) time, formalism semantics, and user input have not been thoroughly investigated.
This paper presents a visual modeling, simulation, and debugging environment for Parallel DEVS, which builds on a theoretical foundation for debugging DEVS models.
We take inspiration from both code debugging and the simulation world to model our environment; we transpose a set of useful code debugging concepts onto Parallel DEVS, and combine those with simulation-specific operations, such as as-fast-as-possible simulation and (scaled) real-time execution.
Apart from these common debugging operations, we introduce new features to the debugging of Parallel DEVS models, such as “god events,” which can alter the model state during simulation, and reversible debugging, which allows one to go back in time.
To achieve this, the PythonPDEVS simulator is deconstructed and reconstructed: the modal part of the simulator–debugger, as well as the debugging operations, are modeled using the Statecharts formalism.
These models are combined, resulting in a model of the timed, reactive behavior of a debuggable simulator for Parallel DEVS.
The code for the simulator is automatically synthesized from this model.
To improve usability, we combine the simulator with a visual modeling environment, allowing for visual and interactive live debugging.
Related Results
DEVSim++ Toolset for Defense Modeling and Simulation and Interoperation
DEVSim++ Toolset for Defense Modeling and Simulation and Interoperation
Discrete Event Systems Specification (DEVS) formalism supports the specification of discrete event models in a hierarchical and modular manner. Efforts have been made to develop th...
What is reverse debugging? Classification of reverse debugging methods
What is reverse debugging? Classification of reverse debugging methods
Abstract
The article discusses an approach to speeding up the search complex errors in software – reverse debugging. In this approach, debugging is divided into two ...
Streamlining Debugging with MDugger: Catching the Uncaught
Streamlining Debugging with MDugger: Catching the Uncaught
<p>This article is about our latest development in the field of automated software debugging. As experienced developers in the software industry, we have encountered the chal...
Streamlining Debugging with MDugger: Catching the Uncaught
Streamlining Debugging with MDugger: Catching the Uncaught
<p>This article is about our latest development in the field of automated software debugging. As experienced developers in the software industry, we have encountered the chal...
Comparison of active and dormant Mycobacterium tuberculosis DosR/DevR regulon polymerase chain reaction–restriction fragment length polymorphism patterns
Comparison of active and dormant Mycobacterium tuberculosis DosR/DevR regulon polymerase chain reaction–restriction fragment length polymorphism patterns
Abstract
Introduction
This retrospective cross-sectional study aimed to evaluate the differences between the restriction fragmen...
The Study of the Anti-Debugging Techniques and their Mitigations
The Study of the Anti-Debugging Techniques and their Mitigations
The major goal of this study is to provide anti-debugging and anti-reversing strategies/techniques employed by executables, DLLs, and packers/protectors, as well as to examine stra...
Nature Inspired Parallel Computing
Nature Inspired Parallel Computing
Parallel computing is more and more important for science and engineering, but it is not used so widely as serial computing. People are used to serial computing and feel parallel c...
Compiler Technology for Parallel Scientific Computation
Compiler Technology for Parallel Scientific Computation
There is a need for compiler technology that, given the source program, will generate efficient parallel codes for different architectures with minimal user involvement. Parallel c...


