Debugging Auto-Generated Code with Source Specification in - - PowerPoint PPT Presentation

debugging auto generated code with source specification
SMART_READER_LITE
LIVE PREVIEW

Debugging Auto-Generated Code with Source Specification in - - PowerPoint PPT Presentation

Overture Workshop 15 : New Capabilities and Applications for Model-based Systems Engineering Debugging Auto-Generated Code with Source Specification in Exploratory Modeling Tomohiro Oda Keijiro Araki Peter Gorm Larsen Agenda Exploratory


slide-1
SLIDE 1

Debugging Auto-Generated Code with Source Specification in Exploratory Modeling

Tomohiro Oda Keijiro Araki Peter Gorm Larsen

Overture Workshop 15 : New Capabilities and Applications for Model-based Systems Engineering

slide-2
SLIDE 2

Agenda

  • Exploratory Modeling and ViennaTalk
  • Automated Code Generator as Animation Engine
  • Challenges in Debugging VDM Specification on

Auto-Generated Code

  • Design : Traceability
  • Demo
  • Summary

2

slide-3
SLIDE 3

Exploratory Modeling

Exploratory modeling is to produce a specification, which is

  • valid,
  • feasible and
  • full-featured,

followed by rigorous specification, which is

  • totally defined,
  • sound,
  • verifiable and
  • maintainable.

3

slide-4
SLIDE 4

Workflow of Exploratory Modeling

4 knowledge Specification Domain Experts

Feedback Feedback Feedback

The specifier writes the spec The specifier understands the feedback The specifier analyzes the spec The specifier explains the spec to domain experts

The specifier

slide-5
SLIDE 5

The Cycle of Specifying : Indivisual's task

5 knowledge Specification Domain Experts

Feedback Feedback Feedback

The specifier writes the spec The specifier understands the feedback The specifier analyzes the spec The specifier explains the spec to domain experts

The specifier

slide-6
SLIDE 6

The Cycle of Learning : Collaborative task

6 knowledge Specification Domain Experts

Feedback Feedback Feedback

The specifier writes the spec The specifier understands the feedback The specifier analyzes the spec The specifier explains the spec to domain experts

The specifier

slide-7
SLIDE 7

Requirement of Code Generator as Animation Engine for Exploratory Modeling

7

  • Performance

○ Tweak free : No need for "tuning" the spec ○ Feasibility : Closer to the production code

  • Interactivity

○ Liveness : Fixing spec in action ○ UI : non-formalist friendy ○ Connectivity : networking, legacy libraries

  • Debuggability

○ Finding : To be aware of unexpected behaviour ○ Locating : To spot the cause of the behaviour ○ Modifying : To fix the spec if necessary ○ Testing : To ensure the spec means as intended

slide-8
SLIDE 8

Challenges of Code Generator as Animation Engine for Exploratory Modeling

8

  • Performance

○ Tweak free : No need for "tuning" the spec ○ Feasibility : Closer to the production code

  • Interactivity

○ Liveness : Fixing spec in action ○ UI : non-formalist friendy ○ Connectivity : networking, existing components

  • Debuggability

○ Finding : To be aware of unexpected behaviour ○ Locating : To spot the cause of the behaviour ○ Modifying : To fix the spec if necessary ○ Testing : To ensure the spec means as intended

slide-9
SLIDE 9

1. Finding an issue 2. Locating the cause 4. Testing the new code

challenges of debugging auto-generated code

9

VDM spec generated code Substrate (GUI, networking, DB, existing components) glue code

Artifacts to fix Artifacts to observe

2. Locating the cause 3. Modifying the spec

slide-10
SLIDE 10

VDMDebugger

10 call stack Smalltalk code VDM spec variables Smalltalk steps VDM steps

slide-11
SLIDE 11

demo

11

slide-12
SLIDE 12

traceability

from each bytecode to substring of the spec 12

slide-13
SLIDE 13

Summary

Done:

  • Bytecode to VDM source traceability
  • Step execution in granularity of VDM and Smalltalk

Todo:

  • Live modification to VDM source on VDMDebugger
  • VDMPad-like diagram presentation of VDM values

13