PhD thesis

76
Stefano Tranquillini MODELS AND SYSTEMS FOR MANAGING SENSOR AND CROWD-ORIENTED PROCESSES ICT Phd School, University of Trento. 25.3.2014

Transcript of PhD thesis

Page 1: PhD thesis

Stefano Tranquillini

MODELS AND SYSTEMS FOR MANAGING SENSOR AND

CROWD-ORIENTED PROCESSES

ICT Phd School, University of Trento. 25.3.2014

Page 2: PhD thesis

GOAL

Extend process modelling languages to support the design and execution of extended processes.

Distributed.Need for orchestration.

Internal logic. Process driven logics

New type of actors. New type of applications.

Lack of integration and unification.

UIs

WSN CROWD

Process languages

Page 3: PhD thesis

GENERAL CONTRIBUTIONS

Process language extensions (for UIs, WSN, Crowd)

Design tools.

Runtime environments.

Architecture and approach.

Case studies.

Page 4: PhD thesis

DISTRIBUTED UI

Page 5: PhD thesis

DISTRIBUTED UI ORCHESTRATIONMashup-like applications that require multiple pages,

multiple users, and process support

WORKFLOW MANAGEMENT SYSTEMS

Support office automation processes Automatic generation of form-based

user interfaces (UIs)

WEB SERVICE ORCHESTRATIONS Integration at the application level

No UI support at all

WEB MASHUPS Integration at data, application,

and UI level very simple applications

(single page)

STATE OF THE ART

Page 6: PhD thesis

GOAL

To coordinate distributed UIs and WS by using a process logic to specify the orchestration of different UIs that are

deployed and executed in a distributed fashion

Page 7: PhD thesis

GOAL

To coordinate distributed UIs and WS by using a process logic to specify the orchestration of different UIs that are

deployed and executed in a distributed fashion

op dr wsdr opws

Page 8: PhD thesis

RESEARCH CHALLENGES

Understanding how to componentize UIs and compose them into web applications

Defining a logic that is able to orchestrate both UIs and web services

Providing a language and tool for specifying distributed UI compositions

Developing a runtime environment that is able to execute distributed UI and service compositions

Page 9: PhD thesis

BPEL4UI

Process

Activity Container

Activity

Catch

Message Exchange

Correlation Set

VariablePartner Link

PageNameDescriptionTemplateURLUIEngineNameisStartPage

ActorName

Place HolderName

UI ComponentName

UI TypeWSDL-UI

PropertyNameValueType

Partner Link Type

fault handlers

accessible to

contains

rendered in

has

described by

0..N

1..10..N

1..11..N

1..1

1..1

1..1 0..N

1..1

0..Ndescribed by

0..N

1..1

0..N

0..N

0..N

0..N

1..N

0..N

Page 10: PhD thesis

Intra Page

Distributed

Web service

DESIGN

dr dr

dr op ws

Page 11: PhD thesis

PlaceHolder marcoflow-top-left

PlaceHolder marcoflow-bottom-right

PlaceHolder marcoflow-top-right

PlaceHolder marcoflow-bottom-left

BPEL4UI editor

UI pages

DESIGN

Page 12: PhD thesis

DESIGN

Page 13: PhD thesis

PlaceHolder marcoflow-top-left

PlaceHolder marcoflow-bottom-right

PlaceHolder marcoflow-top-right

PlaceHolder marcoflow-bottom-left

BPEL4UI editor

UI pages

BPEL engine

UI Engine

Page 14: PhD thesis

ARC

HIT

ECTU

RE UI engine client (web browser)UI engine client (web browser)

BPEL4UI editor BPEL4UI Compiler

BPEL engine

UI engine server

UI engine client (web browser)

BPEL4UI

BPEL SOAP web services

Application developer

Design time Deployment time Runtime

HTML templates

Users

Layout and UI logic generator

BPEL generator

Comm. services generator

Layout configurator

UI partner link configurator

UI page

UI page

Page 15: PhD thesis

RESULTS

patent

EXPLOITATION PAPERS

Distributed orchestration of user interfaces. Information Systems 2012, Elsevier journal, Special Issue on BPM’10 Best Papers

People to Services to UI: Distributed Orchestration of User Interfaces BPM’10

MarcoFlow: Modeling, Deploying and Running Distributed User Interface Orchestrations. BPM’10 DEMO

Page 16: PhD thesis

LESSONS LEARNED

UI can be orchestrated with a process language.

Need for extensions (same abstraction).

Design / Deploy / Execute is effective for new actors.

IDEA: SAME APPROACH FOR WSN AND CROWD

Page 17: PhD thesis

WIRELESS SENSOR NETWORKS

Page 18: PhD thesis

WSN

Room: MOON

CO2

Ventilation

Temp

Presence

Few to manySensors & Actuators

Autonomous

Distributed Gateway

WSNs are stand-alone systems, coded by highly skilled programmers

“Networks of sensors and actuators able to interact with the physical environment”

Page 19: PhD thesis

SCENARIO

©"Graphitech"

Temp CO2

Ventilation

Presence

Room: MOON

CO2

Temp PresenceVentilation

Humidity

Room: MARS

Process engine

+-++-+

Reporting

Management

+-+

Booking

04

'12

APRIL '12

Secretary

Convention Center Building Convention Center Information System

Page 20: PhD thesis

GOAL

To support the creation and execution of applications whose logic spans across the process and the network of

sensors.

Page 21: PhD thesis

GOAL

©"Graphitech"

Temp CO2

Ventilation

Presence

Room: MOON

CO2

Temp PresenceVentilation

Humidity

Room: MARS

Process engine

+-++-+

Reporting

Management

+-+

Booking

04

'12

APRIL '12

Secretary

bp

wsn bp

bp

wsn bp

To support the creation and execution of applications whose logic spans across the process and the network of

sensors.

Page 22: PhD thesis

GOAL

©"Graphitech"

Temp CO2

Ventilation

Presence

Room: MOON

CO2

Temp PresenceVentilation

Humidity

Room: MARS

Process engine

+-++-+

Reporting

Management

+-+

Booking

04

'12

APRIL '12

Secretary

bp

wsnbp

bp

wsn

bp

To support the creation and execution of applications whose logic spans across the process and the network of

sensors.

Page 23: PhD thesis

CHALLENGES

Provide easy access to WSN capabilities.

Provide a set of modeling concepts to enable the specification of sensor network functionality

Provide a unified modeling for WSN applications and the process.

Create a tool and a language for the creation of process-driven WSN applications.

Enable the hybrid execution.

Page 24: PhD thesis

Orchestrate sensor web services

[Globiza09,Amundson06,Guinard10]

Expose Sensors as Web Services

[Spiess06, Spiess07,Karnouskos10]

Extend process language for sensors

[Meyer11,Sperner11]

Process based code generation

[Caracas11a,Caracas11b]

RELATED WORK

Page 25: PhD thesis

IDEA

Different types: split the design

WSN + BP

Deployment: create code for wsn + runnable process

Execution

We extend BPMN: BPMN4WSN WSN logic composition

DESIGN FOR WSN

Specific Constructs for internal WSN logic

CO2

Temp PresenceVentilation

Humidity

Room: MARS

wsn

Process engine

bp

CO2

Temp PresenceVentilation

Humidity

Room: MARS

wsn?

Page 26: PhD thesis

WSN MODELING

NodeWSNOperation

Has

WSNTask

Represents

Sense Actuate Aggregate

EoI

Location Thing

Has

Covered by BPMN4WSN

CO2 Ventilation AVG

inst

ance

of

inst

ance

of

inst

ance

of

WSNLogic construct

Has target

Tell Report Collect Local

WSN logic composition

tell action report action

local actioncollective action

Page 27: PhD thesis

BPMN4WSN

WSN

Aw

are

Intra

WSN

Performance

Room: MoonRead CO2

Page 28: PhD thesis

WSN INTERNAL LOGIC

Room: MoonRead CO2

tell action report action collective action

tell action report action collective action

tell action report action collective action

?

Page 29: PhD thesis

WSN INTERNAL LOGIC

Report: Stream

Local: Read CO2

report action

Read CO

Room: MoonRead CO2

2

local action

Page 30: PhD thesis

PROTOTYPE

*in collaboration with SAP

*

Page 31: PhD thesis

PROTOTYPE

*in collaboration with SAP

*

report action

local action

Page 32: PhD thesis

DESIGN

Code executed by the gateway.

Page 33: PhD thesis

SCRIPT TASK: SUBPROCESS

Check CO2

CO2Sensing (static:.., dynamic:..)

Targeting(static and dynamic)

Page 34: PhD thesis

DESIGN

Page 35: PhD thesis

ARCHITECTURE

BPMN4WSN editor

Process and WSN Logic compositions

Application developer

Design time

WSN Logic CompositionProcess

System developer

System description

BPMN4WSN Compiler

Process engine

Communication proxy

Deployment time Runtime

Process analysis

End point generation

Binary code

Executableprocess

WSNs

Proxy configuration

Binary code generation

Page 36: PhD thesis

EVALUATIONOVERALL MODELLING

DEPLOYMENT IN CADIZ, SPAIN

Euro

(K)

0

50

100

150

200

Wired traditional System WSN Only makeSense

0%

20%

40%

60%

80%

100%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Success Rates per Task (All Users, All Tasks)

No Success

Success (with help)

Success

[d5.4 makesense project]

Page 37: PhD thesis

RESULTSEXPLOITATION PUBLICATIONS

makeSense: Real-world Business Processes through Wireless Sensor Networks Conet 2013

Process-Based Design and Integration of Wireless Sensor Network Applications BPM2012

Towards business processes orchestrating the physical enterprise with wireless sensor networks ICSE2012

From Business Process Specifications to Sensor Network Deployments EWSN2012

makeSense: Easy Programming of Integrated Wireless Sensor Networks. EWSN2011

Page 38: PhD thesis

CROWDSOURCING

Page 39: PhD thesis

CROWDSOURCING

Crowd task

Task description

WorkersTask instances

Crowdsourcer Crowdsources or platform Worker(s)

Workers to berewarded ( )

Crowdsourcer or platform

Taskpublication

Workerpre-selection

Taskexecution

Validation & rewarding

“the practice of outsourcing a work to an undefined and large network of people via an open call for contribution” [howe]

Page 40: PhD thesis

people 3 cases

Find Patterns pictures

Evaluate assessment

CrowdsourcerCrowd

CROWD-BASED PATTERN MINING

Page 41: PhD thesis

CROWDSOURCING PROCESSES“the structuring of multiple crowd task and task instances"

Not natively supported by current crowdsourcing processes.

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Page 42: PhD thesis

CROWDSOURCING TACTICS

Crowdsourcing Platforms implement only one.

bid

tag picture

MARKETPLACE

design logo

CONTEST

code app

AUCTION

Page 43: PhD thesis

GOAL

To enable the creation and execution of crowdsourcing processes and of custom crowdsourcing tactics.

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Page 44: PhD thesis

RESEARCH CHALLENGES

Understand how to specify tasks for the crowd and how these tasks can be combined into a process logic.

Define modeling constructs for defining and configuring tasks executed by the crowd and to manage data. Define a modeling language that is able to orchestrate the crowd and other participants, such as web services. Provide a tool that enables the creation of crowd processes. Create a runtime environment.

Page 45: PhD thesis

BP & HUMANS

RELATED WORK

PARALLEL COMPUTING

Crowdforge [Kittur11] Turkomatic [Kulkarni 12] Jabberwocky [Ahmad11]

[Brambilla11,Brambilla12,Schall2012,Skopik2011..]

PROCESS COMPOSITION

CrowdWeaver [Kittur12] CrowdLang [Minder11]

PROCEDURAL PROGRAMMING

Turkit [Little10] Automan [Barowy 11]

Page 46: PhD thesis

IDEA

Combine process modelling and crowd tasks

CROWDSOURCING PROCESSES

We extend BPMN BPMN4Crowd

CROWD TASKSpecific constructs for crowd tasks

Specify constructs and modeling paradigms of tactics

CROWDSOURCING TACTICS

Unified modelling paradigm. Deployment and execution

Receive Result

ValidateResult Reward UserAssign taskCreate task

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Naive1

Page 47: PhD thesis

ARCHITECTURE

services

Crowd Computer

BPMN Engine

App, User and process data

BPMN Process

CroCo Crowd

Human actors

Crowd Process

Compilerand

Deployer

Crowdsourcer

BPMN4Crowd editor

Web Editor

Task pages

search

execute

invoke

do

do

Execute

Crowdsourcer

Design time Deployment time Runtime

Task web pages

Page 48: PhD thesis

BPMN4CROWDPr

oces

sC

row

d Ta

sk T

actic

Cro

wd

Task

in

tern

al

confi

gura

tions

Receive Result

ValidateResult Reward UserAssign task

Vote

Vote

Vote

Agreement

+

Create task

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Page 49: PhD thesis

MODELING PROCESSESPr

oces

sC

row

d Ta

sk T

actic

Cro

wd

Task

in

tern

al

confi

gura

tions

Receive Result

ValidateResult Reward UserAssign task

Vote

Vote

Vote

Agreement

+

Create task

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Page 50: PhD thesis

BPMN4CROWD

CROWDTASK

Specific for the Crowd. Additional parameters:

Description: In this task you have to identify .. User interface: http://ec2-aws.5234… Number of instances: 5 Deadline: 1M 0w 0d 0h 0m Validation: expert Reward: 0.5 $ Reward strategy: pay valid

Naive1

Page 51: PhD thesis

BPMN4CROWD

DATA OBJECT

set of sets

Naive1

Page 52: PhD thesis

DATA TRANSFORMATION

SPLIT DATA SET

Split Data Set

MERGE DATA SET

Merge Data Set

INPUT

OUTPUT

TASK

Page 53: PhD thesis

DATA TRANSFORMATIONSPLIT DATA

STRUCTUREJOIN DATA

STRUCTURE

Join Data Strucutre

Split Data Strucutre

INPUT

OUTPUT

TASK

Page 54: PhD thesis

DATA TRANSFORMATION

FILTER DATA

Filter Data

INPUT

OUTPUT

TASK

Page 55: PhD thesis

PATTERN MINING

Naive

Load data

Split1 Filter Patterns

Random3Split3 Filter Patterns

Choose10Split10 Filter Patterns

Evaluate Choose algorithm

Assess quality

Split1 Assess quality

Merge results

Choose assessstrategy

3 algorithms

Best

Quality assessment

Page 56: PhD thesis

MODELING TACTICSPr

oces

sC

row

d Ta

sk T

actic

Cro

wd

Task

in

tern

al

confi

gura

tions

Receive Result

ValidateResult Reward UserAssign task

Vote

Vote

Vote

Agreement

+

Create task

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Page 57: PhD thesis

CROWDCOMPUTER

Crowd engineTask manager

Reward manager

Crowd manager

Plugin manager

API interface

Metadata

Web services Payment services

Crowd computer

Quality manager

Crowd Task definitionCrowdCS Platform

Crowd Computer Specific task for the CroCo

Page 58: PhD thesis

TACTICSCrowdC

omputer

Receive Result

Retrive Task Definition Validate

ResultReward

UserAssign

Instance

Set Instance as expired

Set remaining Instance as

expired

Create an Instance

Worker

task.readtask.createInstance

task.assignInstance(Crowd.preselect)

task.storeResult

task.updateInstance(expired)

reward.give

task.updateRemainingInstances(expired)

task.stoptask.start

task.stopInstancequality.validate

MARKETPLACE

Page 59: PhD thesis

TACTICSCONTEST

Worker

Retrive Task Definition

Decide winner(s) Reward User(s)Collect Results

Cro

wdC

ompu

ter

task.readtask.start

task.stopreward.givequality.validate

Recive ResultCheck Preselection

Set Instance as expired

Remove the instance

Collect Results

Create an Instance

task.createInstance

task.assignInstance(Crowd.preselect)

task.deleteInstance

task.updateInstance(expired)

task.storeResult

task.update(contestStop)task.update(contestStart)

Page 60: PhD thesis

TACTICSAUCTION

Cro

wdC

ompu

ter

Receive ResultRetrive Task Definition

Set Task as expired

Review Result Reward User

Set Task as expired

WorkerCrowd

Check Bids

task.readtask.start

task.updateInstance(expired)

reward.givequality.validatetask.storeResult

task.stop

Create Instance

User.bid < Task.bid_level

True

Check Bids

Check Preselection

task.assignInstance

Assign Instance

Crowd.preselect task.createInstance

Page 61: PhD thesis

TACTICSMAILINGLIST

Assign instance to UserCreate Instance

Receive Result Validate Result Reward User

Set Instance as expired

Collect Results

Assign Tasks

task.createInstance task.assignInstance

task.storeResult reward.give

task.updateRemainingInstances(expired)

quality.validate

Cro

wdC

ompu

ter

Assign TasksRetrive Task Definition

Set remaining Instance as expired

Retrieve User List

Worker

Collect Results

task.readtask.start

crowd.getList

task.updateRemainingInstances(expired)

task.stop

Page 62: PhD thesis

CONFIGURING TACTICSPr

oces

sC

row

d Ta

sk T

actic

Cro

wd

Task

in

tern

al

confi

gura

tions

Receive Result

ValidateResult Reward UserAssign task

Vote

Vote

Vote

Agreement

+

Create task

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Page 63: PhD thesis

TACTIC CONFIGURATIONSExpert

Evaluate(expert)

Accept

Reject

yes

human taskquality.update(no)

quality.update(no)

Gold Data

Accept

Reject

Check Gold data questions

% correct answers >

threshold

machine task

quality.update(yes)

quality.update(no)

Agreement

Validate w3

Validate w2

Check Result(w1)

Check Result(w2)

Check Result(w3)

w1.validation=

w2.validation

quality.update(w3.answer)

quality.update(w2.answer)

crowd task

Collect Votes validation with avg

Compute average

crowd task machine task quality.update(avg)

Vote

Page 64: PhD thesis

CONFIGURING TACTICS

REWARD CAN BE CONFIGURED

Proc

ess

Cro

wd

Task

Tac

tic

Cro

wd

Task

in

tern

al

confi

gura

tions

Receive Result

ValidateResult Reward UserAssign task

Vote

Vote

Vote

Agreement

+

Create task

Load data

ChooseN

Assess quality

Random3

Naive1

Assess quality

Find best

Page 65: PhD thesis

DESIGN

A

B

C

Data items

Page 66: PhD thesis

services

Crowd Computer

BPMN Engine

App, User and process data

BPMN Process

CroCo Crowd

Human actors

Crowd Process

Compilerand

Deployer

Crowdsourcer

BPMN4Crowd editor

Web Editor

Task pages

search

execute

invoke

do

do

Execute

Crowdsourcer

Design time Deployment time Runtime

Task web pages

DESIGNA

B

C

Page 67: PhD thesis

services

Crowd Computer

BPMN Engine

App, User and process data

BPMN Process

CroCo Crowd

Human actors

Crowd Process

Compilerand

Deployer

Crowdsourcer

BPMN4Crowd editor

Web Editor

Task pages

search

execute

invoke

do

do

Execute

Crowdsourcer

Design time Deployment time Runtime

Task web pages

COMPILE & EXECUTE

A

B

C

Page 68: PhD thesis

services

Crowd Computer

BPMN Engine

App, User and process data

BPMN Process

CroCo Crowd

Human actors

Crowd Process

Compilerand

Deployer

Crowdsourcer

BPMN4Crowd editor

Web Editor

Task pages

search

execute

invoke

do

do

Execute

Crowdsourcer

Design time Deployment time Runtime

Task web pages

COMPILE & EXECUTE

Page 69: PhD thesis

COMPARISON

Naive

Load data

Split1 Filter Patterns

Random3Split3 Filter Patterns

Choose10Split10 Filter Patterns

Evaluate Choose algorithm

Assess quality

Split1 Assess quality

Merge results

Choose assessstrategy

Naive

Random3

Choose10

Load Split

Filter

Filter

Filter

Load Split

Load Split

Evaluate Choose algorithmMerge

Assess quality

Assess quality

Load Split

Choose assessstrategy

Merge

WITH BPMN4CROWD

WITHOUT BPMN4CROWD

Page 70: PhD thesis

RESULTSEXPLOITATION PUBLICATIONS

Business Processes for the Crowd Computer BPMS2 2013

Modeling and Enacting Flexible Crowdsourcing Processes To be submitted to TWEB

WWW.CROWDCOMPUTER.ORG

Page 71: PhD thesis

SUMMARIZING

Page 72: PhD thesis

BEFORE

Develop the logic of the applications Create a platform that is able to

support the execution Deploy and generate the code and the

communication channels !

High-level modeling languages Architecture that supports the design,

deployment, and execution of extended processes

Automated system for the code generation and deployment of

processes and of the actor logic. !!

we simplified the creation of process-driven application logic but the intrinsic complexity of the new actors cannot be completely eliminated

Process-driven logics, hence process languages. Focus on process modellers & skilled developers.

Domain-specific components as the core.

LESSON LEARNED & LIMITATIONS

AFTER

Page 73: PhD thesis

FUTURE WORK

WSN Multiple processes

Ease composition of WSN

CROWD Creation of task UIs

Support for platforms

Extend the languages for new requirements

Further user studies Release and improve the code and toolchains

CONTRIBUTIONSModeling languages to design distributed UI, sensor, and crowd-oriented

processes. We contributed with a set of extensions for existing process languages,

components to abstract the actors’ capabilities, and with tools that support the design, deployment and execution.

Page 74: PhD thesis

WWW.CROWDCOMPUTER.ORG

Business Processes for the Crowd Computer BPMS2 2013

Modeling and Enacting Flexible Crowdsourcing Processes To be submitted to TWEB

makeSense: Real-world Business Processes through Wireless Sensor Networks Conet 2013

Process-Based Design and Integration of Wireless Sensor Network Applications BPM2012

Towards business processes orchestrating the physical enterprise with wireless sensor networks ICSE2012

From Business Process Specifications to Sensor Network Deployments EWSN2012

makeSense: Easy Programming of Integrated Wireless Sensor Networks. EWSN2011

Distributed orchestration of user interfaces. Information Systems 2012, Elsevier journal, Special Issue on BPM’10 Best Papers

People to Services to UI: Distributed Orchestration of User Interfaces BPM’10

MarcoFlow: Modeling, Deploying and Running Distributed User Interface Orchestrations. BPM’10 DEMO

StefanoEverything should be made as simple as possible, but no simpler. (A.E.)

THANKSANY QUESTIONS?

Page 75: PhD thesis
Page 76: PhD thesis

BACKUP