Advertisement

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

  • Fulvio Corno
  • Luigi De Russis
  • Alberto Monge RoffarelloEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11553)

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.

Keywords

End-user debugging Internet of Things Trigger-action programming Visual languages 

Notes

Acknowledgments

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

References

  1. 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)CrossRefGoogle Scholar
  2. 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_2CrossRefGoogle Scholar
  3. 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)CrossRefGoogle Scholar
  4. 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. 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)CrossRefGoogle Scholar
  6. 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 2010Google Scholar
  7. 7.
    Cerf, V., Senges, M.: Taking the internet to the next physical level. IEEE Comput. 49(2), 80–86 (2016)CrossRefGoogle Scholar
  8. 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. 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)CrossRefGoogle Scholar
  10. 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_14CrossRefGoogle Scholar
  11. 11.
    Danado, J., Paternò, F.: Puzzle: a mobile application development environment using a jigsaw metaphor. J. Vis. Lang. Comput. 25(4), 297–315 (2014)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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. 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)CrossRefGoogle Scholar
  15. 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)CrossRefGoogle Scholar
  16. 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. 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. 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. 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)CrossRefGoogle Scholar
  20. 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. 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. 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. 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_1CrossRefGoogle Scholar
  24. 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. 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. 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)CrossRefGoogle Scholar
  27. 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_1CrossRefGoogle Scholar
  28. 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)CrossRefGoogle Scholar
  29. 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 2017Google Scholar
  30. 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 2017Google Scholar
  31. 31.
    Repenning, A., Sumner, T.: Agentsheets: a medium for creating domain-oriented visual languages. Computer 28(3), 17–25 (1995)CrossRefGoogle Scholar
  32. 32.
    Resnick, M., et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)CrossRefGoogle Scholar
  33. 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. 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. 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. 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. 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. 38.
    User Interface Group, U.: Alice: rapid prototyping for virtual reality. IEEE Comput. Graph. Appl. 15(3), 8–11 (1995)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Fulvio Corno
    • 1
  • Luigi De Russis
    • 1
  • Alberto Monge Roffarello
    • 1
    Email author
  1. 1.Politecnico di TorinoTurinItaly

Personalised recommendations