MDE-based Sensor Management and Verification for a Self-Driving - - PowerPoint PPT Presentation

mde based sensor management and verification for a self
SMART_READER_LITE
LIVE PREVIEW

MDE-based Sensor Management and Verification for a Self-Driving - - PowerPoint PPT Presentation

MDE-based Sensor Management and Verification for a Self-Driving Miniature Vehicle Christian Berger Md Abdullah Al Mamun Jrgen Hansson Division of Software Engineering Department of Computer Science & Engineering The 13th Workshop on


slide-1
SLIDE 1

MDE-based Sensor Management and Verification for a Self-Driving Miniature Vehicle

Christian Berger Md Abdullah Al Mamun Jörgen Hansson Division of Software Engineering Department of Computer Science & Engineering

The 13th Workshop on Domain-Specific Modeling (DSM) Indianapolis, USA

slide-2
SLIDE 2

2

slide-3
SLIDE 3

3

slide-4
SLIDE 4

4

slide-5
SLIDE 5

5

Realizing Sensor Layout

Infrared Steer Motor Flashing LEDs left Flashing LEDs right Braking LEDs Infrared

Power Supply

LED Board

PandaBoard ES

USB I2C Power PWM UART ADC

Infrared Ultrasonic Ultrasonic Ultrasonic ESC

STM32F4 Discovery Board

Razor Board Camera PD8 (TX) PD9 (RX) PC8 PC9 PB6 (SCL) PB9(SDA) PC1 PC4 PC5

Pxy = Connection PIN

P_138 P_140

Wheel Encoder Sensor 1 Wheel Encoder Sensor 2 Wheel Encoder Sensor 3 Wheel Encoder Sensor 4

ICU

PB7 PB14 PA1 PA7 P_039

slide-6
SLIDE 6

MDE-based Sensor Management

  • DSL to manage sensor layouts and constraints for

different use cases:

– Use Case A: Evaluating sensor layout – Use Case B: Checking realizability of desired sensor layout

slide-7
SLIDE 7

DSL Meta-Model

  • Sensors
  • Sensor

Properties

  • Configuration

Properties

  • Execution

Platform

  • Application

Platform

  • Unit Types

7

slide-8
SLIDE 8

Use Case A: Evaluating Sensor Layout

Test%3D%track%from%the%simula3on%%

9

Test%2D%track%from%the%simula3on%%

irus.numberOfSensors%=%5% irus.showPolygons%=%1% ...% irus.sensor2.id%=%2% irus.sensor2.name%=%Infrared_RearRight% irus.sensor2.rotZ%=%F90.0% irus.sensor2.transla3on%=%(F1.0;F1.0;0.0)% irus.sensor2.angleFOV%=%5.0% irus.sensor2.distanceFOV%=%3.0% irus.sensor2.clampDistance%=%2.9% irus.sensor2.showFOV%=%1%

InstanceModel.xmi%

1 2 3 3 3

slide-9
SLIDE 9

Use Case B: Checking Realizability

10

Tabular representation of configuration space for multiplexed pins.

Embedded% System% Hardware% Manual% Embedded% System%Data% Sheets% DomainF specific%PIN% Constraints%

slide-10
SLIDE 10

Use Case B: Checking Realizability

11

Infrared Steer Motor Flashing LEDs left Flashing LEDs right Braking LEDs Infrared

Power Supply

LED Board

PandaBoard ES

USB I2C Power PWM UART ADC

Infrared Ultrasonic Ultrasonic Ultrasonic ESC

STM32F4 Discovery Board

Razor Board Camera PD8 (TX) PD9 (RX) PC8 PC9 PB6 (SCL) PB9(SDA) PC1 PC4 PC5

Pxy = Connection PIN

P_138 P_140

Wheel Encoder Sensor 1 Wheel Encoder Sensor 2 Wheel Encoder Sensor 3 Wheel Encoder Sensor 4

ICU

PB7 PB14 PA1 PA7 P_039

slide-11
SLIDE 11

Use Case B: Checking Realizability

12

slide-12
SLIDE 12

Use Case B: Checking Realizability

edge(root, final, -). edge(root, pin1, analog). edge(root, pin2, analog). edge(root, pin2, i2c). edge(pin1, pin2, analog). edge(pin1, pin2, i2c). edge(pin1, final, -). edge(pin2, final, -).

13

Configuration graph in Prolog:

  • Realizability check as graph traversal problem in Prolog:
slide-13
SLIDE 13

Use Case B: Checking Realizability

14

“Inference engine” realized as constraint-based graph traversal:

slide-14
SLIDE 14

Use Case B: Checking Realizability

verify(RequiredProperties, Path) :- path(root, final, Path, RequiredProperties). verify([analog, i2c], P)

15

“User interface” to solve the verification query in Prolog: Checking realizability for configurations up to a length of 5: Calling the user interface with a desired configuration:

slide-15
SLIDE 15

Conclusion & Work in-Progress

  • Sensor-layout specification and management language as

single-point-of-truth:

– Configure experiments in the simulation environment – Check realizability on the desired embedded system – Generate code for the HAL of the embedded system

  • Engineering the HW/SW interface:

– Our embedded system: >14.5 million configuration possibilities – Finding a feasible/all possible/the best pin assignment configuration for the interface board – Experimenting with Prolog and Alloy to check realizabilityThank you!

16

slide-16
SLIDE 16

Thank you!

17 Use Case A: Evaluating Sensor Layout

Test%3D%track%from%the%simula3on%%

11

Test%2D%track%from%the%simula3on%%

irus.numberOfSensors%=%5% irus.showPolygons%=%1% ...% irus.sensor2.id%=%2% irus.sensor2.name%=%Infrared_RearRight% irus.sensor2.rotZ%=%F90.0% irus.sensor2.transla3on%=%(F1.0;F1.0;0.0)% irus.sensor2.angleFOV%=%5.0% irus.sensor2.distanceFOV%=%3.0% irus.sensor2.clampDistance%=%2.9% irus.sensor2.showFOV%=%1%

InstanceModel.xmi%

1 2 3 3 3

Use Case B: Checking Realizability

15

Use Case B: Checking Realizability

verify(RequiredProperties, Path) :- path(root, final, Path, RequiredProperties). verify([analog, i2c], P)

18

“User interface” to solve the verification query in Prolog: Checking realizability for configurations up to a length of 5: Calling the user interface with a desired configuration:

5

Realizing Sensor Layout

Infrared Steer Motor Flashing LEDs left Flashing LEDs right Braking LEDs Infrared

Power Supply

LED Board

PandaBoard ES

USB I2C Power PWM UART ADC

Infrared Ultrasonic Ultrasonic Ultrasonic ESC

STM32F4 Discovery Board

Razor Board Camera PD8 (TX) PD9 (RX) PC8 PC9 PB6 (SCL) PB9(SDA) PC1 PC4 PC5

Pxy = Connection PIN

P_138 P_140

Wheel Encoder Sensor 1 Wheel Encoder Sensor 2 Wheel Encoder Sensor 3 Wheel Encoder Sensor 4

ICU

PB7 PB14 PA1 PA7 P_039