Top Banner
Oliver Hock Videa Project Services GmbH
19

Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Jan 08, 2017

Download

Software

Camunda BPM
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Oliver HockVidea Project Services GmbH

Page 2: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Videa Services GmbH [email protected]

JUG Hamburg Kids4IT Hamburg

@oliver_hockOliver_Hock3

olihock / bepemind Tae Kwon Do + Sailing

Page 3: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

PECuriosity

FunPrecision

Knowledge

Page 4: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

SnapshotsOutput

States

Motors

Queries

Sensors

Page 5: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Turn Table

Cube Tilter

Brick

Color Sensor

Page 6: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

PC/Remote API

Sensor/Motor Port API

Page 7: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

JAR

Java Application

Page 8: Community Day 2016: BPMN meets LEGO® MINDSTORMS®
Page 9: Community Day 2016: BPMN meets LEGO® MINDSTORMS®
Page 10: Community Day 2016: BPMN meets LEGO® MINDSTORMS®
Page 11: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Main Process

Scan single Brick

React on Cube

Walk CubeScan Face

Face DMNScan all Bricks

Rotate Motor

Scan Cube Calculate Solve Cube

Face to Face

Move Face

Move DMN

TwistTiltTurn

Page 12: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Robot Access Delegate Layer

Brick Access Factory

«JavaDelegate»

Data Objects

CubeFinder Functions RotateMotorDelegate

GetColorDelegate

new MotorFactory()

new SensorFactory()

Very Static Model static Motor.A

static SensorPort.S1

Page 13: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Process

public class RotateMotorDelegate implements JavaDelegate {

public void execute(DelegateExecution execution) throws Exception {

String motorPort = (String) execution.getVariable(“motorPort”);

Number speed = (Number) execution.getVariable(“speed”);

// leJOS stuff here

Page 14: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

@Deployment(resources = {

"com/videaps/cube/solving/ScanCube.bpmn"

})

public class ScanCubeTest extends BaseTest {

@Test

public void test() {

ProcessInstance processInstance =

processEngine.getRuntimeService()

.startProcessInstanceByKey(

"Process_ScanCube");

assertTrue(processInstance.isEnded());

}

Run as …

Page 15: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

MotorFactory.java

Page 16: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

RotateMotorDelegate.java

Page 17: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

GetColorDeleage.java

Page 18: Community Day 2016: BPMN meets LEGO® MINDSTORMS®
Page 19: Community Day 2016: BPMN meets LEGO® MINDSTORMS®

Thank you

Questions?Answers.