A Generalized Stepping Semantics for Model Debugging Simon Van Mierlo Yentl Van Tendeloo Hans Vangheluwe firstname.lastname@uantwerpen.be October 16, MDEbug’18, Copenhagen, Denmark
Motivation • MS4Me • DEVS Debugger (AToMPM) • DEVS-Suite • Statecharts Debugger (AToMPM)
Motivation • Non-Standard Vocabulary: • Step, Big Step, Small Step, Combo Step, Iteration, Run Until, ... • Differs per formalism, per tool • Confusing for Users • Tool Completeness? • New Languages
System Execution INPUT OUTPUT System EXECUTOR/INTERPRETER
Parallel DEVS Yentl Van Tendeloo and Hans Vangheluwe. Classic DEVS Modelling and Simulation. In Proceedings of the 2017 Winter Simulation Conference, pages 644-656, 2017. DOI: 10.1109/WSC.2017.8247822
Example Model (Traffic Light) Requirements : Design : 1. The traffic light should continuously cycle between the three lights in this order: green, yellow, red, green, yellow, red, ..., 2. The traffic light should stay green for 57 seconds, stay yellow for 3 seconds, and stay red for 60 seconds.
Debugging Process REQ1 REQ2 Simon Van Mierlo, Erwan Bousse, Hans Vangheluwe, Manuel Wimmer, Martin Gogolla, Matthias Tichy, and Arnaud Blouin. Report on the 1st international workshop on debugging in model-driven engineering (MDEbug'17) . In Proceedings of MODELS 2017 Satellite Events , volume 2019. CEUR-WS, September 2017.
Simulation Step REQ1 PDEVS Model REQ2
Black-Box Step: Output R2: The traffic light should stay green for 57 seconds, stay yellow for 3 seconds, and stay red for 60 seconds.
White-Box Step: State R2: The traffic light should stay green for 57 seconds, stay yellow for 3 seconds, and stay red for 60 seconds.
Implementation Step: R2: The traffic light should stay green for 57 seconds, Executor stay yellow for 3 seconds, and stay red for 60 seconds.
From Requirements to Implementation
Applications • Tool Completeness • Hybrid Languages • Domain-Specific Languages
Conclusion • Levels of Stepping: • Simulation, Black-Box, White-Box, Implementation • Based on System Execution • Requirement, Input/Output Trace, State Trace, Implementation Trace • Future Work: • Evaluation (+ iteration) • Map onto well-known formalisms • Language fragments
Recommend
More recommend