![Page 1: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/1.jpg)
LET'S PLAY: LEGO MEETS PAPYRUS UML
RÉMI SCHNEKENBURGER (CEA LIST)
EclipseCON North America 2016, Reston (VA), March 08, 2016
![Page 2: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/2.jpg)
INTRODUCTION
Papyrus in a Nutshell
Why using Legos?
First steps with Legos
Advanced usage
![Page 3: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/3.jpg)
PAPYRUS IN A NUTSHELL
![Page 4: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/4.jpg)
PAPYRUS UML IN A NUTSHELL
A graphical editing tool for UML 2 as defined by OMG
![Page 5: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/5.jpg)
Key features:
Support table, graphical & form-based editing
100% conformant to standards: UML, SysML and others
Fully extensible:
Language as extensions of UML : SysML 1.4, UML-RT, etc.
Views, with customization of existing ones or new ones
Integration with many eclipse components
Model compare
Model transformation
Report generation
Code edition & generation
PAPYRUS UML IN A NUTSHELL
![Page 6: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/6.jpg)
PAPYRUS INDUSTRIAL CONSORTIUM
https://www.eclipse.org/org/press-release/20160222_papyrus_industry_consortium.php & https://www.polarsys.org/ic/papyrus
![Page 7: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/7.jpg)
PAPYRUS INDUSTRIAL CONSORTIUM
source: https://www.polarsys.org/ic/papyrus
![Page 8: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/8.jpg)
WHY USING LEGOS?
![Page 9: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/9.jpg)
Easy to access
Cheap
Widespread
Already available in many places
Representative
Many actuators / sensors already existing
Allows complex systems with several implementation languages:
EV3Basic as an extension of Microsoft smallBasic,
Java with Lejos
C++
WHY USING LEGOS?
![Page 10: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/10.jpg)
AN EXPERIMENTATION PLATFORM: THE LEGO FACTORY
Source: http://robotics.benedettelli.com/lego-car-factory/
![Page 11: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/11.jpg)
FIRST STEPS WITH LEGOS IN PAPYRUS
![Page 12: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/12.jpg)
Application model in Papyrus…
Structural definition of the application
Composite structure diagrams to describe the application and the various elements known by the program
Definition also of the behavior:
State machine and few lines of hand written code
But also the platform and deployment of code on the platform
Only a simple one for the demo, with only one brick for code execution
FIRST STEPS IN PAPYRUS
![Page 13: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/13.jpg)
Context
EV3 Brick running on linux (ev3dev)
Papyrus installed with MARTE and Designer extensions
MARTE: Modeling and Analysis of Real-time Embedded Systems
Designer: Component based design methodology
Plugin with ev3dev libraries C++ reversed code as a UML library and few customizations
Scenario
Build the application model, with help of the reversed library
Deploy it on a simple platform model
Generate code
Compile code for the ev3 brick target
Deploy the code on the brick and run it
FIRST STEPS IN PAPYRUS
Source: http://www.ev3dev.org/
![Page 14: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/14.jpg)
LIVE DEMONSTRATION: CODE GENERATION & EXECUTION
![Page 15: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/15.jpg)
ADVANCED USAGE OF LEGOS AND PAPYRUS
![Page 16: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/16.jpg)
Model Execution and Simulation with MOKA
Based on standard FUML (OMG)
FUML Semantics Of A Foundational Subset For Executable UML Models
Open source component, part of the Papyrus project
ADVANCED USAGE: SIMULATION AND EXECUTION
![Page 17: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/17.jpg)
Use case: driving the Lego factory from UML Model
Context
Lego car factory, with an EV3 brick having Lejos installed
Papyrus
MOKA installed
Model of the application, behavior described with an activity diagram
Papyrus and Moka are connected to the Brick via bluetooth
Scenario
User wants to drive the factory and debug / test the production process
Moka will drive the Lego brick, with Lejos java methods to control motors / sensors
Breakpoint to allow a user action – adding the roof of the car
DEMONSTRATION #2: PAPYRUS MOKA + LEGOS
![Page 18: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/18.jpg)
DEMONSTRATION #2: PAPYRUS MOKA + LEGOS
![Page 19: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/19.jpg)
DEMONSTRATION #2: PAPYRUS MOKA + LEGOS
![Page 20: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/20.jpg)
DEMONSTRATION #2: PAPYRUS MOKA + LEGOS
![Page 21: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/21.jpg)
DEMONSTRATION #2: PAPYRUS MOKA + LEGOS
![Page 22: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/22.jpg)
Use case: optimizing the Lego factory process from UML Model
Context:
Description of the process of car production in Papyrus with BPMN
Simulation of the process using Moka
Propose enhancement on the platform
Next steps:
Reconfigure the platform and rerun the execution
DEMONSTRATION #1: PAPYRUS BPMN + MOKA
![Page 23: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/23.jpg)
DEMONSTRATION #3: PAPYRUS BPMN & MOKA + LEGOS
![Page 24: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/24.jpg)
QUESTIONS?
![Page 25: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/25.jpg)
First example:
Vincent Lorenzo (CEA LIST)
Videos:
Kunal Suri and Juan Cadavid (CEA LIST)
THANKS TO THE PAPYRUS LEGO TEAM!
![Page 26: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/26.jpg)
Papyrus website
http://www.eclipse.org/papyrus
Papyrus youtube channel:
https://www.youtube.com/channel/UCxyPoBlZc_rKLS7_K2dtwYA
Papyrus wiki:
http://wiki.eclipse.org/Papyrus
STAY TUNED!
![Page 27: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA](https://reader030.vdocuments.mx/reader030/viewer/2022020203/58a2de101a28abac368b7bc0/html5/thumbnails/27.jpg)
Evaluate the Sessions
Sign in and vote at eclipsecon.org
- 1 + 10