A Generalized Stepping Semantics for Model Debugging

Simon Van Mierlo, Yentl Van Tendeloo, Hans Vangheluwe
2018 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems  
Stepping is arguably one of the most important operations for model execution, and model debugging specifically. Each formalism, however, has a different set of supported stepping operations (e.g., big step, combo step, and small step). Furthermore, many tools provide a different terminology for these different steps (e.g., small step, micro step, and epsilon step). As such, the exact semantics of stepping is unknown to the modellers, and might even differ between different tools. Additionally,
more » ... tool developers have no framework to check whether they have implemented all useful stepping operations for their formalism. In this paper, we define a hierarchical terminology of stepping operations to provide a generalized vocabulary for both users and developers of debuggers. We distinguish four "levels" of stepping operations, related to the available knowledge in the execution trace. From a high to low level of abstraction, we term them simulation stepping, black-box stepping, white-box stepping, and implementation stepping. After introducing the framework and terminology, we apply it to a number of already existing debuggers for a large variety of formalisms.
dblp:conf/models/MierloTV18 fatcat:hilywjns2bavxjboybeukwewce