PhD thesis
-
Upload
stefano-tranquillini -
Category
Education
-
view
134 -
download
0
Transcript of PhD thesis
Stefano Tranquillini
MODELS AND SYSTEMS FOR MANAGING SENSOR AND
CROWD-ORIENTED PROCESSES
ICT Phd School, University of Trento. 25.3.2014
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
GENERAL CONTRIBUTIONS
Process language extensions (for UIs, WSN, Crowd)
Design tools.
Runtime environments.
Architecture and approach.
Case studies.
DISTRIBUTED UI
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
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
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
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
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
Intra Page
Distributed
Web service
DESIGN
dr dr
dr op ws
PlaceHolder marcoflow-top-left
PlaceHolder marcoflow-bottom-right
PlaceHolder marcoflow-top-right
PlaceHolder marcoflow-bottom-left
BPEL4UI editor
UI pages
DESIGN
DESIGN
PlaceHolder marcoflow-top-left
PlaceHolder marcoflow-bottom-right
PlaceHolder marcoflow-top-right
PlaceHolder marcoflow-bottom-left
BPEL4UI editor
UI pages
BPEL engine
UI Engine
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
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
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
WIRELESS SENSOR NETWORKS
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”
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
GOAL
To support the creation and execution of applications whose logic spans across the process and the network of
sensors.
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.
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.
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.
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
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?
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
BPMN4WSN
WSN
Aw
are
Intra
WSN
Performance
Room: MoonRead CO2
WSN INTERNAL LOGIC
Room: MoonRead CO2
tell action report action collective action
tell action report action collective action
tell action report action collective action
?
WSN INTERNAL LOGIC
Report: Stream
Local: Read CO2
report action
Read CO
Room: MoonRead CO2
2
local action
PROTOTYPE
*in collaboration with SAP
*
PROTOTYPE
*in collaboration with SAP
*
report action
local action
DESIGN
Code executed by the gateway.
SCRIPT TASK: SUBPROCESS
Check CO2
CO2Sensing (static:.., dynamic:..)
Targeting(static and dynamic)
DESIGN
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
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]
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
CROWDSOURCING
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]
people 3 cases
Find Patterns pictures
Evaluate assessment
CrowdsourcerCrowd
CROWD-BASED PATTERN MINING
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
CROWDSOURCING TACTICS
Crowdsourcing Platforms implement only one.
bid
tag picture
MARKETPLACE
design logo
CONTEST
code app
AUCTION
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
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.
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]
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
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
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
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
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
BPMN4CROWD
DATA OBJECT
set of sets
Naive1
DATA TRANSFORMATION
SPLIT DATA SET
Split Data Set
MERGE DATA SET
Merge Data Set
INPUT
OUTPUT
TASK
DATA TRANSFORMATIONSPLIT DATA
STRUCTUREJOIN DATA
STRUCTURE
Join Data Strucutre
Split Data Strucutre
INPUT
OUTPUT
TASK
DATA TRANSFORMATION
FILTER DATA
Filter Data
INPUT
OUTPUT
TASK
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
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
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
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
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)
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
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
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
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
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
DESIGN
A
B
C
Data items
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
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
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
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
RESULTSEXPLOITATION PUBLICATIONS
Business Processes for the Crowd Computer BPMS2 2013
Modeling and Enacting Flexible Crowdsourcing Processes To be submitted to TWEB
WWW.CROWDCOMPUTER.ORG
SUMMARIZING
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
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.
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?
BACKUP