Skip to main content

My IoT Puzzle: Debugging IF-THEN Rules Through the Jigsaw Metaphor

  • Conference paper
  • First Online:
End-User Development (IS-EUD 2019)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11553))

Included in the following conference series:

Abstract

End users can nowadays define applications in the format of IF-THEN rules to personalize their IoT devices and online services. Along with the possibility to compose such applications, however, comes the need to debug them, e.g., to avoid unpredictable and dangerous behaviors. In this context, different questions are still unexplored: which visual languages are more appropriate for debugging IF-THEN rules? Which information do end users need to understand, identify, and correct errors? To answer these questions, we first conducted a literature analysis by reviewing previous works on end-user debugging, with the aim of extracting design guidelines. Then, we developed My IoT Puzzle, a tool to compose and debug IF-THEN rules based on the Jigsaw metaphor. My IoT Puzzle interactively assists users in the debugging process with different real-time feedback, and it allows the resolution of conflicts by providing textual and graphical explanations. An exploratory study with 6 participants preliminary confirms the effectiveness of our approach, showing that the usage of the Jigsaw metaphor, along with real-time feedback and explanations, helps users understand and fix conflicts among IF-THEN rules.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://ifttt.com, last visited on February 26, 2019.

  2. 2.

    https://zapier.com, last visited on February 26, 2019.

  3. 3.

    https://angular.io/, last visited on February 26, 2019.

  4. 4.

    https://jquery.com/, last visited on February 26, 2019.

  5. 5.

    https://getbootstrap.com/, last visited on February 26, 2019.

  6. 6.

    A detailed description of the rules used in the evaluation can be found in the Appendix.

References

  1. Akiki, P.A., Bandara, A.K., Yu, Y.: Visual simple transformations: empowering end-users to wire internet of things objects. ACM Trans. Comput.-Hum. Interact. 24(2), 10:1–10:43 (2017)

    Article  Google Scholar 

  2. Barricelli, B.R., Valtolina, S.: Designing for end-user development in the internet of things. In: Díaz, P., Pipek, V., Ardito, C., Jensen, C., Aedo, I., Boden, A. (eds.) IS-EUD 2015. LNCS, vol. 9083, pp. 9–24. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-18425-8_2

    Chapter  Google Scholar 

  3. Brich, J., Walch, M., Rietzler, M., Weber, M., Schaub, F.: Exploring end user programming needs in home automation. ACM Trans. Comput.-Hum. Interact. 24(2), 11:1–11:35 (2017)

    Article  Google Scholar 

  4. Brush, A.B., Lee, B., Mahajan, R., Agarwal, S., Saroiu, S., Dixon, C.: Home automation in the wild: challenges and opportunities. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2011, pp. 2115–2124. ACM, New York (2011)

    Google Scholar 

  5. Caivano, D., Fogli, D., Lanzilotti, R., Piccinno, A., Cassano, F.: Supporting end users to control their smart home: design implications from a literature review and an empirical investigation. J. Syst. Softw. 144, 295–313 (2018)

    Article  Google Scholar 

  6. Cao, J., Rector, K., Park, T.H., Fleming, S.D., Burnett, M., Wiedenbeck, S.: A debugging perspective on end-user mashup programming. In: 2010 IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 149–156, September 2010

    Google Scholar 

  7. Cerf, V., Senges, M.: Taking the internet to the next physical level. IEEE Comput. 49(2), 80–86 (2016)

    Article  Google Scholar 

  8. Corno, F., De Russis, L., Monge Roffarello, A.: Empowering end users in debugging trigger-action rules. In: Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems, CHI 2019. ACM, New York (2019, in press)

    Google Scholar 

  9. Corno, F., De Russis, L., Monge Roffarello, A.: A high-level semantic approach to end-user development in the internet of things. Int. J. Hum.-Comput. Stud. 125, 41–54 (2019)

    Article  Google Scholar 

  10. Dahl, Y., Svendsen, R.-M.: End-user composition interfaces for smart environments: a preliminary study of usability factors. In: Marcus, A. (ed.) DUXU 2011. LNCS, vol. 6770, pp. 118–127. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21708-1_14

    Chapter  Google Scholar 

  11. Danado, J., Paternò, F.: Puzzle: a mobile application development environment using a jigsaw metaphor. J. Vis. Lang. Comput. 25(4), 297–315 (2014)

    Article  Google Scholar 

  12. Desolda, G., Ardito, C., Matera, M.: Empowering end users to customize their smart environments: model, composition paradigms, and domain-specific tools. ACM Trans. Comput.-Hum. Interact. 24(2), 12:1–12:52 (2017)

    Article  Google Scholar 

  13. Evans, D.: The internet of things: how the next evolution of the internet is changing everything. Technical report, Cisco Internet Business Solutions Group (2011)

    Google Scholar 

  14. Ghiani, G., Manca, M., Paternò, F., Santoro, C.: Personalization of context-dependent applications through trigger-action rules. ACM Trans. Comput.-Hum. Interact. 24(2), 14:1–14:33 (2017)

    Article  Google Scholar 

  15. Grigoreanu, V., Burnett, M., Wiedenbeck, S., Cao, J., Rector, K., Kwan, I.: End-user debugging strategies: a sensemaking perspective. ACM Trans. Comput.-Hum. Interact. 19(1), 5:1–5:28 (2012)

    Article  Google Scholar 

  16. Huang, J., Cakmak, M.: Supporting mental model accuracy in trigger-action programming. In: Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing, UbiComp 2015, pp. 215–225. ACM, New York (2015)

    Google Scholar 

  17. Huang, T.H.K., Azaria, A., Bigham, J.P.: Instructablecrowd: creating if-then rules via conversations with the crowd. In: Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems, CHI EA 2016, pp. 1555–1562. ACM, New York (2016)

    Google Scholar 

  18. Ko, A.J., Myers, B.A.: Designing the whyline: a debugging interface for asking questions about program behavior. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2004, pp. 151–158. ACM, New York (2004)

    Google Scholar 

  19. Ko, A.J., Myers, B.A., Coblenz, M.J., Aung, H.H.: An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Trans. Softw. Eng. 32(12), 971–987 (2006)

    Article  Google Scholar 

  20. Ko, A.J., Myers, B.A.: Finding causes of program output with the Java whyline. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2009, pp. 1569–1578. ACM, New York (2009)

    Google Scholar 

  21. Kulesza, T., Burnett, M., Wong, W.K., Stumpf, S.: Principles of explanatory debugging to personalize interactive machine learning. In: Proceedings of the 20th International Conference on Intelligent User Interfaces, IUI 2015, pp. 126–137. ACM, New York (2015)

    Google Scholar 

  22. Lee, J., Garduño, L., Walker, E., Burleson, W.: A tangible programming tool for creation of context-aware applications. In: Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing, UbiComp 2013, pp. 391–400. ACM, New York (2013)

    Google Scholar 

  23. Lieberman, H., Paternò, F., Klann, M., Wulf, V.: End user development. In: Lieberman, H., Paternó, F., Wulf, V. (eds.) End-User Development: An Emerging Paradigm, pp. 1–8. Springer, Dordrecht (2006). https://doi.org/10.1007/1-4020-5386-X_1

    Chapter  Google Scholar 

  24. Lim, B.Y., Dey, A.K.: Toolkit to support intelligibility in context-aware applications. In: Proceedings of the 12th ACM International Conference on Ubiquitous Computing, UbiComp 2010, pp. 13–22. ACM, New York (2010)

    Google Scholar 

  25. Lim, B.Y., Dey, A.K., Avrahami, D.: Why and why not explanations improve the intelligibility of context-aware intelligent systems. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2009, pp. 2119–2128. ACM, New York (2009)

    Google Scholar 

  26. Manca, M., Santoro, C., Corcella, L.: Supporting end-user debugging of trigger-action rules for IoT applications. Int. J. Hum. Comput. Stud. 123, 56–69 (2019)

    Article  Google Scholar 

  27. Myers, B.A., et al.: Making end user development more natural. In: Paternò, F., Wulf, V. (eds.) New Perspectives in End-User Development, pp. 1–22. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-60291-2_1

    Chapter  Google Scholar 

  28. Namoun, A., Daskalopoulou, A., Mehandjiev, N., Xun, Z.: Exploring mobile end user development: existing use and design factors. IEEE Trans. Softw. Eng. 42(10), 960–976 (2016)

    Article  Google Scholar 

  29. Reisinger, M., Schrammel, J., Fröhlich, P.: Visual end-user programming in smart homes: complexity and performance. In: 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 331–332, October 2017

    Google Scholar 

  30. Reisinger, M.R., Schrammel, J., Fröhlich, P.: Visual languages for smart spaces: end-user programming between data-flow and form-filling. In: 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 165–169, October 2017

    Google Scholar 

  31. Repenning, A., Sumner, T.: Agentsheets: a medium for creating domain-oriented visual languages. Computer 28(3), 17–25 (1995)

    Article  Google Scholar 

  32. Resnick, M., et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)

    Article  Google Scholar 

  33. Rietzler, M., Greim, J., Walch, M., Schaub, F., Wiedersheim, B., Weber, M.: homeBLOX: introducing process-driven home automation. In: Proceedings of the 2013 ACM Conference on Pervasive and Ubiquitous Computing Adjunct Publication, UbiComp 2013, pp. 801–808. ACM, New York (2013)

    Google Scholar 

  34. Rode, J., Rosson, M.B.: Programming at runtime: requirements and paradigms for nonprogrammer web application development. In: Proceedings of the 2003 IEEE Symposium on Human Centric Computing Languages and Environments, HCC 2003, pp. 23–30. IEEE Computer Society, Washington, DC (2003)

    Google Scholar 

  35. Subrahmaniyan, N., et al.: Explaining debugging strategies to end-user programmers. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, VLHCC 2007, pp. 127–136. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  36. Ur, B., et al.: Trigger-action programming in the wild: An analysis of 200,000 IFTTT recipes. In: Proceedings of the 34rd Annual ACM Conference on Human Factors in Computing Systems, CHI 2016, pp. 3227–3231. ACM, New York (2016)

    Google Scholar 

  37. Ur, B., McManus, E., Pak Yong Ho, M., Littman, M.L.: Practical trigger-action programming in the smart home. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2014, pp. 803–812. ACM, New York (2014)

    Google Scholar 

  38. User Interface Group, U.: Alice: rapid prototyping for virtual reality. IEEE Comput. Graph. Appl. 15(3), 8–11 (1995)

    Google Scholar 

Download references

Acknowledgments

The authors wish to thanks Alessia Carosella for conducting the literature review and implementing the user interface of My IoT Puzzle.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alberto Monge Roffarello .

Editor information

Editors and Affiliations

Appendix: Rules Used in the Evaluation

Appendix: Rules Used in the Evaluation

The following trigger-action rules were used in the evaluation of My IoT Puzzle:

  • R1. If your Android smartphone detects that you enter the home area, then turn on the Philips Hue kitchen lamp.

  • R2. If your Android smartphone detects that you enter the home area, then turn off the Philips Hue kitchen lamp.

  • R3. If your Android smartphone detects that you enter the home area, then turn on a color loop on the Philips Hue kitchen lamp.

  • R4. If a new photo is added to the “ios” album on iOS Photo, then add the file on the “drpb” Dropbox folder.

  • R5. If a new photo is added to the “drpb” Dropbox folder, then upload the photo on Facebook.

  • R6. If there is a new photo post by you on Facebook, then add the photo to the “ios” album on iOS Photo.

  • R7. If your iPhone detects that you exit the work area, then lock the SmartThings office door.

  • R8. If the SmartThings office door is locked, then arm the Homeboy office security camera.

  • R9. If the Homeboy office security camera is armed, then unlock the SmarThings office door.

  • R10. If a new song is played on Amazon Alexa, then post a tweet with the song name on Twitter.

  • R11. If a new song is played on Amazon Alexa, then save the track on Spotify.

  • R12. If a new track is saved track on Spotify, then post a tweet with the song name on Twitter.

The rules generate 2 inconsistencies, 2 redundancies, and 1 loop:

  • R1 and R2 generate an inconsistency, because they share the same trigger while producing contradictory actions on the same device;

  • R7 and R9 generate an inconsistency, because they produce contradictory actions on the same device and are activated nearly at the same time, since R7 activates R8, and R8 activates R9;

  • R1 and R3 generate a redundancy, because they share the same trigger while producing two similar actions on the same device;

  • R10 and R12 generate a redundancy, because they produce similar actions on the same online service and are activated nearly at the same time, since R10 and R11 share the same trigger and R11 activates R12.

  • R4, R5, and R6 generate an infinite loop, because R4 activates R5, R5 activates R6, and R6 activates R4;

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Corno, F., De Russis, L., Monge Roffarello, A. (2019). My IoT Puzzle: Debugging IF-THEN Rules Through the Jigsaw Metaphor. In: Malizia, A., Valtolina, S., Morch, A., Serrano, A., Stratton, A. (eds) End-User Development. IS-EUD 2019. Lecture Notes in Computer Science(), vol 11553. Springer, Cham. https://doi.org/10.1007/978-3-030-24781-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-24781-2_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-24780-5

  • Online ISBN: 978-3-030-24781-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics