CCBL: A Language for Better Supporting Context Centered Programming in the Smart Home

This paper presents CCBL (Cascading Contexts Based Language), an end-user programming language dedicated to Smart Home. We design CCBL to avoid the problems encountered by end-users programming with ECA (Event Conditions Actions), which is the dominant approach in the domain. We present the results of an experiment where we asked 21 adults (11 experimented programmers and 10 non-programmers) to express four increasingly complex behaviors using both CCBL and ECA. We show that significantly less errors were made using CCBL than using ECA. From this experiment, we also propose some categorization and explanation of the errors made when using ECA and explain why users avoid these errors when programming with CCBL.

[1]  Michael D. Ernst,et al.  Automatic Trigger Generation for Rule-based Smart Homes , 2016, PLAS@CCS.

[2]  Urpo Tuomela,et al.  Interaction and End-User Programming with a Context-Aware Mobile Application , 2005, INTERACT.

[3]  Pablo A. Haya,et al.  Towards a Ubiquitous End-User Programming System for Smart Spaces , 2010, J. Univers. Comput. Sci..

[4]  Stefan Saroiu,et al.  Home automation in the wild: challenges and opportunities , 2011, CHI.

[5]  Jo Vermeulen,et al.  From today's augmented houses to tomorrow's smart homes: new directions for home automation research , 2014, UbiComp.

[6]  Sybille Caffiau,et al.  Building and Using Home Automation Systems: A Field Study , 2015, IS-EUD.

[7]  Brad A. Myers,et al.  Studying the language and structure in non-programmers' solutions to programming problems , 2001, Int. J. Hum. Comput. Stud..

[8]  Timothy Sohn,et al.  iCAP: Interactive Prototyping of Context-Aware Applications , 2006, Pervasive.

[9]  Adrian Paschke ECA-RuleML: An Approach combining ECA Rules with temporal interval-based KR Event/Action Logics and Transactional Update Logics , 2006, ArXiv.

[10]  Maya Cakmak,et al.  Supporting mental model accuracy in trigger-action programming , 2015, UbiComp.

[11]  Brad A. Myers,et al.  Six Learning Barriers in End-User Programming Systems , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[12]  John Zimmerman,et al.  Principles of Smart Home Control , 2006, UbiComp.

[13]  Éric Rutten,et al.  Coordination of ECA Rules by Verification and Control , 2014, COORDINATION.

[14]  Blase Ur,et al.  Practical trigger-action programming in the smart home , 2014, CHI.