Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

0

Share

Download to read offline

PhD thesis

Download to read offline

Slides of the PhD Defense in 2014.
"Models and Systems for Managing Sensor and crowd-oriented Processes"

  • Be the first to like this

PhD thesis

  1. 1. Stefano Tranquillini MODELS AND SYSTEMS FOR MANAGING SENSOR AND CROWD-ORIENTED PROCESSES ICT Phd School, University of Trento. 25.3.2014
  2. 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
  3. 3. GENERAL CONTRIBUTIONS Process language extensions (for UIs, WSN, Crowd) Design tools. Runtime environments. Architecture and approach. Case studies.
  4. 4. DISTRIBUTED UI
  5. 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. 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. 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. 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
  9. 9. BPEL4UI Process Activity Container Activity Catch Message Exchange Correlation Set Variable Partner Link Page Name Description TemplateURL UIEngineName isStartPage Actor Name Place Holder Name UI Component Name UI Type WSDL-UI Property Name Value Type Partner Link Type fault handlers accessible to contains rendered in has described by 0..N 1..1 0..N 1..1 1..N 1..1 1..1 1..1 0..N 1..1 0..N described by 0..N 1..1 0..N 0..N 0..N 0..N 1..N 0..N
  10. 10. Intra Page Distributed Web service DESIGN dr dr dr op ws
  11. 11. PlaceHolder marcoflow-top-left PlaceHolder marcoflow-bottom-right PlaceHolder marcoflow-top-right PlaceHolder marcoflow-bottom-left BPEL4UI editor UI pages DESIGN
  12. 12. DESIGN
  13. 13. PlaceHolder marcoflow-top-left PlaceHolder marcoflow-bottom-right PlaceHolder marcoflow-top-right PlaceHolder marcoflow-bottom-left BPEL4UI editor UI pages BPEL engine UI Engine
  14. 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. 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. 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
  17. 17. WIRELESS SENSOR NETWORKS
  18. 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”
  19. 19. SCENARIO ©"Graphitech" Temp CO2 Ventilation Presence Room: MOON CO2 Temp Presence Ventilation Humidity Room: MARS Process engine +-+ +-+ Reporting Management +-+ Booking 04 '12 APRIL '12 Secretary Convention Center Building Convention Center Information System
  20. 20. GOAL To support the creation and execution of applications whose logic spans across the process and the network of sensors.
  21. 21. GOAL ©"Graphitech" Temp CO2 Ventilation Presence Room: MOON CO2 Temp Presence Ventilation 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.
  22. 22. GOAL ©"Graphitech" Temp CO2 Ventilation Presence Room: MOON CO2 Temp Presence Ventilation 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.
  23. 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.
  24. 24. 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
  25. 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. 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
  27. 27. BPMN4WSN WSNAwareIntraWSN Performance Room: Moon Read CO2
  28. 28. WSN INTERNAL LOGIC Room: Moon Read CO2 tell action report action collective action tell action report action collective action tell action report action collective action ?
  29. 29. WSN INTERNAL LOGIC Report: Stream Local: Read CO2 report action Read CO Room: Moon Read CO2 2 local action
  30. 30. PROTOTYPE *in collaboration with SAP *
  31. 31. PROTOTYPE *in collaboration with SAP * report action local action
  32. 32. DESIGN Code executed by the gateway.
  33. 33. SCRIPT TASK: SUBPROCESS Check CO2 CO2Sensing (static:.., dynamic:..) Targeting
 (static and dynamic)
  34. 34. DESIGN
  35. 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. 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. 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
  38. 38. CROWDSOURCING
  39. 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]
  40. 40. people 3 cases Find Patterns pictures Evaluate assessment Crowdsourcer Crowd CROWD-BASED PATTERN MINING
  41. 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
  42. 42. CROWDSOURCING TACTICS Crowdsourcing Platforms implement only one. bid tag picture MARKETPLACE design logo CONTEST code app AUCTION
  43. 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. 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. 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. 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. 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
  48. 48. BPMN4CROWDProcess CrowdTask Tactic CrowdTask internal configurations Receive Result Validate Result Reward UserAssign task Vote Vote Vote Agreement + Create task Load data ChooseN Assess quality Random3 Naive1 Assess quality Find best
  49. 49. MODELING PROCESSESProcess CrowdTask Tactic CrowdTask internal configurations Receive Result Validate Result Reward UserAssign task Vote Vote Vote Agreement + Create task Load data ChooseN Assess quality Random3 Naive1 Assess quality Find best
  50. 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
  51. 51. BPMN4CROWD DATA OBJECT set of sets Naive1
  52. 52. DATA TRANSFORMATION SPLIT DATA SET Split Data Set MERGE DATA SET Merge Data Set INPUT OUTPUT TASK
  53. 53. DATA TRANSFORMATION SPLIT DATA STRUCTURE JOIN DATA STRUCTURE Join Data Strucutre Split Data Strucutre INPUT OUTPUT TASK
  54. 54. DATA TRANSFORMATION FILTER DATA Filter Data INPUT OUTPUT TASK
  55. 55. 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 assess strategy 3 algorithms Best Quality assessment
  56. 56. MODELING TACTICSProcess CrowdTask Tactic CrowdTask internal configurations Receive Result Validate Result Reward UserAssign task Vote Vote Vote Agreement + Create task Load data ChooseN Assess quality Random3 Naive1 Assess quality Find best
  57. 57. 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
  58. 58. TACTICS CrowdComputer Receive Result Retrive Task Definition Validate Result Reward User Assign Instance Set Instance as expired Set remaining Instance as expired Create an Instance Worker task.read task.createInstance task.assignInstance (Crowd.preselect) task.storeResult task.updateInstance(expired) reward.give task.updateRemainingInstances(expired) task.stop task.start task.stopInstance quality.validate MARKETPLACE
  59. 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. 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. 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
  62. 62. CONFIGURING TACTICS Process CrowdTask Tactic CrowdTask internal configurations Receive Result Validate Result Reward UserAssign task Vote Vote Vote Agreement + Create task Load data ChooseN Assess quality Random3 Naive1 Assess quality Find best
  63. 63. TACTIC CONFIGURATIONS Expert Evaluate (expert) Accept Reject yes human task quality.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
  64. 64. CONFIGURING TACTICS REWARD CAN BE CONFIGURED Process CrowdTask Tactic CrowdTask internal configurations Receive Result Validate Result Reward UserAssign task Vote Vote Vote Agreement + Create task Load data ChooseN Assess quality Random3 Naive1 Assess quality Find best
  65. 65. DESIGN A B C Data items
  66. 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. 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. 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
  69. 69. COMPARISON Naive Load data Split1 Filter Patterns Random3Split3 Filter Patterns Choose10Split10 Filter Patterns Evaluate Choose algorithm Assess quality Split1 Assess quality Merge results Choose assess strategy Naive Random3 Choose10 Load Split Filter Filter Filter Load Split Load Split Evaluate Choose algorithm Merge Assess quality Assess quality Load Split Choose assess strategy Merge WITH BPMN4CROWD WITHOUT BPMN4CROWD
  70. 70. RESULTS EXPLOITATION PUBLICATIONS Business Processes for the Crowd Computer BPMS2 2013 Modeling and Enacting Flexible Crowdsourcing Processes To be submitted to TWEB WWW.CROWDCOMPUTER.ORG
  71. 71. SUMMARIZING
  72. 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. 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. 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?
  75. 75. BACKUP

Slides of the PhD Defense in 2014. "Models and Systems for Managing Sensor and crowd-oriented Processes"

Views

Total views

332

On Slideshare

0

From embeds

0

Number of embeds

17

Actions

Downloads

6

Shares

0

Comments

0

Likes

0

×