+ All Categories
Home > Software > Arduino designer : the making of!

Arduino designer : the making of!

Date post: 14-Jul-2015
Category:
Upload: melbats
View: 424 times
Download: 0 times
Share this document with a friend
141
Arduino Designer The making of! Mélanie Bats [email protected] @melaniebats
Transcript
Page 1: Arduino designer : the making of!

Arduino DesignerThe making of!

Mélanie Bats [email protected]

@melaniebats

Page 2: Arduino designer : the making of!

A model

Page 3: Arduino designer : the making of!

A micro controller

Page 4: Arduino designer : the making of!

And a cat ?

Page 5: Arduino designer : the making of!

Arduino Designer

Page 6: Arduino designer : the making of!

A dedicated tooling

Graphical Programming

Light UI

Page 7: Arduino designer : the making of!

A dedicated tooling

Graphical Programming = Sirius

Light UI

Page 8: Arduino designer : the making of!

A dedicated tooling

Graphical Programming = Sirius

Light UI = RCP application

Page 9: Arduino designer : the making of!

Create graphical editor

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Page 10: Arduino designer : the making of!

Data

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Page 11: Arduino designer : the making of!

Arduino DSL

Page 12: Arduino designer : the making of!
Page 13: Arduino designer : the making of!
Page 14: Arduino designer : the making of!
Page 15: Arduino designer : the making of!
Page 16: Arduino designer : the making of!
Page 17: Arduino designer : the making of!
Page 18: Arduino designer : the making of!
Page 19: Arduino designer : the making of!
Page 20: Arduino designer : the making of!
Page 21: Arduino designer : the making of!
Page 22: Arduino designer : the making of!
Page 23: Arduino designer : the making of!
Page 24: Arduino designer : the making of!
Page 25: Arduino designer : the making of!
Page 26: Arduino designer : the making of!

ON OFF

Page 27: Arduino designer : the making of!

servo.h

Page 28: Arduino designer : the making of!
Page 29: Arduino designer : the making of!
Page 30: Arduino designer : the making of!
Page 31: Arduino designer : the making of!
Page 32: Arduino designer : the making of!
Page 33: Arduino designer : the making of!
Page 34: Arduino designer : the making of!
Page 35: Arduino designer : the making of!
Page 36: Arduino designer : the making of!
Page 37: Arduino designer : the making of!
Page 38: Arduino designer : the making of!
Page 39: Arduino designer : the making of!
Page 40: Arduino designer : the making of!
Page 41: Arduino designer : the making of!
Page 42: Arduino designer : the making of!

Remind #1

1. Hardware/Software Co-design

2. All is instruction

Page 43: Arduino designer : the making of!

Create graphical editor

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Page 44: Arduino designer : the making of!

Sirius

A tool to quickly define DSL based on custom multi-

view workbenches with dedicated representations

http://eclipse.org/sirius

Page 45: Arduino designer : the making of!

Diagram definition

Create a Sirius Specification Project and provide

diagram descriptions :

● Mappings

● Styles

● Tools

Interpreted @ runtime

Page 46: Arduino designer : the making of!
Page 47: Arduino designer : the making of!

Mappings

Maps

semantic elements

onto

graphical notation

Page 48: Arduino designer : the making of!

Mappings

Page 49: Arduino designer : the making of!

Mappings

Page 50: Arduino designer : the making of!

Mappings

How to represent

the sketch

loop ?

Page 51: Arduino designer : the making of!

Mappings

Page 52: Arduino designer : the making of!

Mappings

Page 53: Arduino designer : the making of!

Mappings

Page 54: Arduino designer : the making of!

Styles

Define

graphical appearance

Page 55: Arduino designer : the making of!
Page 56: Arduino designer : the making of!
Page 57: Arduino designer : the making of!

Tools

Defined thanks to

a simple action langage

and/or

Java services

Page 58: Arduino designer : the making of!
Page 59: Arduino designer : the making of!
Page 60: Arduino designer : the making of!
Page 61: Arduino designer : the making of!

Improve UX

Improve the user experience

thanks to

the tools!

Page 62: Arduino designer : the making of!
Page 63: Arduino designer : the making of!
Page 64: Arduino designer : the making of!
Page 65: Arduino designer : the making of!
Page 66: Arduino designer : the making of!
Page 67: Arduino designer : the making of!

Queries

Coupling to semantics is low

thanks to queries!

Page 68: Arduino designer : the making of!

Queries

OCL/Acceleo/AQL → [/]

Java → service:

Variables → var:

Features → feature:

Page 69: Arduino designer : the making of!

Acceleo

Page 70: Arduino designer : the making of!

Java

Page 71: Arduino designer : the making of!

Feature

Page 72: Arduino designer : the making of!

Remind #2

Simplify UI thanks to advanced tools

Page 73: Arduino designer : the making of!

Diet RCP

Keep only

in the UI

what’s really

necessary

Page 74: Arduino designer : the making of!

Simplified UI

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Page 75: Arduino designer : the making of!

Dashboard

Page 76: Arduino designer : the making of!
Page 77: Arduino designer : the making of!
Page 78: Arduino designer : the making of!
Page 79: Arduino designer : the making of!
Page 80: Arduino designer : the making of!
Page 81: Arduino designer : the making of!
Page 82: Arduino designer : the making of!
Page 83: Arduino designer : the making of!
Page 84: Arduino designer : the making of!
Page 85: Arduino designer : the making of!
Page 86: Arduino designer : the making of!

Diet RCP

Simplify the workflow

Page 88: Arduino designer : the making of!

Create a project

Page 89: Arduino designer : the making of!

Convert to a modeling project

Page 90: Arduino designer : the making of!

Convert to a modeling project

Page 91: Arduino designer : the making of!

Create a session

Page 92: Arduino designer : the making of!

Init the semantic model

Page 93: Arduino designer : the making of!
Page 94: Arduino designer : the making of!
Page 95: Arduino designer : the making of!
Page 96: Arduino designer : the making of!
Page 97: Arduino designer : the making of!
Page 98: Arduino designer : the making of!

Enable viewpoints

Page 99: Arduino designer : the making of!
Page 100: Arduino designer : the making of!

Open a diagram

Page 101: Arduino designer : the making of!
Page 102: Arduino designer : the making of!
Page 103: Arduino designer : the making of!
Page 104: Arduino designer : the making of!
Page 105: Arduino designer : the making of!

Remind #3

1. This is not your father’s designer

2. Use Sirius API

Page 106: Arduino designer : the making of!

Integrate code generator

Generate ino file with Acceleo

Page 107: Arduino designer : the making of!

Integrate code generator

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Page 108: Arduino designer : the making of!
Page 109: Arduino designer : the making of!
Page 110: Arduino designer : the making of!
Page 111: Arduino designer : the making of!

All is instruction!

Page 112: Arduino designer : the making of!

All is instruction!

Use

inheritance

for the templates!

Page 113: Arduino designer : the making of!
Page 114: Arduino designer : the making of!

Combine with Arduino tools

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Page 115: Arduino designer : the making of!

Combine with Arduino tools

Arduino compiler

Target uploader

Based on Arduino IDE to get well packaged tools :

avr-gcc, avrdude

Page 116: Arduino designer : the making of!
Page 117: Arduino designer : the making of!
Page 118: Arduino designer : the making of!
Page 119: Arduino designer : the making of!
Page 120: Arduino designer : the making of!
Page 121: Arduino designer : the making of!
Page 122: Arduino designer : the making of!
Page 123: Arduino designer : the making of!

Build a product

Classical RCP product

Page 124: Arduino designer : the making of!

Build a product

Page 125: Arduino designer : the making of!

Build a product

Page 126: Arduino designer : the making of!

Build a product

Page 128: Arduino designer : the making of!

Build a product

Contribute to org.eclipse.sirius.componentization

Page 129: Arduino designer : the making of!

Build a product

Register your viewpoints at the start of the plugin

Delete your viewpoints in the stop of the plugin

Page 130: Arduino designer : the making of!

Target Platform

Use target platform definition DSL and generator :

https://github.com/mbarbero/fr.obeo.releng.

targetplatform

Page 131: Arduino designer : the making of!
Page 132: Arduino designer : the making of!

Tycho

Page 133: Arduino designer : the making of!

Travis

Page 134: Arduino designer : the making of!

.travis.ymllanguage: java

script: mvn clean package

jdk: oraclejdk7

deploy:

provider: releases

api_key:

secure:

IQP5qqJ6lZtZYU6814OVyVcVLsTXlNzd4yRBF/KSIzABgJ6jtbgFthAub3nMKWGPXLZZYzGJzChU+mcvXCaOAh3DCcTSPun404oP2ORdYpSoexios+wIqLRz6XordpeMNCPURM2XVcRAR8w+HSGlFtW/rA5GkbnK+L155/K5bRg=

file:

- $TRAVIS_BUILD_DIR/packaging/fr.obeo.dsl.arduino.product/target/products/ArduinoDesigner-linux.gtk.x86.zip

- $TRAVIS_BUILD_DIR/packaging/fr.obeo.dsl.arduino.product/target/products/ArduinoDesigner-linux.gtk.x86_64.zip

- $TRAVIS_BUILD_DIR/packaging/fr.obeo.dsl.arduino.product/target/products/ArduinoDesigner-macosx.cocoa.x86_64.zip

- $TRAVIS_BUILD_DIR/packaging/fr.obeo.dsl.arduino.product/target/products/ArduinoDesigner-win32.win32.x86.zip

- $TRAVIS_BUILD_DIR/packaging/fr.obeo.dsl.arduino.product/target/products/ArduinoDesigner-win32.win32.x86_64.zip

on:

repo: mbats/arduino

tags: true

all_branches: true

Page 135: Arduino designer : the making of!

Products available

On github : https://github.com/mbats/arduino/releases

Page 136: Arduino designer : the making of!

Model + Microcontroller = ♥

Page 137: Arduino designer : the making of!

And where is the cat in this story?

Page 138: Arduino designer : the making of!

The cat making-of ?

Page 139: Arduino designer : the making of!

Inspire and create yours!

Code available on :

https://github.com/mbats/arduino

Ask questions about Sirius on the forum

Page 140: Arduino designer : the making of!

Do not miss!

Wednesday

13:30 - Sirius + Xtext = ♥18:00 - Sirius Poster

Thursday

14:30 - Time-lapse

15:15 - Viewpoint: the making of

Page 141: Arduino designer : the making of!

Mélanie Bats [email protected]

@melaniebats

Give your feedback !


Recommended