Abstract
The Internet of Things (IoT) is a rapidly progressing domain, with solutions ranging from large-scale urban infrastructures shared by all citizens, to smaller scale home-based ecosystems targeted to individuals and families. While the choice of functionality in large ecosystems is the responsibility of respective authorities, in home setups smartness implies individualization of automations. In this context, the notion of end-user programming gains increasing attention as a promising way to allow users develop personalized automations by deploying visual programming tools. Since in an IoT ecosystem devices may be invisible, embedded or hardly locatable, sometimes physically inaccessible, testing becomes very challenging, as bringing physical devices to certain states may be either impractical (e.g. window and door sensors) or overall unsafe (e.g. fire or smoke sensors). For this purpose we implemented a virtual testing environment where trials are executed in a protected runtime, not confined to a particular location, disengaged from the physical ecosystem. All our tools run locally in a typical mobile machine and may operate in standalone mode without connecting to real smart devices. Finally, for automations involving time and scheduling, we introduce a virtual time tool, so that testing is done on demand, not following or waiting the actual pace of physical time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Brooke, J.: SUS: a quick and dirty usability scale. In: Jordan, P.W., Thomas, B., Weerdmeester, B.A., McClelland, A.L. (eds.). Usability Evaluation in Industry. Taylor and Francis, London (1996)
Savidis, A.: Back to the Internet of Things future: when everybody crafts personal smart automations. In: Keynote Speech. IISA 2021 Conference (2021). https://doi.org/10.13140/RG.2.2.20423.83365
Farahmandpour, Z., Versteeg, S., Han, J., Kameswaran, A.: Service virtualisation of Internet-of-Things devices: techniques and challenges. In: IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE), Buenos Aires (May 22), pp. 32–35. IEEE (2017)
Blockly: Google Inc. A JavaScript library for building visual programming editors (2021). https://developers.google.com/blockly. Accessed May 2022
HomeKit: a software framework to configure, communicate with, and control smart-home appliances using Apple devices. Apple Inc (2022). https://www.apple.com/shop/accessories/all/homekit. Accessed May 2022
Wia: a cloud platform that makes creating IoT apps easier by linking IoT devices and external services (2022). https://www.wia.io/. Accessed May 2022
Embrio :visual, real-time, agent-based programming for Arduino (2022). https://www.embrio.io/. Accessed May 2022
XOD: an open-source visual programming language for microcontrollers (2022). https://xod.io/. Accessed May 2022
Zenodys: a fully visual IoT platform for industry (2022). https://www.zenodys.com/. Accessed May 2022
IoTivity: An open-source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things (2022). https://iotivity.org/. Accessed May 2022
Danado, J., Paternò, F.: A mobile end-user development environment for IoT applications exploiting the puzzle metaphor. ERCIM News 101 (2015). http://ercim-news.ercim.eu/en101
Open Interconnect Consortium – OIC. Standards for the development of the Internet of Things (2022). https://openconnectivity.org. Accessed May 2022
Node-Red: Low-level programming for even-driven applications (2022). https://nodered.org/. Accessed 05 2022
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_1
Dewan, P.: A demonstration of the flexibility of widget generation. In: Proceedings EICS 2010, pp. 315–320. ACM (2010). https://doi.org/10.1145/1822018.1822069
Savidis, A., Savaki, C.: Complete block-level visual debugger for blockly. In: Ahram, T., Karwowski, W., Pickl, S., Taiar, R. (eds.) IHSED 2019. AISC, vol. 1026, pp. 286–292. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-27928-8_43
Savidis, A., Valsamakis, Y., Linaritis, D.: Simulated IoT runtime with virtual smart devices: debugging and testing end-user automations. In Proceedings of the 17th International Conference on Web Information Systems and Technologies (October 26–28), WEBIST 2021, pp. 145–155. Scitepress (2021). ISBN: 978-989-758-536-4
Yang, C., Shen, W., Wang, X.: The Internet of Things in manufacturing: key issues and potential applications. IEEE Syst. Man Cybern. Mag. 4(1), 6–15 (2018). https://doi.org/10.1109/MSMC.2017.2702391
Dachyar, M., Zagloel, T., Saragih, L.: Knowledge growth and development: Internet of Things (IoT) research, 2006–2018. Heliyon 5(8) (2019). https://doi.org/10.1016/j.heliyon.2019.e02264
IoTify: Intelligent Test Automation for Enterprise IoT Apps (2022). https://iotify.io/. Accessed May 2022
Fuller, A., Fan, Z., Day, C., Barlow, C.: Digital twin: enabling technologies, challenges and open research. IEEE Access 8, 108952–108971 (2020)
Gelenter, D.H.: Mirror Worlds: or the Day Software Puts the Universe in a Shoebox—How It Will Happen and What It Will Mean. Oxford University Press, Oxford (1991). ISBN 978-0195079067
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer Nature Switzerland AG
About this paper
Cite this paper
Savidis, A., Valsamakis, Y. (2023). Virtual Testing Environment for Smart Automations in the Internet of Things. In: Marchiori, M., DomÃnguez Mayo, F.J., Filipe, J. (eds) Web Information Systems and Technologies. WEBIST WEBIST 2020 2021. Lecture Notes in Business Information Processing, vol 469. Springer, Cham. https://doi.org/10.1007/978-3-031-24197-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-24197-0_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-24196-3
Online ISBN: 978-3-031-24197-0
eBook Packages: Computer ScienceComputer Science (R0)