Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Visual Simple Transformations: Empowering End-Users to Wire Internet of Things Objects

Published: 27 April 2017 Publication History

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.

References

[1]
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.
[2]
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.
[3]
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.
[4]
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.
[5]
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.
[6]
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.
[7]
Anthony Anjorin, Marius Lauder, Sven Patzina, and Andy Schürr. 2011. eMoflon: Leveraging EMF and professional CASE tools. Informatik 192 (2011), 281.
[8]
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.
[9]
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.
[10]
Luigi Atzori, Antonio Iera, and Giacomo Morabito. 2010. The internet of things: A survey. Computer Networks 54, 15 (2010), 2787--2805.
[11]
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.
[12]
Alessandro Bassi et al. (Eds.). 2013. Enabling Things to Talk - Designing IoT Solutions With the IoT Architectural Reference Model. Springer.
[13]
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.
[14]
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.
[15]
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.
[16]
Scott Boag et al. 2002. XQuery 1.0: An XML Query Language. W3C.
[17]
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.
[18]
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.
[19]
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.
[20]
Bruce Bukovics. 2010. Pro WF: Windows Workflow in .NET 4. Apress.
[21]
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.
[22]
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.
[23]
Margaret Burnett, Curtis Cook, and Gregg Rothermel. 2004. End-user software engineering. Communications of the ACM 47, 9 (2004), 53--58.
[24]
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.
[25]
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.
[26]
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.
[27]
James Cheney. 2008. FLUX: functional updates for XML. In Proceedings of the ACM Sigplan Notices. ACM, 3--14.
[28]
James Clark. 1999. XSL Transformations (XSLT), W3C.
[29]
Volker Claus, Hartmut Ehrig, and Grzegorz Rozenberg. 1979. Graph-grammars and Their Application to Computer Science and Biology: International Workshop. Springer.
[30]
Sophie Cluet and Jérôme Siméon. 2000. YATL: A functional and declarative language for XML. Draft manuscript (2000).
[31]
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.
[32]
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.
[33]
Allen Cypher and Daniel Conrad Halbert. 1993. Watch What I Do: Programming by Demonstration. MIT Press.
[34]
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.
[35]
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.
[36]
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.
[37]
Wanda P. Dann, Stephen Cooper, and Randy Pausch. 2011. Learning to Program with Alice. Pearson.
[38]
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.
[39]
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.
[40]
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.
[41]
Carsten Eickhoff and Arjen P. de Vries. 2013. Increasing cheat robustness of crowdsourcing tasks. Information retrieval 16, 2 (2013), 121--137.
[42]
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.
[43]
Martin Fowler. 2004. UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd ed.). Addison-Wesley Professional.
[44]
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.
[45]
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.
[46]
Herbert Göttler. 1992. Diagram editors = graphs+ attributes+ graph grammars. International Journal of Man-Machine Studies 37, 4 (1992), 481--502.
[47]
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.
[48]
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.
[49]
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.
[50]
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.
[51]
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.
[52]
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.
[53]
Diane Jordan et al. 2007. Web services business process execution language version 2.0. OASIS Standard 11, 120 (2007), 5.
[54]
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.
[55]
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.
[56]
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.
[57]
Andrew J. Ko et al. 2011. The state of the art in end-user software engineering. ACM Computing Surveys (CSUR) 43, 3 (2011), 21.
[58]
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.
[59]
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.
[60]
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.
[61]
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.
[62]
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.
[63]
Henry Lieberman. 2001. Your Wish is My Command: Programming By Example. Morgan Kaufmann.
[64]
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.
[65]
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.
[66]
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.
[67]
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.
[68]
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.
[69]
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.
[70]
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.
[71]
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.
[72]
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.
[73]
Ž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.
[74]
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.
[75]
Gabriele Paolacci, Jesse Chandler, and Panagiotis G. Ipeirotis. 2010. Running experiments on amazon mechanical turk. Judgment and Decision Making 5, 5 (2010), 411--419.
[76]
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.
[77]
Helen Sharp, Yvonne Rogers, and Jenny Preece. 2007. Interaction Design: Beyond Human-Computer Interaction (2nd ed.). Wiley.
[78]
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.
[79]
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.
[80]
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.
[81]
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.

Cited By

View all
  • (2024)Pika: Empowering Non-Programmers to Author Executable Governance Policies in Online CommunitiesProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642012(1-18)Online publication date: 11-May-2024
  • (2023)PARROTProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/35808807:1(1-37)Online publication date: 28-Mar-2023
  • (2023)Leveraging Low Code Development of Smart Personal Assistants: An Integrated Design Approach with the SPADE MethodJournal of Management Information Systems10.1080/07421222.2023.217277640:1(96-129)Online publication date: 30-Mar-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computer-Human Interaction
ACM Transactions on Computer-Human Interaction  Volume 24, Issue 2
Special Issue EUD for IoT
April 2017
284 pages
ISSN:1073-0516
EISSN:1557-7325
DOI:10.1145/3077620
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 April 2017
Accepted: 01 January 2017
Revised: 01 December 2016
Received: 01 April 2016
Published in TOCHI Volume 24, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. End-user development
  2. internet of things
  3. transformations

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • ERC

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)31
  • Downloads (Last 6 weeks)3
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Pika: Empowering Non-Programmers to Author Executable Governance Policies in Online CommunitiesProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642012(1-18)Online publication date: 11-May-2024
  • (2023)PARROTProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/35808807:1(1-37)Online publication date: 28-Mar-2023
  • (2023)Leveraging Low Code Development of Smart Personal Assistants: An Integrated Design Approach with the SPADE MethodJournal of Management Information Systems10.1080/07421222.2023.217277640:1(96-129)Online publication date: 30-Mar-2023
  • (2022)Contextual Awareness Service of Internet of Things User Interaction Mode in Intelligent EnvironmentAdvances in Multimedia10.1155/2022/24660322022Online publication date: 1-Jan-2022
  • (2022)FortClash: Predicting and Mediating Unintended Behavior in Home AutomationProceedings of the ACM on Human-Computer Interaction10.1145/35322046:EICS(1-20)Online publication date: 17-Jun-2022
  • (2022)How do end-users program the Internet of Things?Behaviour & Information Technology10.1080/0144929X.2022.207116941:9(1865-1887)Online publication date: 11-May-2022
  • (2021)Remote monitoring of end-user created automations in field trialsJournal of Ambient Intelligence and Humanized Computing10.1007/s12652-021-03239-013:12(5669-5697)Online publication date: 12-Apr-2021
  • (2021)CHECKSUM: tracking changes and measuring contributions in cooperative systems modelingSoftware and Systems Modeling (SoSyM)10.1007/s10270-020-00840-320:4(1079-1122)Online publication date: 1-Aug-2021
  • (2021)Studying human-to-computer bias transferenceAI & Society10.1007/s00146-021-01328-438:4(1659-1683)Online publication date: 27-Dec-2021
  • (2021)A Review on Visual Programming for Distributed Computation in IoTComputational Science – ICCS 202110.1007/978-3-030-77970-2_34(443-457)Online publication date: 16-Jun-2021
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media