Upload
comsysto-gmbh
View
341
Download
0
Embed Size (px)
Citation preview
Ein Prozess lernt laufenLEGO® MINDSTORMS® Steuerung mit BPMN
Oliver Hock
Videa Project Services GmbH
2
videa-services.comwww.videa.services [email protected]
JUG Hamburg Kids4IT Hamburg kids4it.de
@oliver_hockOliver_Hock3
olihock / bepemind
3
Die Firma
4
Die Idee
PE
Geschäftsprozesse
Neugier
SpaßPräzision
Know-how
5
Der Roboter
Definition
Steuerung
6
Die Schnittstellen
Momentaufnahmen9V Ausgang
Zustände
Abfragen
Motoren Sensoren
7
Das Modell
CubeFinder
GRIPP3R
8
Die Architektur
PC/Remote API
Sensor/Motor Port APIleJOS
9
BPM Plattform
BusinessDevelopers
Admins Framework
BPMN 2 Process Engine for Java
JARWorkflowsJava Application
10
Business Process Modeling Notation
11
Business Process Modeling Notation
up
down
12
Process DesignMain Process
Name Value
Subprocess
Name Value
EL
EL
13
CubeFinder Process Design
CubeFinder Main
Walk
SearchWalk Right And
DownWalk Right And Up
TurnWalk And Scan
Scan
14
Suchmuster
x
y
2m
3m
turnwalk
walk up
right
down
scanscan
15
CubeFinder Project Design
Robot Access Delegate Layer
EV3 Brick Access Singleton
Service Task Processes
«JavaDelegate»
Data Objects
CubeFinder Functions RotateDelegateFetchSampleDelegate
Brick.getInstance()
Very Static Model getRegulatedMotor(p)
getSampleProvider(p)
Host = “192.168.173.67”
16
Service Tasks Java DelegatesProcess
public class RotateDelegate implements JavaDelegate {
private FixedValue port;private JuelExpression angle;
17
Java Implementation
@Overridepublic void execute(DelegateExecution execution)
throws Exception {
String portValue = (String) port.getValue(execution);Long angleValue = (Long) angle.getValue(execution);
String hostVar = ""+execution.getVariable("Host");
// leJOS API stuff here
}
Process Execution
18
public class ProcessTestCubeFinderMain {
@Test public void startProcess()
throws RemoteException { repositoryService
.createDeployment()
.addInputStream(
"cubeFinderMain.bpmn20.xml", mainPath))
.addInputStream( "scan.bpmn20.xml", scanPath)
.deploy();}}
Run as …
19
leJOS Remote API
Brick.java
20
leJOS Motor API
RotateDelegate.java
21
leJOS RegulatedMotor API
22
leJOS RegulatedMotor API
23
leJOS Sensor API
FetchSampleDelegate.java
24
leJOS SampleProvider API
25
Demo
27
Ausblick
28
QuellenTilted Twister 2.0
Cube Finder
Engine / DesignerEclipse Mars.1 for Java Developers
GitHub
Eclipse Juno Java Dev
CubeTwister (Randelshofer)KCube 1.0 by Greg SchmidtKociemba two-phase solver
29
Danke schön