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.

Empowering End Users in Debugging Trigger-Action Rules

42 views

Published on

Presentation of the paper "Empowering End Users in Debugging Trigger-Action Rules" at the 2019 CHI Conference on Human Factors in Computing Systems, held in Glasgow, UK.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Empowering End Users in Debugging Trigger-Action Rules

  1. 1. EMPOWERING END USERS IN DEBUGGING TRIGGER-ACTION RULES FULVIO CORNO, LUIGI DE RUSSIS, ALBERTO MONGE ROFFARELLO e-Lite https://elite.polito.it
  2. 2. The Internet of Things is a recognized paradigm that already helps society in many different ways, through applications ranging in scope from the individual to the planetary Vint Cerf and Max Senges, Google Research
  3. 3. A COMPLEX NETWORK OF PHYSICAL AND VIRTUAL OBJECTS
  4. 4. END USERS CAN PROGRAM THE IOT THROUGH TRIGGER-ACTION RULES
  5. 5. IF I PUBLISH A POST ON FACEBOOK THEN SHARE IT ON TWITTER IF THE SURVEILLANCE CAMERA RECOGNIZE ME THEN TURN ON THE SMART THERMOSTAT
  6. 6. TRIGGER-ACTION PROGRAMMING IS A DIFFICULT TASK, BUT CURRENT TOOLS DO NOT PROVIDE ANY HELP FOR DEBUGGING RULES
  7. 7. Enabling end users to debug their trigger-action rules by properly warning them when they are defining any troublesome or potentially dangerous behavior. Goal
  8. 8. Problems Loops InconsistenciesRedundancies
  9. 9. IF I post a photo on Facebook THEN save it on my iOS library IF I add a new photo on my iOS THEN post it on Instagram IF I post a photo on Instagram THEN post it on Facebook Loops Redundancies Inconsistencies
  10. 10. IF I play a new song on my Alexa THEN post a tweet on Twitter IF I play a new song on my Alexa THEN save the track on Spotify IF I save a track on Spotify THEN post a tweet on Twitter Loops Redundancies Inconsistencies
  11. 11. IF I exit home THEN turn off the Philips Hue lamp IF I exit home THEN set the Nest to Away mode IF the Nest is set to Away Mode THEN turn on the Philips Hue lamp Loops Redundancies Inconsistencies
  12. 12. STRATEGY 1: Highlighting rule conflicts STRATEGY 2: Simulating rule conflicts EUDebug
  13. 13. STRATEGY 2: Simulating rule conflicts STRATEGY 1: Identifying rule conflicts EUDebug
  14. 14. STRATEGY 1: Identifying rule conflicts STRATEGY 2: Simulating rule conflicts EUDebug
  15. 15. Petri Nets Ingredients EUPont
  16. 16. EUPont Petri Nets P1 P2 T1 PLACE TRANSITION PLACE
  17. 17. IF I exit home (T1) THEN turn off the kitchen Philips Hue lamp (A1) IF I exit home (T2) THEN set the Nest to Away mode (A2) IF the Nest is set to Away Mode (T3) THEN turn on the kitchen Philips Hue lamp (A3) R1 R3 R2 Petri Nets EUPont
  18. 18. IF I exit home (T1) THEN turn off the kitchen Philips Hue lamp (A1) IF I exit home (T2) THEN set the Nest to Away mode (A2) IF the Nest is set to Away Mode (T3) THEN turn on the kitchen Philips Hue lamp (A3) R1 R3 R2 Petri Nets EUPont
  19. 19. T1 = I exit home A1 = turn off the kitchen Hue lamp T1 A1 R1 Petri Nets EUPont
  20. 20. IF I exit home (T1) THEN turn off the kitchen Philips Hue lamp (A1) IF I exit home (T2) THEN set the Nest to Away mode (A2) IF the Nest is set to Away Mode (T3) THEN turn on the kitchen Philips Hue lamp (A3) R1 R3 R2 Petri Nets EUPont
  21. 21. T2 = I exit home A2 = set the Nest to Away mode T1 A1 R1 T2 A2 R2 Petri Nets EUPont
  22. 22. T1 = I exit home T2 = I exit home T1 A1 R1 T2 A2 R2 Petri Nets EUPont
  23. 23. T1|2 = I exit home T1 A1 R1 T2 A2 R2 T1|2 copy Petri Nets EUPont
  24. 24. IF I exit home (T1) THEN turn off the kitchen Philips Hue lamp (A1) IF I exit home (T2) THEN set the Nest to Away mode (A2) IF the Nest is set to Away Mode (T3) THEN turn on the kitchen Philips Hue lamp (A3) R1 R3 R2 Petri Nets EUPont
  25. 25. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 T3 = the Nest is set to Away mode A3 = turn on the kitchen Hue lamp Petri Nets EUPont
  26. 26. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 A2 = set the Nest to Away T3 = the Nest is set to Away Petri Nets EUPont
  27. 27. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate A2 = set the Nest to Away T3 = the Nest is set to Away Petri Nets EUPont
  28. 28. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate Petri Nets EUPont
  29. 29. EUPont: End User Programming ontology http://elite.polito.it/ontologies/eupont.owl [Corno, De Russis, Monge Roffarello, A High-Level Semantic Approach to End-User Development in the Internet of Things, IJHCS, 2018] Petri Nets EUPont
  30. 30. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off A1 = turn off the kitchen Hue lamp A3 = turn on the kitchen Hue lamp Petri Nets EUPont
  31. 31. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off T1|2 = I exit home Petri Nets EUPont
  32. 32. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off T1 = I exit home T2 = I exit home Petri Nets EUPont
  33. 33. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off T2 = I exit home A1 = turn off the kitchen Hue lamp Petri Nets EUPont
  34. 34. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off A1 = turn off the kitchen Hue lamp A2 = set the Nest to Away mode Petri Nets EUPont
  35. 35. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off A1 = turn off the kitchen Hue lamp T3 = the Nest is set to Away Mode Petri Nets EUPont
  36. 36. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off A1 = turn off the kitchen Hue lamp A3 = turn on the kitchen Hue lamp Petri Nets EUPont
  37. 37. T1|2 copy T1 A1 R1 T2 A2 R2 T3 A3 R3 activate EUPont: Lights on EUPont: Lights off A1 = turn off the kitchen Hue lamp A3 = turn on the kitchen Hue lamp Petri Nets EUPont
  38. 38. Exploratory Study Participants MethodologyResearch Questions
  39. 39. 9 males 6 females University students 20.34 mean age No experience in computer science and programming Participants Research Questions Methodology
  40. 40. UNDERSTANDABILITY Do end users understand problems and why the defined rules generate them? Participants Research Questions Methodology
  41. 41. Is highlighting the detected problems sufficient? Do users need a step-by-step simulation of the involved rules? IDENTIFICATION Participants Research Questions Methodology
  42. 42. 12 TRIGGER-ACTION RULES Participants MethodologyResearch Questions
  43. 43. 2 Inconsistencies 2 Redundancies 1 Loop IC1 12 TRIGGER-ACTION RULES IC2 RD1 RD2 LP Participants MethodologyResearch Questions
  44. 44. 2 Inconsistencies 2 Redundancies 1 Loop IC1 12 TRIGGER-ACTION RULES IC2 RD1 RD2 LP DIRECT PROBLEMS Participants MethodologyResearch Questions
  45. 45. 2 Inconsistencies 2 Redundancies 1 Loop IC1 12 TRIGGER-ACTION RULES IC2 RD1 RD2 LP INDIRECT PROBLEMS Participants MethodologyResearch Questions
  46. 46. 12 TRIGGER-ACTION RULES Participants MethodologyResearch Questions 2 Inconsistencies 2 Redundancies 1 Loop IC1 IC2 RD1 RD2 LP
  47. 47. Results Perceiving Problems Highlighting or Explaining? Understanding Problems
  48. 48. End users perceive problems in trigger-action rules differently: loops and inconsistencies are dangerous, redundancies can be even acceptable Perceiving Problems Understanding Problems Highlighting or Explaining?
  49. 49. 80 % discarded loops Perceiving Problems Understanding Problems Highlighting or Explaining?
  50. 50. 97.67 % discarded inconsistencies 80 % discarded loops Perceiving Problems Understanding Problems Highlighting or Explaining?
  51. 51. 46.67 % saved redundancies 97.67 % discarded inconsistencies 80 % discarded loops Perceiving Problems Understanding Problems Highlighting or Explaining?
  52. 52. The important thing is that the lamp is turned on, I do not care its color! RD1 - P13 Perceiving Problems Understanding Problems Highlighting or Explaining?
  53. 53. Some problems are difficult to understand: loops and indirect problems are often misinterpreted Perceiving Problems Understanding Problems Highlighting or Explaining?
  54. 54. 16,67 % misinterpretations when facing an inconsistency 13,34 % misinterpretations when facing a redundancy 40 % misinterpretations when facing a loop Perceiving Problems Understanding Problems Highlighting or Explaining?
  55. 55. 26.67 % misinterpretations when facing an indirect problem 10 % misinterpretations when facing a direct problem Perceiving Problems Understanding Problems Highlighting or Explaining?
  56. 56. I am sure that this problem will never occur with the rules I have defined! Moreover, such rules are useful, because the photo will be saved in 3 places at the same time. LP - P13 Perceiving Problems Understanding Problems Highlighting or Explaining?
  57. 57. Highlighting the detected problem is often not sufficient: a step-by-step simulation of the involved rules helps users understand difficult problems Perceiving Problems Understanding Problems Highlighting or Explaining?
  58. 58. 77,81 % of correct interpretations when a problem is highlighted 83,78 % correct interpretations when a problem is simulated Perceiving Problems Understanding Problems Highlighting or Explaining?
  59. 59. 77,81 % of correct interpretations when a problem is highlighted 83,78 % correct interpretations when a problem is simulated Perceiving Problems Understanding Problems Highlighting or Explaining? 50 % highlighted 71,43 % simulated FOR LOOPS
  60. 60. The step-by-step simulation helped me in understanding the loop because I could better see the evolution of the rules. It visually told me what happened! LP - P6 Perceiving Problems Understanding Problems Highlighting or Explaining?
  61. 61. SUMMARY We designed and implemented EUDdebug, a tool to enable end users to debug trigger-action rules for IoT personalization. We explored how users without programming skills would debug their rules with the help of EUDdebug, and we showed that: 1. Users perceive problems in trigger-action rules differently 2. Some problems are more complex than others 3. Step-by-step simulations help understanding problems
  62. 62. e–Lite https://elite.polito.it EMPOWERING END USERS IN DEBUGGING TRIGGER-ACTION RULES FULVIO CORNO, LUIGI DE RUSSIS, ALBERTO MONGE ROFFARELLO

×