27
LET'S PLAY: LEGO MEETS PAPYRUS UML RÉMI SCHNEKENBURGER (CEA LIST) EclipseCON North America 2016, Reston (VA), March 08, 2016

Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

Embed Size (px)

Citation preview

Page 1: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

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

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

PAPYRUS IN A NUTSHELL

Page 4: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

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

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

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

PAPYRUS INDUSTRIAL CONSORTIUM

source: https://www.polarsys.org/ic/papyrus

Page 8: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

WHY USING LEGOS?

Page 9: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

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

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

FIRST STEPS WITH LEGOS IN PAPYRUS

Page 12: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

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

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

LIVE DEMONSTRATION: CODE GENERATION & EXECUTION

Page 15: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

ADVANCED USAGE OF LEGOS AND PAPYRUS

Page 16: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

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

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

DEMONSTRATION #2: PAPYRUS MOKA + LEGOS

Page 19: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

DEMONSTRATION #2: PAPYRUS MOKA + LEGOS

Page 20: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

DEMONSTRATION #2: PAPYRUS MOKA + LEGOS

Page 21: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

DEMONSTRATION #2: PAPYRUS MOKA + LEGOS

Page 22: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

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

DEMONSTRATION #3: PAPYRUS BPMN & MOKA + LEGOS

Page 24: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

QUESTIONS?

Page 25: Let's play: Lego meets Papyrus UML Rémi Schnekenburger (CEA

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

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

Evaluate the Sessions

Sign in and vote at eclipsecon.org

- 1 + 10