Abstract
Empowering end-users to wire Internet of Things (IoT) objects (things and services) together would allow them to more easily conceive and realize interesting IoT solutions. A challenge lies in devising a simple end-user development approach to support the specification of transformations, which can bridge the mismatch in the data being exchanged among IoT objects. To tackle this challenge, we present Visual Simple Transformations (ViSiT) as an approach that allows end-users to use a jigsaw puzzle metaphor for specifying transformations that are automatically converted into underlying executable workflows. ViSiT is explained by presenting meta-models and an architecture for implementing a system of connected IoT objects. A tool is provided for supporting end-users in visually developing and testing transformations. Another tool is also provided for allowing software developers to modify, if they wish, a transformation's underlying implementation. This work was evaluated from a technical perspective by developing transformations and measuring ViSiT's efficiency and scalability and by constructing an example application to show ViSiT's practicality. A study was conducted to evaluate this work from an end-user perspective, and its results showed positive indications of perceived usability, learnability, and the ability to conceive real-life scenarios for ViSiT.
- Aditya Agrawal, Gabor Karsai, Sandeep Neema, Feng Shi, and Attila Vizhanyo. 2006. The design of a language for model transformations. Software 8 Systems Modeling 5, 3 (2006), 261--288.Google Scholar
- Aditya Agrawal, Tihamer Levendovszky, Jon Sprinkle, Feng Shi, and Gabor Karsai. 2002. Generative programming via graph transformations in the model-driven architecture. In Proceedings of the OOPSLA Workshop on Generative Techniques in the Context of Model Driven Architecture.Google Scholar
- David H. Akehurst, Behzad Bordbar, Michael J. Evans, W. Gareth J. Howells, and Klaus D. McDonald-Maier. 2006. SiTra: Simple transformations in java. In Proceedings of the Model Driven Engineering Languages and Systems. Springer, 351--364. Google ScholarDigital Library
- Pierre A. Akiki, Arosha K. Bandara, and Yijun Yu. 2013a. Cedar studio: An IDE supporting adaptive model-driven user interfaces for enterprise applications. In Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems. ACM, 139--144. DOI:https://doi.org/10.1145/2494603.2480332Google ScholarDigital Library
- Pierre A. Akiki, Arosha K. Bandara, and Yijun Yu. 2014. Integrating adaptive user interface capabilities in enterprise applications. In Proceedings of the 36th International Conference on Software Engineering. IEEE/ACM, 712--723. Google ScholarDigital Library
- Pierre A. Akiki, Arosha K. Bandara, and Yijun Yu. 2013b. RBUIS: Simplifying enterprise application user interfaces through engineering role-based adaptive behavior. In Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems. ACM, 3--12. DOI:https://doi.org/10.1145/2494603.2480297Google ScholarDigital Library
- Anthony Anjorin, Marius Lauder, Sven Patzina, and Andy Schürr. 2011. eMoflon: Leveraging EMF and professional CASE tools. Informatik 192 (2011), 281.Google Scholar
- Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, and Gabriele Taentzer. 2010. Henshin: Advanced concepts and tools for in-place EMF model transformations. In Proceedings of the Model Driven Engineering Languages and Systems. Springer, 121--135. Google ScholarCross Ref
- Balaji Athreya, Faezeh Bahmani, Alex Diede, and Chris Scaffidi. 2012. End-user programmers on the loose: A study of programming on the phone for the phone. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’12). IEEE, 75--82. Google ScholarCross Ref
- Luigi Atzori, Antonio Iera, and Giacomo Morabito. 2010. The internet of things: A survey. Computer Networks 54, 15 (2010), 2787--2805. Google ScholarDigital Library
- András Balogh and Dániel Varró. 2006. Advanced model transformation language constructs in the VIATRA2 framework. In Proceedings of the 2006 ACM Symposium on Applied Computing (SAC’06). ACM, New York, NY, 1280--1287. DOI:https://doi.org/10.1145/1141277.1141575Google ScholarDigital Library
- Alessandro Bassi et al. (Eds.). 2013. Enabling Things to Talk - Designing IoT Solutions With the IoT Architectural Reference Model. Springer.Google Scholar
- Joey Benedek and Trish Miner. 2002. Measuring desirability: New methods for evaluating desirability in a usability lab setting. In Proceedings of the Usability Professionals Association. 2003 (2002), 8--12.Google Scholar
- Amel Bennaceur and Valérie Issarny. 2015. Automated synthesis of mediators to support component interoperability. IEEE Transactions on Software Engineering 41, 3 (2015), 221--240. Google ScholarDigital Library
- Gábor Bergmann et al. 2015. VIATRA 3: A reactive model transformation platform. In Proceedings of the Theory and Practice of Model Transformations. Springer, 101--110. Google ScholarDigital Library
- Scott Boag et al. 2002. XQuery 1.0: An XML Query Language. W3C.Google Scholar
- Behzad Bordbar, Gareth Howells, Michael Evans, and Athanasios Staikopoulos. 2007. Model transformation from OWL-S to BPEL via SiTra. In Proceedings of the Model Driven Architecture-Foundations and Applications. Springer, 43--58. Google ScholarCross Ref
- Ansgar Bredenfeld and Raul Camposano. 1995. Tool integration and construction using generated graph-based design representations. In Proceedings of the 32nd Annual ACM/IEEE Design Automation Conference. ACM, 94--99. Google ScholarDigital Library
- J. Brooke. 1996. SUS: A quick and dirty usability scale. In Usability Evaluation in Industry, P. W. Jordan, B. Weerdmeester, A. Thomas, and I. L. Mclelland (Eds.). Taylor and Francis, London, UK.Google Scholar
- Bruce Bukovics. 2010. Pro WF: Windows Workflow in .NET 4. Apress. Google ScholarCross Ref
- Michael Buhrmester, Tracy Kwang, and Samuel D. Gosling. 2011. Amazon's mechanical turk: A new source of inexpensive, yet high-quality, data? Perspectives on Psychological Science 6, 1 (2011), 3--5. DOI:https://doi.org/10.1177/1745691610393980Google ScholarCross Ref
- Peter Buneman, Mary Fernandez, and Dan Suciu. 2000. UnQL: A query language and algebra for semistructured data based on structural recursion. The VLDB Journal—The International Journal on Very Large Data Bases 9, 1 (2000), 76--110.Google Scholar
- Margaret Burnett, Curtis Cook, and Gregg Rothermel. 2004. End-user software engineering. Communications of the ACM 47, 9 (2004), 53--58. Google ScholarDigital Library
- Margaret Burnett and Todd Kulesza. 2015. End-user development in internet of things: We the people. In Proceedings of the Workshop on End User Development in the Internet of Things Era. ACM.Google Scholar
- Cinzia Cappiello, Maristella Matera, Matteo Picozzi, Gabriele Sprega, Donato Barbagallo, and Chiara Francalanci. 2011. DashMash: A mashup environment for end user development. In Proceedings of the Web Engineering. Springer, 152--166. Google ScholarCross Ref
- Darren Carlson, Matthias Mögerle, Max Pagel, Shivam Verma, and David S. Rosenblum. 2015. A visual design toolset for drag-and-drop smart space configuration. In Proceedings of the 5th International Conference on Internet of Things.Google Scholar
- James Cheney. 2008. FLUX: functional updates for XML. In Proceedings of the ACM Sigplan Notices. ACM, 3--14. Google ScholarDigital Library
- James Clark. 1999. XSL Transformations (XSLT), W3C.Google Scholar
- Volker Claus, Hartmut Ehrig, and Grzegorz Rozenberg. 1979. Graph-grammars and Their Application to Computer Science and Biology: International Workshop. Springer. Google ScholarCross Ref
- Sophie Cluet and Jérôme Siméon. 2000. YATL: A functional and declarative language for XML. Draft manuscript (2000).Google Scholar
- Joelle Coutaz and James L. Crowley. 2016. A first-person experience with end-user development for smart homes. IEEE Pervasive Computing 15, 2 (2016), 26--39. Google ScholarDigital Library
- György Csertán, Gábor Huszerl, István Majzik, Zsigmond Pap, András Pataricza, and Dániel Varró. 2002. VIATRA-visual automated transformations for formal verification and validation of UML models. In Proceedings of the 17th IEEE International Conference on Automated Software Engineering (ASE’02). IEEE, 267--270. Google ScholarCross Ref
- Allen Cypher and Daniel Conrad Halbert. 1993. Watch What I Do: Programming by Demonstration. MIT Press.Google ScholarDigital Library
- Krzysztof Czarnecki and Simon Helsen. 2003. Classification of Model Transformation Approaches. In Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture. 1--17.Google Scholar
- Jose Danado and Fabio Paternò. 2014. Puzzle: A mobile application development environment using a jigsaw metaphor. Journal of Visual Languages 8 Computing 25, 4 (2014), 297--315.Google ScholarDigital Library
- Jose Danado and Fabio Paternò. 2012. Puzzle: A visual-based environment for end user development in touch-based mobile phones. In Proceedings of the Human-centered software engineering. Springer, 199--216. Google ScholarDigital Library
- Wanda P. Dann, Stephen Cooper, and Randy Pausch. 2011. Learning to Program with Alice. Pearson.Google Scholar
- Juan De Lara and Hans Vangheluwe. 2002. AToM3: A tool for multi-formalism and meta-modelling. In Proceedings of the Fundamental Approaches to Software Engineering. Springer, 174--188. Google ScholarCross Ref
- Markus von Detten, Christian Heinzemann, Marie Christin Platenius, Jan Rieke, Dietrich Travkin, and Stephan Hildebrandt. 2012. Story Diagrams--syntax and semantics. Technical Report tr-ri-12--324. Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn.Google Scholar
- Zoé Drey and Charles Consel. 2012. Taxonomy-driven prototyping of home automation applications: A novice-programmer visual language and its evaluation. Journal of Visual Languages 8 Computing 23, 6 (2012), 311--326. DOI:https://doi.org/http://dx.doi.org/10.1016/j.jvlc.2012.07.002 Google ScholarDigital Library
- Carsten Eickhoff and Arjen P. de Vries. 2013. Increasing cheat robustness of crowdsourcing tasks. Information retrieval 16, 2 (2013), 121--137. Google ScholarDigital Library
- G. Fischer, E. Giaccardi, Y. Ye, A. G. Sutcliffe, and N. Mehandjiev. 2004. Meta-design: A manifesto for end-user development. Communications of the ACM 47, 9 (September 2004), 33--37. DOI:https://doi.org/10.1145/1015864.1015884Google ScholarDigital Library
- Martin Fowler. 2004. UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd ed.). Addison-Wesley Professional.Google Scholar
- Tracy Gardner, Catherine Griffin, Jana Koehler, and Rainer Hauser. 2003. A review of OMG MOF 2.0 query/views/transformations submissions and recommendations towards the final standard. In Proceedings of the MetaModelling for MDA Workshop. Citeseer, 41.Google Scholar
- Giuseppe Ghiani, Fabio Paternò, and Lucio Davide Spano. 2009. Cicero designer: An environment for end-user development of multi-device museum guides. In Proceedings of the End-User Development. Springer, 265--274. Google ScholarDigital Library
- Herbert Göttler. 1992. Diagram editors = graphs+ attributes+ graph grammars. International Journal of Man-Machine Studies 37, 4 (1992), 481--502. Google ScholarDigital Library
- Thomas R. G. Green and Marian Petre. 1996. Usability analysis of visual programming environments: A “cognitive dimensions” framework. Journal of Visual Languages 8 Computing 7, 2 (1996), 131--174.Google ScholarCross Ref
- F. Hang and L. Zhao. 2015. Supporting end-user service composition: A systematic review of current activities and tools. In Proceedings of the International Conference on Web Services (ICWS’15). IEEE 479--486. DOI:https://doi.org/10.1109/ICWS.2015.70Google Scholar
- Soichiro Hidaka, Zhenjiang Hu, Kazuhiro Inaba, Hiroyuki Kato, and Keisuke Nakano. 2011. GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE’11). IEEE, 480--483. Google ScholarDigital Library
- Dat Dac Hoang, Hye-Young Paik, and Anne H. H. Ngu. 2010. Spreadsheet as a generic purpose mashup development environment. In Proceedings of the 8th International Conference on Service-Oriented Computing (ICSOC ‘2010), San Francisco, CA, December 7--10. Paul P. Maglio, Mathias Weske, Jian Yang, 8 Marcelo Fantinato (Eds.). Springer, Berlin, 273--287. Google ScholarCross Ref
- Jan Humble et al. 2003. “Playing with the bits” user-configuration of ubiquitous domestic environments. In Proceedings of the 5th International Conference on Ubiquitous Computing (UbiComp’03), Seattle, WA, October 12--15, Anind K. Dey, Albrecht Schmidt, 8 Joseph F. McCarthy (Eds.). Springer, Berlin, 256--263.Google Scholar
- Jeffrey C. F. Ho. 2015. Configuring devices as end-user programming in the era of internet of things. In Proceedings of the Workshop on End User Development in the Internet of Things Era. ACM.Google Scholar
- Diane Jordan et al. 2007. Web services business process execution language version 2.0. OASIS Standard 11, 120 (2007), 5.Google Scholar
- Frédéric Jouault, Freddy Allilaire, Jean Bézivin, Ivan Kurtev, and Patrick Valduriez. 2006. ATL: A QVT-like transformation language. In Proceedings of the Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications. ACM, 719--720.Google ScholarDigital Library
- Frédéric Jouault and Ivan Kurtev. 2006. Transforming models with ATL. In Proceedings of the IEEE Satellite Events at the MoDELS 2005 Conference. Springer, 128--138. Google ScholarDigital Library
- Robin H. Kay. 1993. A practical research tool for assessing ability to use computers: The computer ability survey (CAS). Journal of Research on Computing in Education 26, 1 (1993), 16--27. Google ScholarCross Ref
- Andrew J. Ko et al. 2011. The state of the art in end-user software engineering. ACM Computing Surveys (CSUR) 43, 3 (2011), 21.Google ScholarDigital Library
- Andrew Jensen Ko, Brad A. Myers, and Htet Htet Aung. 2004. Six learning barriers in end-user programming systems. In Proceedings of the IEEE Symposium on Visual Languages and Human Centric Computing. IEEE, 199--206.Google ScholarDigital Library
- Woralak Kongdenfha, Boualem Benatallah, Julien Vayssière, Régis Saint-Paul, and Fabio Casati. 2009. Rapid development of spreadsheet-based web mashups. In Proceedings of the 18th International Conference on World Wide Web (WWW’09). ACM, New York, NY, 851--860. DOI:https://doi.org/10.1145/1526709.1526824Google ScholarDigital Library
- Gerd Kortuem, Arosha K. Bandara, Nadia Smith, Mike Richards, and Marian Petre. 2013. Educating the internet-of-things generation. Computer 46, 2 (2013), 53--61. Google ScholarDigital Library
- Gerd Kortuem, Fahim Kawsar, Daniel Fitton, and Vasughi Sundramoorthy. 2010. Smart objects as building blocks for the internet of things. IEEE Internet Computing 14, 1 (2010), 44--51. Google ScholarDigital Library
- Angel Lagares Lemos, Moshe Chai Barukh, and Boualem Benatallah. 2013. DataSheets: A spreadsheet-based data-flow language. In Proceedings of the 11th International Conference on Service-Oriented Computing (ICSOC 2013), Samik Basu, Cesare Pautasso, Liang Zhang, 8 Xiang Fu (Eds.). Springer, Berlin, 616--623.Google ScholarDigital Library
- Henry Lieberman. 2001. Your Wish is My Command: Programming By Example. Morgan Kaufmann.Google Scholar
- Henry Lieberman, Fabio Paternò, Markus Klann, and Volker Wulf. 2006. End-user development: An emerging paradigm. In Proceedings of the End User Development. Springer, 1--8. Google ScholarCross Ref
- James Lin, Jeffrey Wong, Jeffrey Nichols, Allen Cypher, and Tessa A. Lau. 2009. End-user programming of mashups with vegemite. In Proceedings of the 14th International Conference on Intelligent User Interfaces (IUI’09). ACM, New York, NY, 97--106. DOI:https://doi.org/10.1145/1502650.1502667Google Scholar
- Greg Little, Tessa A. Lau, Allen Cypher, James Lin, Eben M. Haber, and Eser Kandogan. 2007. Koala: Capture, share, automate, personalize business processes on the web. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI’07). ACM, New York, NY, 943--946. DOI:https://doi.org/10.1145/1240624.1240767Google ScholarDigital Library
- Kun Ma, Bo Yang, and Ajith Abraham. 2012. A template-based model transformation approach for deriving multi-tenant saas applications. Acta Polytechnica Hungarica 9, 2 (2012), 25--41.Google Scholar
- John Maloney, Mitchel Resnick, Natalie Rusk, Brian Silverman, and Evelyn Eastmond. 2010. The scratch programming language and environment. ACM Transactions on Computing Education (TOCE) 10, 4 (2010), 16.Google ScholarDigital Library
- David Merrill, Jeevan Kalanithi, and Pattie Maes. 2007. Siftables: Towards sensor network user interfaces. In Proceedings of the 1st International Conference on Tangible and Embedded Interaction. ACM, 75--78. Google ScholarDigital Library
- Anders I. Mørch, Gunnar Stevens, Markus Won, Markus Klann, Yvonne Dittrich, and Volker Wulf. 2004. Component-based technologies for end-user development. Communications of the ACM 47, 9 (2004), 59--62. Google ScholarDigital Library
- Mark W. Newman, Ame Elliott, and Trevor F. Smith. 2008. Providing an integrated user experience of networked media, devices, and services through end-user composition. In Proceedings of the 6th International Conference on Pervasive Computing (Pervasive’08). Springer, Berlin, 213--227. DOI:https://doi.org/10.1007/978-3-540-79576-6_13Google Scholar
- Ulrich Nickel, Jörg Niere, and Albert Zündorf. 2000. The FUJABA environment. In Proceedings of the 22nd International Conference on Software Engineering. ACM, 742--745. Google ScholarDigital Library
- Željko Obrenović and Dragan Gašević. 2008. End-user service computing: Spreadsheets as a service composition tool. IEEE Transactions on Services Computing 1, 4 (2008), 229--242. DOI:https://doi.org/http://doi.ieeecomputersociety.org/10.1109/TSC.2008.16Google ScholarDigital Library
- Hugo Pacheco, Tao Zan, and Zhenjiang Hu. 2014. Biflux: A bidirectional functional update language for XML. In Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming. ACM, 147--158. Google ScholarDigital Library
- Gabriele Paolacci, Jesse Chandler, and Panagiotis G. Ipeirotis. 2010. Running experiments on amazon mechanical turk. Judgment and Decision Making 5, 5 (2010), 411--419.Google ScholarCross Ref
- Andy Schürr, Andreas J. Winter, and Albert Zündorf. 1995. Graph grammar engineering with PROGRES. In Proceedings of the Software Engineering (ESEC’95). Springer, 219--234. Google ScholarCross Ref
- Helen Sharp, Yvonne Rogers, and Jenny Preece. 2007. Interaction Design: Beyond Human-Computer Interaction (2nd ed.). Wiley.Google ScholarDigital Library
- João P. Sousa et al. 2011. TeC: End-user development of software systems for smart spaces. International Journal of Space-Based and Situated Computing 1, 4 (2011), 257--269. Google ScholarCross Ref
- Gabriele Taentzer. 2004. AGG: A graph transformation environment for modeling and validation of software. In Proceedings of the Applications of Graph Transformations with Industrial Relevance. Springer, 446--453. Google ScholarCross Ref
- Dániel Varró and András Pataricza. 2003. VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. Software and Systems Modeling 2, 3 (2003), 187--210. Google ScholarDigital Library
- Guiling Wang, Shaohua Yang, and Yanbo Han. 2009. Mashroom: End-user mashup programming using nested tables. In Proceedings of the 18th International Conference on World Wide Web (WWW’09). ACM, New York, NY, 861--870. DOI:https://doi.org/10.1145/1526709.1526825Google ScholarDigital Library
Index Terms
- Visual Simple Transformations: Empowering End-Users to Wire Internet of Things Objects
Recommendations
A high-level semantic approach to End-User Development in the Internet of Things
Highlights- Investigate whether a high-level representation can help end-user better create trigger-action rules in the IoT.
AbstractVarious programming environments for End-User Development (EUD) allow the composition of Internet of Things (IoT) applications, i.e., connections between IoT objects to personalize their joint behavior. These environments, however, ...
User-driven Design Guidelines for the Authoring of Cross-Device and Internet of Things Applications
NordiCHI '20: Proceedings of the 11th Nordic Conference on Human-Computer Interaction: Shaping Experiences, Shaping SocietyRecently we see an increasing number of solutions for the authoring of cross-device and Internet of Things (IoT) applications. While most of these authoring tools have been realised based on existing metaphors and evaluated in subsequent user studies, ...
HoloFlows: modelling of processes for the Internet of Things in mixed reality
AbstractOur everyday lives are increasingly pervaded by digital assistants and smart devices forming the Internet of Things (IoT). While user interfaces to directly monitor and control individual IoT devices are becoming more sophisticated and end-user ...
Comments