arduino designer - cesec2015

Post on 06-Aug-2015

21 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Arduino DesignerTurning Eclipse into an Arduino programming platform for kids

Mélanie Bats melanie.bats@obeo.fr

@melaniebats

A model

A micro controller

And a cat ?

Curiosity

Discover by yourself

Computers are everywhere

Understand electronics

Arduino

Understand programming

Many open source software are dedicated to learn

programming to kids: Scratch, TurlteLogo, KidsRuby,

Python4Kids…

Initiatives: Programatoo, Devoxx4Kids, greenlight,

coding goûter...

Text

Graphical

Program the real world

Eclipse

Arduino Designer

Blink a LED!

A dedicated tooling

Graphical Programming

Light UI

A dedicated tooling

Graphical Programming = Sirius

Light UI

A dedicated tooling

Graphical Programming = Sirius

Light UI = RCP application

Create graphical editor

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Data

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Ecore Modeling Framework (EMF)

A modeling framework

and code generation facility

for building tools and other applications based on a

structured data model.

https://eclipse.org/modeling/emf/

Arduino DSL

ON OFF

servo.h

EMF.edit

JAVA API :

★ Content & label

providers

★ Command framework

★ Default tree editor

Create graphical editor

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Sirius

A tool to quickly define DSL based on custom multi-

view workbenches with dedicated representations

http://eclipse.org/sirius

Diagram definition

Create a Sirius Specification Project and provide

diagram descriptions :

● Mappings

● Styles

● Tools

Interpreted @ runtime

Mappings

Maps

semantic elements

onto

graphical notation

Mappings

Mappings

Styles

Define

graphical appearance

Tools

Defined thanks to

a simple action langage

and/or

Java services

Queries

Coupling to semantics is low

thanks to queries!

Diet RCP

Keep only

in the UI

what’s really

necessary

Simplified UI

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Dashboard

Diet RCP

Simplify the workflow

Integrate code generator

Generate ino file with Acceleo

Integrate code generator

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

All is instruction!

All is instruction!

Use

inheritance

for the templates!

Combine with Arduino tools

AcceleoArduino SDK

EMF

GMF Runtime

Sirius Runtime

Eclipse RCP

Arduino Designer

Combine with Arduino tools

Arduino compiler

Target uploader

Based on Arduino IDE to get well packaged tools :

avr-gcc, avrdude

Model + Microcontroller = ♥

And where is the cat in this story?

The cat making-of ?

Touch

Push button nose commmands a blinking necklace

See

Infrared sensor eye commands the servo-motored

tail

GEMOC

ANR INS Project (2012-2016):

“A Language Workbench for Heterogeneous Modeling

and Analysis of Complex Software-Intensive Systems”

Arduino simulator

2 plugins:

fr.obeo.dsl.arduino.simulator

fr.obeo.dsl.arduino.simulator.design

Language files blank comment code

Java 14 229 318 1185

XML 5 0 0 329

Maven 2 12 18 54

SUM: 21 241 336 1568

Interpreter

Execution Engine

Animator

simulator.odesign

customizing arduino.

odesign

Animator (2)

Contributing actions

Animator (3)

Adapting style

Demo

Demo...with no cat

Products available

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

Inspire and create yours!

Code available on :

https://github.com/mbats/arduino

Ask questions about Sirius on the forum

Mélanie Bats melanie.bats@obeo.fr

@melaniebats

top related