+ All Categories
Home > Documents > A model-based debugger for real-time and embedded systems · A model-based debugger for real-time...

A model-based debugger for real-time and embedded systems · A model-based debugger for real-time...

Date post: 17-Aug-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
18
MDebugger: A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1
Transcript
Page 1: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

MDebugger:A model-based debugger for real-time and embedded

systems

Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel

1

Page 2: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Outline

● Problem Statement

● Solution

● Concepts and Techniques

● MDebugger features

● Future Work

● Conclusion

2

Page 3: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Problem Statement

Step 1: Design

Step 2: Code Generation

Step 2: Build & Run

Developm

entD

ebugging

Step 1: Find Fault in

Generated Code

GDB,JDB,...

Step 2: Find Fault in Model or ...

3

Page 4: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Problem Statement (Existing approaches)

C++ JAVA Others

DBG

ModelsDebug Command or Data at Model Level

Binary with Debugging Symbols

Attach Debug Data

4

Generated Code

Debug Command or Data at Code Level

Mapping

Runtime ENV

Program Debugger

Mapping

Page 5: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Problem Statement (Summary)

● Exiting work has tried to solve the issue by creating wrappers

around the program debuggers and mapping the features.

● Extra metadata generation are required for mapping.

● Using program debugging, causes dependency and compatibility and integration issues.

● The process is time consuming and challenging process.● Debugging issue is one of the main barriers to adoption of MDD.

5

Page 6: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Proposed Solution (Platform Independent Debugger)

Models

Generated Code

Runtime ENV

Proposed Solution

Existing Solution

Signal Injection

Debug Command or Data at Model Level

MDebugger

Instrumented Binary

Events

6

Debug Command or Data at Model Level

Debug Command or Data at Code Level

Program Debugger

Binary with Debugging Symbols

Attach ProcessData

Mapping

Mapping

Page 7: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Overall Architecture

7

IPC or

TCPC++

ObserverCapsule

User Defined Model

Shadow ModelMDebugger

Command Line Interface

External App (e.g, eclipse debugger)

TCP

GUI

Epsilon

Page 8: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

MDebugger (Command Line Interface)

8

Page 9: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

MDebugger Integration with PapyrusRT

9

Page 10: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

MDebugger Integration with PapyrusRT

10

Page 11: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Future Work

● Model-based instrumentation framework.

● Complete the current implementation

● Add debugging facility for action codes

● Automatic root cause analysis using program slicing on action codes

● Generate sequence diagram to present the runtime behaviour

11

Page 12: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Conclusion

● We presented a new way of providing debugging at model-level.

● Our solution is implemented at model-level using modeling concept

and is not dependent on program debugger or generated code.

● Basic features such as setting breakpoints, watch and change variables

are implemented.

● Graphical and command line user interface are presented.

12

Page 13: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Model Instrumentation

Provide instrumentation by extending the code generation:

● Is a complex task.● Causes maintenance and compatibility issues.● Is platform and tool dependent.● Is hard to validate and verify.● Is not possible to capture all instrumentation requirements by

pre-defined code generation.

Page 14: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Vision

Create a DSL to enable users to define customized instrumentation at model level.

Page 15: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

The Big Picture

Use defined models

Model Transformation

Instrumentation Rule and

configuration

Refined models with trace points

Example of instrumentation rule:● Trace all state changes.● Trace all attribute changes that their type is Integer.● Trace change of attribute x during entry of state 1.

Genare Model Transformation

Page 16: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Architecture

16

Instrumentation DSL

Page 17: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Progress till now:

● Integration between and Epsilon and PapyrusRT was done.

● Integration with LTTng and Observer as main tracing tools was done.

Page 18: A model-based debugger for real-time and embedded systems · A model-based debugger for real-time and embedded systems Mojtaba Bagherzadeh, Nicolas Hili, Juergen Dingel 1. Outline

Thank You!

18


Recommended