«To cite this version: Zo´ Drey, Charles Consel. Taxonomy-Driven Prototyping of Home Automation Applicae tions : a Novice-Programmer Visual Language ...»
The visual language VisualRDK  contrasts with the previous tools in that it targets a range of programmers, novice as well as experienced ones. VisualRDK is a programmatic approach, oﬀering language-inspired constructs such as processes, conditional cascades and signals. These numerous visual constructs mimic conventional programming, without speciﬁcally targeting the domain-speciﬁc aspects of home-automation orchestration logic. Pantagruel diﬀers from this approach in that rules are driven by (1) the entities and (2) connectors to orchestrate them.
Other visual prototyping tools like the rule-based language OSCAR  and Jigsaw , target domestic spaces and propose an approach to discovering, connecting and controlling services and devices. However, they oﬀer limited expressiveness to access the functionalities of entities.
10.4. End-user development for home automation Other approaches for enabling end users to “program” their own homes have been proposed to reduce the end-user programming burden while proposing rich applications based on abstractions. For example, the Media Cubes language  enables to program applications by composing cubes, representing abstract operations. This approach is based on a cognitive model  that enables the end user to get familiar with abstractions. Our approach could beneﬁt from this model to improve the usability of entity classes. MAPS  is another approach to design assistedliving applications using a design by composition approach. However, it is limited to handheld prompter applications.
Our approach follows the lines of end-user software engineering proposed by Mørch et al. .
Speciﬁcally, Pantagruel is based on a compositional approach, where the user connects components (i.e.,, sensors, actuators, and controllers) together to form an application. Moreover, constraints are integrated in the Pantagruel visual editor to guarantee correct composition and connection of the visual elements.
11. Conclusion and Future Work
Conclusion. Home automation concerns an increasing number of areas, creating a need to factorize knowledge about the entities that are relevant to each of these areas. This paper presents Pantagruel, an approach and a tool that integrate a taxonomical description of a home automation environment into a visual programming language. Rules are developed using a sensor-controlleractuator paradigm, parameterized with respect to a taxonomy of entities. We have used Pantagruel to develop a number of scenarios, demonstrating the beneﬁts of our taxonomy-based approach.
We explored the expressiveness of our taxonomy-based approach by deﬁning orchestration applications for a range of application areas that go beyond home automation. We developed applications for these areas, and tested most of them on a home automation simulator called DiaSim . The simulator enabled us to explore the expressiveness of Pantagruel programs in areas that would otherwise be out of reach. These studies resulted in an entity design space that is covered by the Pantagruel taxonomy language. We further studied the expressiveness of the Pantagruel orchestration language, parameterized by a taxonomy.
We conducted a usability study of Pantagruel orchestration language. This study has showed that it is accessible and intuitive to novice programmers. Still, improvements are needed to increase the usability of Pantagruel abstractions, as well as the eﬃciency of users while creating rules.
Future work. Our user study has showed interesting research directions towards improving usability. One of them would be to seamlessly integrating Pantagruel in the 2D editor, enabling rules to be created by directly selecting and connecting together the entities represented in the 2D model of the environment. Doing so could later lead to a programming-by-example development process . This research direction could also leverage recent advances in end-user software engineering . These works introduce various techniques (e.g., interactive testing and adapted debugging tools) to guide the end-user in writing correct applications using visual tools. For example, one could provide support to visually render the execution process of a rule subset prior to a complete program execution, provided a user-deﬁned input of test values.
A direction towards end-user usability would be to deﬁne various layers over Pantagruel, making it more user-friendly (e.g., providing a natural language-based programming layer such as CAMP ) and more adapted to the problem vocabulary of a domain expert (e.g., a caregiver, who would build assisted-living applications, is more comfortable when reasoning by means of “actions” rather than entities). This approach could still leverage the DiaSpec  platform while oﬀering area-speciﬁc programming metaphors.
Finally, we have developed various analyses for Pantagruel programs to guarantee properties such as safety, liveness, and non-interference of orchestration rules. These veriﬁcations could be integrated in the Pantagruel development environment, to drive the developer in writing correct orchestration logic.
 K. N. Truong, E. M. Huang, G. D. Abowd, A magnetic poetry interface for end-user programming of capture applications for the home, in: 6th Int’l Conference on Ubiquitous Computing (UbiComp), Springer, 2004, pp.
 J. Humble, A. Crabtree, T. Hemmings, K.-P. Åkesson, B. Koleva, T. Rodden, P. Hansson, "Playing with the Bits" user-conﬁguration of ubiquitous domestic environments, in: 5th Int’l Conference on Ubiquitous Computing (UbiComp), Vol. 2864, Springer, 2003, pp. 256–263.
 A. K. Dey, T. Sohn, S. Streng, J. Kodama, iCAP: Interactive prototyping of context-aware applications, in: 4th Int’l Conference on Pervasive Computing (Pervasive), Springer, 2006, pp. 254–271.
 Y. Li, J. I. Hong, J. A. Landay, Topiary: a tool for prototyping location-enhanced applications, in: 17th Symposium on User Interface Software and Technology (UIST), ACM, 2004, pp. 217–226.
 A. F. Blackwell, End-user developers at home, Commun. ACM 47 (2004) 65–66.
 A. I. Mørch, G. Stevens, M. Won, M. Klann, Y. Dittrich, V. Wulf, Component-based technologies for end-user development, Commun. ACM 47 (2004) 59–62.
 M. W. Newman, A. Elliott, T. F. Smith, Providing an integrated user experience of networked media, devices, and services through end-user composition, in: 6th Int’l Conference on Pervasive Computing (Pervasive), Springer, 2008, pp. 213–227.
 J. J. Pfeiﬀer Jr., Altaira: A rule-based visual language for small mobile robots, Journal of Visual Languages and Computing 9 (2) (1998) 127–150.
 J. Gindling, A. Ioannidou, J. Loh, O. Lokkebo, A. Repenning, Legosheets: A rule-based programming, simulation and manipulation environment for the leg0 programmable brick, in: Proceedings of the 11th Int’l IEEE Symposium on Visual Languages (VL ’95), 1995, pp. 172–179.
 J. Bruneau, W. Jouve, C. Consel, Diasim, a parameterized simulator for pervasive computing applications, in:
Proceedings of the 6th Int’l Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (Mobiquitous’09), ICST/IEEE, Toronto, CAN, 2009.
 A. Svensk, Design for cognitive assistance, Certec, 2001.
 S. P. Carmien, Socio-technical environments supporting distributed cognition for persons with cognitive disabilities, Ph.D. thesis, University of Colorado at Boulder, Boulder, CO, USA, aAI3239390 (2006).
 S. Carmien, M. Dawe, G. Fischer, A. Gorman, A. Kintsch, J. F. Sullivan, JR., Socio-technical environments supporting people with cognitive disabilities using public transportation, ACM Trans. Comput.-Hum. Interact. 12 (2005) 233–262.
 S. A. White, Business Process Modeling Notation, V. 1.0., http://bpmi.org (May 2004).
 Microsoft Corporation, The Microsoft Visual Programming Language, http://msdn.microsoft.com/en-us/ library/bb483088.aspx.
 S. B. Steinman, K. G. Carver, Visual Programming with Prograph CPX, Manning Publications Co., Greenwich, CT, USA, 1995.
 A. Repenning, Agentsheets: a tool for building domain-oriented dynamic, visual environments, Ph.D. thesis, University of Colorado at Boulder, Boulder, CO, USA (1993).
 D. C. Smith, A. Cypher, L. G. Tesler, Novice programming comes of age, Commun. ACM 43 (3) (2000) 75–81.
 J. van Gumster, Blender as an educational tool, in: SIGGRAPH Educators Program, 2003, p. 1.
 C. Neumann, R. A. Metoyer, M. M. Burnett, End-user strategy programming, Journal of Visual Languages and Computing 20 (1) (2009) 16–29.
 Z. Drey, C. Consel, A visual, open-ended approach to prototyping ubiquitous computing applications, in: Workshops of the 8th IEEE Int’l Conference on Pervasive Computing and Communications, 2010, pp. 817–819.
 B. Schilit, N. Adams, R. Want, Context-aware computing applications, in: Proceedings of the Workshop on Mobile Computing Systems and Applications, IEEE, 1994, pp. 85–90.
 A. Harter, A. Hopper, P. Steggles, A. Ward, P. Webster, The anatomy of a context-aware application, in: MobiCom ’99: Proceedings of the 5th annual ACM/IEEE Int’l conference on Mobile computing and networking, ACM, New York, NY, USA, 1999, pp. 59–68.
 D. Cassou, B. Bertran, N. Loriant, C. Consel, A generative programming approach to developing pervasive computing systems, in: GPCE’09: Proceedings of the 8th Int’l Conference on Generative Programming and Component Engineering, ACM, Denver, CO, USA, 2009, pp. 137–146.
 J. Brooke, J. sus-a quick and dirty usability scale, Jordan, P., Thomas, B. and Weerdmeester, B. (eds.). Usability Evaluation in Industry.
 J. R. Lewis, J. Sauro, The factor structure of the system usability scale, in: Proceedings of the 1st Int’l Conference on Human Centered Design, Springer-Verlag, Berlin, Heidelberg, 2009, pp. 94–103.
 A. Bangor, P. T. Kortum, J. T. Miller, An empirical evaluation of the system usability scale, Int’l Journal of HumanComputer Interaction 24 (6) (2008) 574–594.
 M. M. Burnett, D. W. McIntyre, Visual Programming, John WIley & Sons Inc., 1999.
 F. Paterno, Model-based design of interactive applications, Intelligence 11 (4) (2000) 26–38.
 D. Fogli, L. P. Provenza, A meta-design approach to the development of e-government services, Journal of Visual Languages and Computing 23 (2) (2012) 47 – 62.
 C. Ardito, B. R. Barricelli, P. Buono, M. F. Costabile, R. Lanzilotti, A. Piccinno, S. Valtolina, An ontology-based approach to product customization, in: Proceedings of the Third international conference on End-user development, IS-EUD’11, Springer-Verlag, Berlin, Heidelberg, 2011, pp. 92–106.
 A. Ranganathan, S. Chetan, J. Al-Muhtadi, R. H. Campbell, M. D. Mickunas, Olympus: A high-level programming model for pervasive computing environments, in: 3rd Int’l Conference on Pervasive Computing and Communications (PerCom), IEEE, 2005, pp. 7–16.
 E. Christensen, F. Curbera, G. Meredith, S. Weerawarana, Web service deﬁnition language (http://www.w3.
org/TR/wsdl), Tech. rep., W3C (March 2001).
 P. T. Cox, C. C. Risley, T. J. Smedley, Toward concrete representation in visual languages for robot control, Journal of Visual Languages and Computing 9 (2) (1998) 211–239.
 D. C. Smith, A. Cypher, J. C. Spohrer, Kidsim: Programming agents without a programming language, Commun.
ACM 37 (7) (1994) 54–67.
 A. Repenning, Bending the rules: steps toward semantically enriched graphical rewrite rules, in: Proceedings of the 11th Int’l IEEE Symposium on Visual Languages (VL ’95), IEEE, Washington, DC, USA, 1995, p. 226.
 D. Pessen, Ladder-diagram design for programmable controllers, Automatica 25 (3) (1989) 407–412.
 S. S. Peng, M. C. Zhou, Ladder diagram and petri-net-based discrete-event control design methods, Systems, Man, and Cybernetics IEEE Trans. on 34 (4) (2004) 523 –531.
 M. Resnick, J. Maloney, A. Monroy-Hernández, N. Rusk, E. Eastmond, K. Brennan, A. Millner, E. Rosenbaum, J. Silver, B. Silverman, Y. Kafai, Scratch: programming for all, Commun. ACM 52 (2009) 60–67.
 C. Kelleher, R. Pausch, Using storytelling to motivate programming, Commun. ACM 50 (2007) 58–64.
 T. Weis, M. Knoll, A. Ulbrich, G. Muhl, A. Brandle, Rapid prototyping for pervasive applications, IEEE Pervasive Computing 6 (2) (2007) 76–84.
 A. Blackwell, First steps in programming: a rationale for attention investment models, in: Human Centric Computing Languages and Environments, 2002. Proceedings. IEEE 2002 Symposia on, 2002, pp. 2 – 10.
 S. Carmien, End user programming and context responsiveness in handheld prompting systems for persons with cognitive disabilities and caregivers, in: CHI ’05 extended abstracts on Human factors in computing systems, ACM, 2005, pp. 1252–1255.
 D. C. Smith, A. Cypher, L. Tesler, Programming by example: novice programming comes of age, Commun. ACM 43 (3) (2000) 75–81.
 M. M. Burnett, C. Cook, G. Rothermel, End-user software engineering, Commun. ACM 47 (9) (2004) 53–58.
Appendix The following table shows the detailed time spent by each participant for deﬁning the rules of Tables 3 and 4 of Section 8.
Figure 13: Detailed development times (in minute) spent by the participants of our user study