Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
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

How developers debug
How developers debug
Debugging software is an inevitable chore, often difficult and more time-consuming than expected, giving it the nickname the “ dirty little secret of computer science.” Surprisingl...
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 ...
A Debugging Game for Probabilistic Models
A Debugging Game for Probabilistic Models
One of the major advantages of model checking over other formal methods is its ability to generate a counterexample when a model does not satisfy is its specification. A counterexa...
Strategi Teknik Debugging untuk Sistem Operasi Windows
Strategi Teknik Debugging untuk Sistem Operasi Windows
The debugging process is a critical step in software development, especially for the Windows operating system, which offers various tools and techniques to address software issues....
Oldest Population of Caucasus According to Mythological Data
Oldest Population of Caucasus According to Mythological Data
According to mythological data ancient population of Caucasus was represented by Giants. Among them are one-eyed Goliaths also. Theymainly appear as shepherds. Goliaths obtained al...
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...

Back to Top