SlideShare a Scribd company logo
1 of 26
Download to read offline
Erwan Bousse, Jonathan Corley, Benoit Combemale,
Jeff Gray and Benoit Baudry
Companion webpage: http://gemoc.org/sle15-omniscientdebugging
Efficient and Advanced
Omniscient Debugging for xDSMLs
8th ACM SIGPLAN Int'l Conf. on Software Language Engineering (SLE 2015)
Pittsburgh, PA, USA
October 27, 2015
(Domain-Specific) Behavioral models
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15) - 2
• Various engineering: software
engineering, systems engineering,
enterprise architecture, scientific
modeling...
• Various domains: Business Processes,
Orchestrations, Functional chains,
Activities, Protocoles, Scenarios...
• Various analysis techniques for
checking behavioral properties (early
V&V)
Stepwise debugging
- 3
• Stepwise Debugging: find the cause of a defect by manually
observing and controlling execution
• Central dynamic V&V activity
Resume
Stop
Pause
Step into
Step over
Step out
Visualization of
the current state
Breakpoints
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Stepwise debugging
- 4
• Intuitive model comprehension technique
• No abstraction gap
• Better turn-arounds
⇒ Fast convergence towards an acceptable design
Resume
Stop
Pause
Step into
Step over
Step out
Visualization of
the current state
Breakpoints
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Omniscient debugging
- 5
• Stepwise debuggers only go forward
• Omniscient debuggers go forward and backward
• Omniscient debuggers typically rely on an execution trace
storing previous states.
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Brief recap about the terminology
- 6
Weak omniscient debugging,
ie., restart the execution (without any trace)
Omniscient debugging
(with an executiontrace)
Multidimensional
omniscient debugging
(part of our contribution)
Multidimensional
exploration
Backward
exploration
Stepwise debugging
Deterministic,
without engine
restart
Forward
exploration
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Debuggers for all languages… ?
- 7
• Most GPLs have their own efficient stepwise debugger
• Java: Jdb, Python: Pdb, C: Gdb
• IDEs also typically include a stepwise debugger
• Visual Studio, Eclipse
• Omniscient debuggers were originally introduced for GPLs
• Java: [Pothier2009], Chronon (commercial).
How to provide omniscient debugging to any
executable domain-specific modeling language (xDSML)?
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Example of an xDSML
- 8
• We focus on operational semantics, defined as a set of
transformation rules
• Abstract syntax properties (e.g. initialTokens) are immutable
• Execution metamodel properties (e.g. tokens) are mutable
Abstract Syntax
input
1..*
output
1..*
Place
+name: string
+initialTokens: int
Transition
+name: string
transitions
*
places
*
imports
merges
Execution Metamodel
Place
+tokens: int
Operational Semantics (summarized)
: while there is an enabled transition, fires it.
: returns true if tokens > 0 for each input Place, false otherwise.
: removes a token from each input Place and adds a token to each output Place.
run(Net)
isEnabled(Transition)
fire(Transition)
Net
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Example of an omniscient debugger for xDSML
- 9
è Possible to identify a common set of omniscient debugging facilities
for all xDSMLs (e.g., step into or step over)
(4) backOut
(1) stepInto (3) backInto
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Challenges
- 10
• Generic omniscient debugger supporting any xDSML?
• Two key problems:
1. Genericity requires additional processing (e.g., introspection)
impacting responsiveness
2. Execution states of an xDSML can be arbitrarily complex,
impacting understandability
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Approach overview
- 11
Solution: partially generic debugger including
1. Efficient generated domain-specific trace management facilities
(for better responsiveness)
2. Advanced multidimensional omniscient debugging services
(for better understandability)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
1- Efficient Omniscient Debugging
- 12
Generated trace Manager/metamodel and
Generic execution engine and debugger
Execution
Metamodel
DS Trace Manager
(generated)
xDSML
Depends on /
Uses
conf.to
Produces
Modifies
Generators
Operational
Semantics
Generic Multidim.
Omniscient
Debugger
Execution
Engine
Executable
Model
conf.to
Trace
Metamodel
Interface
State
Manager
DS Trace
Metamodel
(generated)
Domain-
Specific (DS)
Execution Trace
Trace
Constructor
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
1- Efficient Omniscient Debugging
- 13
Generated domain-specific trace metamodel/manager
• Trace Metamodel Interface
• Provide generic access to domain-specific trace models for
the debugger (e.g. to provide visualization of the execution
trace)
• State manager
• Allows the debugger to restore the model to a prior state (e.g.
to implement back stepping)
• Trace constructor
• Allows the execution engine to construct the trace during the
execution
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
1- Efficient Omniscient Debugging
- 14
Generic execution engine and debugger
• Execution engine: applies the transformation rules of the
operational semantics
• Must provide facilities to pause/resume the execution
• Must notify other components when steps start/end
• Generic Debugger: generically implements advanced
omniscient debugging services
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
2- Advanced Omniscient Debugging
- 15
• Stepwise modified for Omniscient Traversal
• Play, Pause, Stop, StepInto, StepOut, StepOver
• Omniscient Traversal Features mirroring Stepwise
• PlayBack, BackInto, BackOut, BackOver
• Advanced Omniscient Multidimensional Traversal
• StepByValue, BackStepByValue
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
2- Advanced Omniscient Debugging
- 16
p1
p3
p2
p4
p5
t1
t2
t3
B
fire(t1) fire(t2)
run(net)
p1
p3
p2
p4
p5
t1
t2
t3
A
p1
p3
p2
p4
p5
t1
t2
t3
C
Model
States
P1
Values
P2
Values
P3
Values
P4
Values
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Example of the trace metamodel for Petri nets
- 17
• Precisely captures the possible content of the traces of an xDSML
• Based on prior work [Bousse et al. ECMFA 2014]
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Implementation within the GEMOC Studio
- 18Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Implementation within the GEMOC Studio
- 19
• The GEMOC Studio provides
• A language workbench to implement xDSMLs
• A modeling workbench to use xDSMLs, incl. an execution engine
and an addon interface
• Additional addons for omniscient debugging
• 1 Generated addon specific to the xDSML (trace manager)
• 2 Generic addons (debugger and view)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
- 20
• Graphical animation
• Breakpoint definition on model element
• Multi-dimensional and efficient trace
management
• Model debugging facilities (incl., timeline,
step backward, stimuli management, etc.)
• Concurrency simulation and formal analysis
ActivityDiagramDebugger
https://github.com/gemoc/activitydiagram
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
- 21
ArduinoDesigner(&Debugger)
https://github.com/gemoc/arduinomodeling
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
- 22
https://github.com/gemoc/farmingmodeling
FarmingSystemModeling
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Evaluation
- 23
• Research questions
• RQ#1: Is our approach more efficient in memory as compared
to a weak omniscient debugger and to a clone-based omniscient
debugger?
• RQ#2: Is our approach more efficient in time for omniscient
debugging services as compared to a weak omniscient debugger
and to a clone-based omniscient debugger?
• Comparison with
• Clone-based omniscient debugger: creates a trace by copying a
snapshot of the model at each step (uses EMF Compare to restore a
state in the model)
• Weak omniscient debugger: does not create any trace (uses stepwise
execution features to restore a state by re-executing from the start)
Usability not evaluated
(future work)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Evaluation
- 24
• fUML xDSML implemented using Kermeta and Ecore within the
GEMOC Studio
• fUML models from the semantic differencing case study of Maoz
et al. [1]
• 40 models with sizes ranging from 36 to 51 objects
• Data collected in a reproducible way through a programmatic use
of GEMOC Studio’s engine.
• Each result is an average value computed from five identical
measure
[1] http://www.se-rwth.de/materials/semdiff/
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Evaluation
- 25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0.1
1
10
100
TIME(MS)
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
0.1
1
10
100
TIME(MS)
MultiDimDebugger CloneBasedDebugger WeakDebugger
Efficiency
in memory
Efficiency
in time
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
Conclusion and Perspectives
- 26
• Context: Omniscient debugging is a powerful dynamic V&V
approach for designers
• Problem: Handling any xDSML is difficult because of efficiency
and understandability
• Contribution: partially generic debugger with generated domain-
specific trace metamodel/manager
• Results: more efficient in time and memory than a clone-based
and weak omniscient debugger
• Perspectives:
• Domain-specific debugging services (cf. [Chiş et al., SLE 2014])
• Temporal properties to define breakpoints
• Support external stimuli / concurrency in operational semantics
• User study to validate the benefits of (multidimensional) omniscient
debugging for designers
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)

More Related Content

What's hot

Randomization and Constraints - Workshop at BMS College
Randomization and Constraints - Workshop at BMS CollegeRandomization and Constraints - Workshop at BMS College
Randomization and Constraints - Workshop at BMS CollegeRamdas Mozhikunnath
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_finalsean chen
 
CSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersCSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersDhiviya Rose
 
[Capella Day 2019] Model execution and system simulation in Capella
[Capella Day 2019] Model execution and system simulation in Capella[Capella Day 2019] Model execution and system simulation in Capella
[Capella Day 2019] Model execution and system simulation in CapellaObeo
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog Ramdas Mozhikunnath
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorialsguestbcfac5
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocksNirav Desai
 
Generative Software Development. Overview and Examples
Generative Software Development. Overview and ExamplesGenerative Software Development. Overview and Examples
Generative Software Development. Overview and ExamplesEelco Visser
 
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systemsTMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systemsIosif Itkin
 
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVCUpgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVCFPGA Central
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on EmulatorsDVClub
 
Constraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons LearnedConstraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons LearnedPeter van Beek
 
Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019
Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019 Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019
Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019 Unity Technologies
 
Modeling & Simulation of CubeSat-based Missions'Concept of Operations
Modeling & Simulation of CubeSat-based Missions'Concept of OperationsModeling & Simulation of CubeSat-based Missions'Concept of Operations
Modeling & Simulation of CubeSat-based Missions'Concept of OperationsObeo
 
Deterministic Galois: On-demand, Portable and Parameterless
Deterministic Galois: On-demand, Portable and ParameterlessDeterministic Galois: On-demand, Portable and Parameterless
Deterministic Galois: On-demand, Portable and ParameterlessDonald Nguyen
 

What's hot (19)

Jonathan bromley doulos
Jonathan bromley doulosJonathan bromley doulos
Jonathan bromley doulos
 
Randomization and Constraints - Workshop at BMS College
Randomization and Constraints - Workshop at BMS CollegeRandomization and Constraints - Workshop at BMS College
Randomization and Constraints - Workshop at BMS College
 
Uvm presentation dac2011_final
Uvm presentation dac2011_finalUvm presentation dac2011_final
Uvm presentation dac2011_final
 
CSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to ComputersCSEG1001 Lecture 1 Introduction to Computers
CSEG1001 Lecture 1 Introduction to Computers
 
[Capella Day 2019] Model execution and system simulation in Capella
[Capella Day 2019] Model execution and system simulation in Capella[Capella Day 2019] Model execution and system simulation in Capella
[Capella Day 2019] Model execution and system simulation in Capella
 
system verilog
system verilogsystem verilog
system verilog
 
SOC Verification using SystemVerilog
SOC Verification using SystemVerilog SOC Verification using SystemVerilog
SOC Verification using SystemVerilog
 
Functial Verification Tutorials
Functial Verification TutorialsFunctial Verification Tutorials
Functial Verification Tutorials
 
System verilog verification building blocks
System verilog verification building blocksSystem verilog verification building blocks
System verilog verification building blocks
 
MPHS RC Design Flow
MPHS RC Design FlowMPHS RC Design Flow
MPHS RC Design Flow
 
Generative Software Development. Overview and Examples
Generative Software Development. Overview and ExamplesGenerative Software Development. Overview and Examples
Generative Software Development. Overview and Examples
 
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systemsTMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
 
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVCUpgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
 
Coverage Solutions on Emulators
Coverage Solutions on EmulatorsCoverage Solutions on Emulators
Coverage Solutions on Emulators
 
Constraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons LearnedConstraint Programming in Compiler Optimization: Lessons Learned
Constraint Programming in Compiler Optimization: Lessons Learned
 
Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019
Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019 Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019
Intrinsics: Low-level engine development with Burst - Unite Copenhagen 2019
 
Modeling & Simulation of CubeSat-based Missions'Concept of Operations
Modeling & Simulation of CubeSat-based Missions'Concept of OperationsModeling & Simulation of CubeSat-based Missions'Concept of Operations
Modeling & Simulation of CubeSat-based Missions'Concept of Operations
 
Unit 3 part2
Unit 3 part2Unit 3 part2
Unit 3 part2
 
Deterministic Galois: On-demand, Portable and Parameterless
Deterministic Galois: On-demand, Portable and ParameterlessDeterministic Galois: On-demand, Portable and Parameterless
Deterministic Galois: On-demand, Portable and Parameterless
 

Similar to Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)

SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
Ehsan parallel accelerator-dec2015
Ehsan parallel accelerator-dec2015Ehsan parallel accelerator-dec2015
Ehsan parallel accelerator-dec2015Christian Peel
 
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"Fwdays
 
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Benoit Combemale
 
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...Embarcados
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
Simulink Stateflow workshop
 Simulink Stateflow workshop Simulink Stateflow workshop
Simulink Stateflow workshopMATLABISRAEL
 
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech UpdateAdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Updatejamieayre
 
Building Domain-Specific Decision Models
Building Domain-Specific Decision ModelsBuilding Domain-Specific Decision Models
Building Domain-Specific Decision ModelsJacob Feldman
 
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...Intel® Software
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems James Hill
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Prabindh Sundareson
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareJustin Basilico
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...MLconf
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksMarkus Scheidgen
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 

Similar to Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015) (20)

SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
Ehsan parallel accelerator-dec2015
Ehsan parallel accelerator-dec2015Ehsan parallel accelerator-dec2015
Ehsan parallel accelerator-dec2015
 
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
 
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
Engineering Executable DSMLs (xDSMLs ) for model executability, animation and...
 
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
Webinar: Começando seus trabalhos com Machine Learning utilizando ferramentas...
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Simulink Stateflow workshop
 Simulink Stateflow workshop Simulink Stateflow workshop
Simulink Stateflow workshop
 
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech UpdateAdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
 
Building Domain-Specific Decision Models
Building Domain-Specific Decision ModelsBuilding Domain-Specific Decision Models
Building Domain-Specific Decision Models
 
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011
 
Java Micro-Benchmarking
Java Micro-BenchmarkingJava Micro-Benchmarking
Java Micro-Benchmarking
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning Software
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
 
Generation of Random EMF Models for Benchmarks
Generation of Random EMF Models for BenchmarksGeneration of Random EMF Models for Benchmarks
Generation of Random EMF Models for Benchmarks
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 

More from Benoit Combemale

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringBenoit Combemale
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesBenoit Combemale
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Benoit Combemale
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019Benoit Combemale
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioBenoit Combemale
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsBenoit Combemale
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Benoit Combemale
 
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Benoit Combemale
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conferenceBenoit Combemale
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSBenoit Combemale
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Benoit Combemale
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewBenoit Combemale
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for SustainabilityBenoit Combemale
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingBenoit Combemale
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC StudioBenoit Combemale
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLBenoit Combemale
 

More from Benoit Combemale (20)

When Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software EngineeringWhen Scientific Software Meets (Model-Driven) Software Engineering
When Scientific Software Meets (Model-Driven) Software Engineering
 
Table ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciencesTable ronde: les sciences du logiciel au croisement des autres sciences
Table ronde: les sciences du logiciel au croisement des autres sciences
 
Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)Towards Smart Modeling (Environments)
Towards Smart Modeling (Environments)
 
SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019SLE Most Influential Paper (MIP) Awards 2018 and 2019
SLE Most Influential Paper (MIP) Awards 2018 and 2019
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
Smart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering ModelsSmart Modeling: On the Convergence of Scientific and Engineering Models
Smart Modeling: On the Convergence of Scientific and Engineering Models
 
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
 
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conference
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
 
Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)Inria/CWI ALE team (progresses in Sep., 2017)
Inria/CWI ALE team (progresses in Sep., 2017)
 
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of ViewSound, yet Flexible, Modeling: A Language Engineering Point Of View
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
 
Modeling for Sustainability
Modeling for SustainabilityModeling for Sustainability
Modeling for Sustainability
 
Dynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented ModelingDynamic V&V in Language-Oriented Modeling
Dynamic V&V in Language-Oriented Modeling
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Concurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCMLConcurrency reification in the xDSML with MoCCML
Concurrency reification in the xDSML with MoCCML
 

Recently uploaded

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 

Recently uploaded (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 

Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)

  • 1. Erwan Bousse, Jonathan Corley, Benoit Combemale, Jeff Gray and Benoit Baudry Companion webpage: http://gemoc.org/sle15-omniscientdebugging Efficient and Advanced Omniscient Debugging for xDSMLs 8th ACM SIGPLAN Int'l Conf. on Software Language Engineering (SLE 2015) Pittsburgh, PA, USA October 27, 2015
  • 2. (Domain-Specific) Behavioral models Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15) - 2 • Various engineering: software engineering, systems engineering, enterprise architecture, scientific modeling... • Various domains: Business Processes, Orchestrations, Functional chains, Activities, Protocoles, Scenarios... • Various analysis techniques for checking behavioral properties (early V&V)
  • 3. Stepwise debugging - 3 • Stepwise Debugging: find the cause of a defect by manually observing and controlling execution • Central dynamic V&V activity Resume Stop Pause Step into Step over Step out Visualization of the current state Breakpoints Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 4. Stepwise debugging - 4 • Intuitive model comprehension technique • No abstraction gap • Better turn-arounds ⇒ Fast convergence towards an acceptable design Resume Stop Pause Step into Step over Step out Visualization of the current state Breakpoints Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 5. Omniscient debugging - 5 • Stepwise debuggers only go forward • Omniscient debuggers go forward and backward • Omniscient debuggers typically rely on an execution trace storing previous states. Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 6. Brief recap about the terminology - 6 Weak omniscient debugging, ie., restart the execution (without any trace) Omniscient debugging (with an executiontrace) Multidimensional omniscient debugging (part of our contribution) Multidimensional exploration Backward exploration Stepwise debugging Deterministic, without engine restart Forward exploration Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 7. Debuggers for all languages… ? - 7 • Most GPLs have their own efficient stepwise debugger • Java: Jdb, Python: Pdb, C: Gdb • IDEs also typically include a stepwise debugger • Visual Studio, Eclipse • Omniscient debuggers were originally introduced for GPLs • Java: [Pothier2009], Chronon (commercial). How to provide omniscient debugging to any executable domain-specific modeling language (xDSML)? Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 8. Example of an xDSML - 8 • We focus on operational semantics, defined as a set of transformation rules • Abstract syntax properties (e.g. initialTokens) are immutable • Execution metamodel properties (e.g. tokens) are mutable Abstract Syntax input 1..* output 1..* Place +name: string +initialTokens: int Transition +name: string transitions * places * imports merges Execution Metamodel Place +tokens: int Operational Semantics (summarized) : while there is an enabled transition, fires it. : returns true if tokens > 0 for each input Place, false otherwise. : removes a token from each input Place and adds a token to each output Place. run(Net) isEnabled(Transition) fire(Transition) Net Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 9. Example of an omniscient debugger for xDSML - 9 è Possible to identify a common set of omniscient debugging facilities for all xDSMLs (e.g., step into or step over) (4) backOut (1) stepInto (3) backInto Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 10. Challenges - 10 • Generic omniscient debugger supporting any xDSML? • Two key problems: 1. Genericity requires additional processing (e.g., introspection) impacting responsiveness 2. Execution states of an xDSML can be arbitrarily complex, impacting understandability Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 11. Approach overview - 11 Solution: partially generic debugger including 1. Efficient generated domain-specific trace management facilities (for better responsiveness) 2. Advanced multidimensional omniscient debugging services (for better understandability) Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 12. 1- Efficient Omniscient Debugging - 12 Generated trace Manager/metamodel and Generic execution engine and debugger Execution Metamodel DS Trace Manager (generated) xDSML Depends on / Uses conf.to Produces Modifies Generators Operational Semantics Generic Multidim. Omniscient Debugger Execution Engine Executable Model conf.to Trace Metamodel Interface State Manager DS Trace Metamodel (generated) Domain- Specific (DS) Execution Trace Trace Constructor Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 13. 1- Efficient Omniscient Debugging - 13 Generated domain-specific trace metamodel/manager • Trace Metamodel Interface • Provide generic access to domain-specific trace models for the debugger (e.g. to provide visualization of the execution trace) • State manager • Allows the debugger to restore the model to a prior state (e.g. to implement back stepping) • Trace constructor • Allows the execution engine to construct the trace during the execution Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 14. 1- Efficient Omniscient Debugging - 14 Generic execution engine and debugger • Execution engine: applies the transformation rules of the operational semantics • Must provide facilities to pause/resume the execution • Must notify other components when steps start/end • Generic Debugger: generically implements advanced omniscient debugging services Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 15. 2- Advanced Omniscient Debugging - 15 • Stepwise modified for Omniscient Traversal • Play, Pause, Stop, StepInto, StepOut, StepOver • Omniscient Traversal Features mirroring Stepwise • PlayBack, BackInto, BackOut, BackOver • Advanced Omniscient Multidimensional Traversal • StepByValue, BackStepByValue Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 16. 2- Advanced Omniscient Debugging - 16 p1 p3 p2 p4 p5 t1 t2 t3 B fire(t1) fire(t2) run(net) p1 p3 p2 p4 p5 t1 t2 t3 A p1 p3 p2 p4 p5 t1 t2 t3 C Model States P1 Values P2 Values P3 Values P4 Values Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 17. Example of the trace metamodel for Petri nets - 17 • Precisely captures the possible content of the traces of an xDSML • Based on prior work [Bousse et al. ECMFA 2014] Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 18. Implementation within the GEMOC Studio - 18Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 19. Implementation within the GEMOC Studio - 19 • The GEMOC Studio provides • A language workbench to implement xDSMLs • A modeling workbench to use xDSMLs, incl. an execution engine and an addon interface • Additional addons for omniscient debugging • 1 Generated addon specific to the xDSML (trace manager) • 2 Generic addons (debugger and view) Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 20. - 20 • Graphical animation • Breakpoint definition on model element • Multi-dimensional and efficient trace management • Model debugging facilities (incl., timeline, step backward, stimuli management, etc.) • Concurrency simulation and formal analysis ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 22. - 22 https://github.com/gemoc/farmingmodeling FarmingSystemModeling Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 23. Evaluation - 23 • Research questions • RQ#1: Is our approach more efficient in memory as compared to a weak omniscient debugger and to a clone-based omniscient debugger? • RQ#2: Is our approach more efficient in time for omniscient debugging services as compared to a weak omniscient debugger and to a clone-based omniscient debugger? • Comparison with • Clone-based omniscient debugger: creates a trace by copying a snapshot of the model at each step (uses EMF Compare to restore a state in the model) • Weak omniscient debugger: does not create any trace (uses stepwise execution features to restore a state by re-executing from the start) Usability not evaluated (future work) Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 24. Evaluation - 24 • fUML xDSML implemented using Kermeta and Ecore within the GEMOC Studio • fUML models from the semantic differencing case study of Maoz et al. [1] • 40 models with sizes ranging from 36 to 51 objects • Data collected in a reproducible way through a programmatic use of GEMOC Studio’s engine. • Each result is an average value computed from five identical measure [1] http://www.se-rwth.de/materials/semdiff/ Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 25. Evaluation - 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0.1 1 10 100 TIME(MS) 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 0.1 1 10 100 TIME(MS) MultiDimDebugger CloneBasedDebugger WeakDebugger Efficiency in memory Efficiency in time Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)
  • 26. Conclusion and Perspectives - 26 • Context: Omniscient debugging is a powerful dynamic V&V approach for designers • Problem: Handling any xDSML is difficult because of efficiency and understandability • Contribution: partially generic debugger with generated domain- specific trace metamodel/manager • Results: more efficient in time and memory than a clone-based and weak omniscient debugger • Perspectives: • Domain-specific debugging services (cf. [Chiş et al., SLE 2014]) • Temporal properties to define breakpoints • Support external stimuli / concurrency in operational semantics • User study to validate the benefits of (multidimensional) omniscient debugging for designers Efficient and Advanced Omniscient Debugging for xDSMLs (SLE’15)