Cesec2015 - Arduino Designer

696 vues

Publié le

This talk was given at CESEC 2015 which is a Summer School on Critical Embedded Systems: http://cesec2015.sciencesconf.org/
These slides present the Arduino Designer why and how we develop it with Eclipse Sirius:
http://www.eclipse.org/sirius/

It presents also the Eclipse Sirius Animation feature:
http://www.eclipse.org/sirius/lab.html

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
696
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
20
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cesec2015 - Arduino Designer

  1. 1. Arduino Designer Turning Eclipse into an Arduino programming platform for kids Mélanie Bats melanie.bats@obeo.fr @melaniebats
  2. 2. A model
  3. 3. A micro controller
  4. 4. And a cat ?
  5. 5. Curiosity
  6. 6. Discover by yourself
  7. 7. Computers are everywhere
  8. 8. Understand electronics
  9. 9. Arduino
  10. 10. Understand programming Many open source software are dedicated to learn programming to kids: Scratch, TurlteLogo, KidsRuby, Python4Kids… Initiatives: Programatoo, Devoxx4Kids, greenlight, coding goûter...
  11. 11. Text
  12. 12. Graphical
  13. 13. Program the real world
  14. 14. Eclipse
  15. 15. Arduino Designer
  16. 16. Blink a LED!
  17. 17. A dedicated tooling Graphical Programming Light UI
  18. 18. A dedicated tooling Graphical Programming = Sirius Light UI
  19. 19. A dedicated tooling Graphical Programming = Sirius Light UI = RCP application
  20. 20. Create graphical editor AcceleoArduino SDK EMF GMF Runtime Sirius Runtime Eclipse RCP Arduino Designer
  21. 21. Data AcceleoArduino SDK EMF GMF Runtime Sirius Runtime Eclipse RCP Arduino Designer
  22. 22. 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/
  23. 23. Arduino DSL
  24. 24. ON OFF
  25. 25. servo.h
  26. 26. EMF.edit JAVA API : ★ Content & label providers ★ Command framework ★ Default tree editor
  27. 27. Create graphical editor AcceleoArduino SDK EMF GMF Runtime Sirius Runtime Eclipse RCP Arduino Designer
  28. 28. Sirius A tool to quickly define DSL based on custom multi- view workbenches with dedicated representations http://eclipse.org/sirius
  29. 29. Diagram definition Create a Sirius Specification Project and provide diagram descriptions : ● Mappings ● Styles ● Tools Interpreted @ runtime
  30. 30. Mappings Maps semantic elements onto graphical notation
  31. 31. Mappings
  32. 32. Mappings
  33. 33. Styles Define graphical appearance
  34. 34. Tools Defined thanks to a simple action langage and/or Java services
  35. 35. Queries Coupling to semantics is low thanks to queries!
  36. 36. Diet RCP Keep only in the UI what’s really necessary
  37. 37. Simplified UI AcceleoArduino SDK EMF GMF Runtime Sirius Runtime Eclipse RCP Arduino Designer
  38. 38. Dashboard
  39. 39. Diet RCP Simplify the workflow
  40. 40. Use Sirius API Have a look to the Sirius Developer Manual
  41. 41. Integrate code generator Generate ino file with Acceleo
  42. 42. Integrate code generator AcceleoArduino SDK EMF GMF Runtime Sirius Runtime Eclipse RCP Arduino Designer
  43. 43. All is instruction!
  44. 44. All is instruction! Use inheritance for the templates!
  45. 45. Combine with Arduino tools AcceleoArduino SDK EMF GMF Runtime Sirius Runtime Eclipse RCP Arduino Designer
  46. 46. Combine with Arduino tools Arduino compiler Target uploader Based on Arduino IDE to get well packaged tools : avr-gcc, avrdude
  47. 47. Model + Microcontroller = ♥
  48. 48. And where is the cat in this story?
  49. 49. Tigger https://github.com/mbats/arduino/wiki/Tutorial-:- Tigger,-the-Arduino-bubble-cat
  50. 50. The cat making-of ?
  51. 51. Touch Push button nose commmands a blinking necklace
  52. 52. See Infrared sensor eye commands the servo-motored tail
  53. 53. GEMOC ANR INS Project (2012-2016): “A Language Workbench for Heterogeneous Modeling and Analysis of Complex Software-Intensive Systems”
  54. 54. 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
  55. 55. Interpreter
  56. 56. Execution Engine
  57. 57. Animator simulator.odesign customizing arduino. odesign
  58. 58. Animator (2) Contributing actions
  59. 59. Animator (3) Adapting style
  60. 60. Demo
  61. 61. Demo ...with no cat
  62. 62. Products available On github : https://github.com/mbats/arduino/releases
  63. 63. Inspire and create yours! Code available on : https://github.com/mbats/arduino Ask questions about Sirius on the forum
  64. 64. Mélanie Bats melanie.bats@obeo.fr @melaniebats

×