1. Stefano Tranquillini
MODELS AND SYSTEMS
FOR MANAGING
SENSOR AND
CROWD-ORIENTED
PROCESSES
ICT Phd School, University of Trento. 25.3.2014
2. 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
5. DISTRIBUTED UI ORCHESTRATION
Mashup-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
6. 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
7. 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
8. 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
14. ARCHITECTURE
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
15. 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
16. 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
18. WSN
Room: MOON
CO2
Ventilation
Temp
Presence
Few to many
Sensors & 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”
23. 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.
25. 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
Presence
Ventilation
Humidity
Room: MARS
wsn
Process engine
bp
CO2
Temp
Presence
Ventilation
Humidity
Room: MARS
wsn?
26. WSN MODELING
Node
WSN
Operation
Has
WSN
Task
Represents
Sense Actuate Aggregate
EoI
Location Thing
Has
Covered by BPMN4WSN
CO2 Ventilation AVG
instanceof
instanceof
instanceof
WSN
Logic construct
Has target
Tell Report Collect Local
WSN logic composition
tell action report action
local actioncollective action
35. ARCHITECTURE
BPMN4WSN editor
Process and WSN
Logic compositions
Application
developer
Design time
WSN Logic
Composition
Process
System
developer
System
description
BPMN4WSN Compiler
Process engine
Communication proxy
Deployment time Runtime
Process analysis
End point
generation
Binary code
Executable
process
WSNs
Proxy
configuration
Binary code
generation
36. EVALUATION
OVERALL 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 Ta
[d5.4 makesense project]
37. RESULTS
EXPLOITATION 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
39. CROWDSOURCING
Crowd task
Task description
Workers
Task instances
Crowdsourcer Crowdsources or platform Worker(s)
Workers to be
rewarded ( )
Crowdsourcer or platform
Task
publication
Worker
pre-selection
Task
execution
Validation &
rewarding
“the practice of outsourcing a work to an undefined and large
network of people via an open call for contribution” [howe]
41. 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
43. 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
44. 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.
45. 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]
46. IDEA
Combine process modelling and crowd
tasks
CROWDSOURCING PROCESSES
We extend BPMN
BPMN4Crowd
CROWD TASK
Specific constructs for crowd tasks
Specify constructs and modeling
paradigms of tactics
CROWDSOURCING TACTICS
Unified modelling paradigm.
Deployment and execution
Receive
Result
Validate
Result
Reward UserAssign taskCreate task
Load data
ChooseN
Assess quality
Random3
Naive1
Assess quality
Find best
Naive1
47. ARCHITECTURE
services
Crowd Computer
BPMN Engine
App, User and
process data
BPMN
Process
CroCo Crowd
Human actors
Crowd
Process
Compiler
and
Deployer
Crowdsourcer
BPMN4Crowd editor
Web Editor
Task pages
search
execute
invoke
do
do
Execute
Crowdsourcer
Design time Deployment time Runtime
Task web pages
50. 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
59. TACTICS
CONTEST
Worker
Retrive Task
Definition
Decide
winner(s)
Reward User(s)Collect Results
CrowdComputer task.read
task.start
task.stopreward.givequality.validate
Recive Result
Check
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)
60. TACTICS
AUCTIONCrowdComputer
Receive Result
Retrive Task
Definition
Set Task as
expired
Review Result Reward User
Set Task as
expired
WorkerCrowd
Check Bids
task.read
task.start
task.updateInstance(expired)
reward.givequality.validate
task.storeResult
task.stop
Create Instance
User.bid < Task.bid_level
True
Check Bids
Check
Preselection
task.assignInstance
Assign Instance
Crowd.preselect
task.createInstance
61. TACTICS
MAILINGLIST
Assign instance
to User
Create 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
CrowdComputer
Assign Tasks
Retrive Task
Definition
Set remaining
Instance as expired
Retrieve User
List
Worker
Collect Results
task.read
task.start
crowd.getList
task.updateRemainingInstances(expired)
task.stop
66. services
Crowd Computer
BPMN Engine
App, User and
process data
BPMN
Process
CroCo Crowd
Human actors
Crowd
Process
Compiler
and
Deployer
Crowdsourcer
BPMN4Crowd editor
Web Editor
Task pages
search
execute
invoke
do
do
Execute
Crowdsourcer
Design time Deployment time Runtime
Task web pages
DESIGN
A
B
C
67. services
Crowd Computer
BPMN Engine
App, User and
process data
BPMN
Process
CroCo Crowd
Human actors
Crowd
Process
Compiler
and
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
68. services
Crowd Computer
BPMN Engine
App, User and
process data
BPMN
Process
CroCo Crowd
Human actors
Crowd
Process
Compiler
and
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
72. 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
73. 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
CONTRIBUTIONS
Modeling 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.
74. 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
Stefano
Everythingshouldbemadeassimpleaspossible,but nosimpler.(A.E.)
THANKS
ANY QUESTIONS?