skip to main content
research-article

Design and Deployment of Expressive and Correct Web of Things Applications

Published: 27 October 2021 Publication History

Abstract

Consumer Internet of Things (IoT) applications are largely built through end-user programming in the form of event-action rules. Although end-user tools help simplify the building of IoT applications to a large extent, there are still challenges in developing expressive applications in a simple yet correct fashion. In this context, we propose a formal development framework based on the Web of Things specification. An application is defined using a composition language that allows users to compose the basic event-action rules to express complex scenarios. It is transformed into a formal specification that serves as the input for formal analysis, where the application is checked for functional and quantitative properties at design time using model checking techniques. Once the application is validated, it can be deployed and the rules are executed following the composition language semantics. We have implemented these proposals in a tool built on top of the Mozilla WebThings platform. The steps from design to deployment were validated on real-world applications.

References

[1]
Jan A. Bergstra, Alban Ponse, and Scott A. Smolka. 2001. Handbook of Process Algebra. Elsevier.
[2]
Imad Berrouyne, Mehdi Adda, Jean-Marie Mottu, Jean-Claude Royer, and Massimo Tisi. 2019. CyprIoT: Framework for modelling and controlling network-based IoT applications. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing. 832–841.
[3]
Julia Brich, Marcel Walch, Michael Rietzler, Michael Weber, and Florian Schaub. 2017. Exploring end user programming needs in home automation. ACM Transactions on Computer-Human Interaction (TOCHI) 24, 2 (2017), 1–35.
[4]
David Champelovier, Xavier Clerc, Hubert Garavel, Yves Guerte, Frédéric Lang, Christine McKinty, Vincent Powazny, Wendelin Serwe, and Gideon Smeding. 2018. Reference Manual of the LNT to LOTOS Translator.
[5]
Javier Cubo, Antonio Brogi, and Ernesto Pimentel. 2012. Behaviour-aware compositions of things. In 2012 IEEE International Conference on Green Computing and Communications. IEEE, 1–8.
[6]
Erwan Daubert, François Fouquet, Olivier Barais, Grégory Nain, Gerson Sunye, Jean-Marc Jézéquel, Jean-Louis Pazat, and Brice Morin. 2012. A models@ runtime framework for designing and managing service-based applications. In 2012 1st International Workshop on European Software Services and Systems Research-Results and Challenges (S-Cube’12). IEEE, 10–11.
[7]
Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An efficient SMT solver. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer, 337–340.
[8]
Luigi De Russis and Fulvio Corno. 2015. Homerules: A tangible end-user programming interface for smart homes. In Proceedings of the 33rd Annual ACM Conference Extended Abstracts on Human Factors in Computing Systems. 2109–2114.
[9]
Klaus R. Dittrich, Stella Gatziu, and Andreas Geppert. 1995. The active database management system manifesto: A rulebase of ADBMS features. In International Workshop on Rules in Database Systems. Springer, 1–17.
[10]
Matthew B. Dwyer, George S. Avrunin, and James C. Corbett. 1998. Property specification patterns for finite-state verification. In Proceedings of the 2nd Workshop on Formal Methods in Software Practice. 7–15.
[11]
AnnMarie Ericsson. 2009. Enabling Tool Support for Formal Analysis of ECA Rules. Ph.D. Dissertation. Linköping University Electronic Press.
[12]
Alexander Felfernig, Andreas Falkner, Seda Polat Erdeniz, Christoph Uran, and Paolo Azzoni. 2017. ASP-based knowledge representations for IoT configuration scenarios. In 19th International Configuration Workshop. 62.
[13]
Daniela Fogli, Rosa Lanzilotti, and Antonio Piccinno. 2016. End-user development tools for the smart home: A systematic literature review. In International Conference on Distributed, Ambient, and Pervasive Interactions. Springer, 69–79.
[14]
OpenJS Foundation. 2020. Node-RED: Low-code Programming for Event-driven Applications. https://nodered.org/.
[17]
Hubert Garavel and Frédéric Lang. 2001. SVL: A scripting language for compositional verification. In International Conference on Formal Techniques for Networked and Distributed Systems. Springer, 377–392.
[18]
Hubert Garavel, Frédéric Lang, and Radu Mateescu. 2015. Compositional verification of asynchronous concurrent systems using CADP. Acta Informatica 52, 4–5 (2015), 337–392.
[19]
Hubert Garavel, Frédéric Lang, Radu Mateescu, and Wendelin Serwe. 2013. CADP 2011: A toolbox for the construction and analysis of distributed processes. International Journal on Software Tools for Technology Transfer 15, 2 (2013), 89–107.
[20]
Hubert Garavel, Frédéric Lang, and Wendelin Serwe. 2017. From LOTOS to LNT. In ModelEd, TestEd, TrustEd. Springer, 3–26.
[21]
Giuseppe Ghiani, Marco Manca, Fabio Paternò, and Carmen Santoro. 2017. Personalization of context-dependent applications through trigger-action rules. ACM Transactions on Computer-Human Interaction (TOCHI) 24, 2 (2017), 1–33.
[22]
Tiago Gomes, P. Lopes, J. Alves, Pedro Mestre, Jorge Cabral, João L. Monteiro, and Adriano Tavares. 2017. A modeling domain-specific language for IoT-enabled operating systems. In 43rd Annual Conference of the IEEE Industrial Electronics Society (IECON’17). IEEE, 3945–3950.
[23]
Nicolas Harrand, Franck Fleurey, Brice Morin, and Knut Eilif Husa. 2016. ThingML: A language and code generation framework for heterogeneous targets. In Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems. 125–135.
[24]
Holger Hermanns. 2002. Interactive Markov chains. In Interactive Markov Chains. Springer, 57–88.
[25]
Kai-Hsiang Hsu, Yu-Hsi Chiang, and Hsu-Chun Hsiao. 2019. Safechain: Securing trigger-action programming from attack chains. IEEE Transactions on Information Forensics and Security 14, 10 (2019), 2607–2622.
[26]
Justin Huang and Maya Cakmak. 2015. Supporting mental model accuracy in trigger-action programming. In Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing. 215–225.
[27]
IFTTT. 2020. Every Thing Works Better Together. https://ifttt.com/.
[29]
SmartThings Inc.2020. Smart Things: Add a Little Smartness to Your Things. https://www.smartthings.com/.
[30]
Malte Isberner, Falk Howar, and Bernhard Steffen. 2015. The open-source LearnLib. In International Conference on Computer Aided Verification. Springer, 487–495.
[31]
Pierre Jeanjean, Benoit Combemale, and Olivier Barais. 2019. From DSL specification to interactive computer programming environment. In Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering. 167–178.
[32]
Xiaoqing Jin, Yousra Lembachar, and Gianfranco Ciardo. 2013. Symbolic verification of ECA rules.PNSE+ ModPE 989 (2013), 41–59.
[33]
Ajay Krishna, Michel Le Pallec, Radu Mateescu, Ludovic Noirie, and Gwen Salaün. 2019. IoT Composer: Composition and deployment of IoT applications. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion’19). IEEE, 19–22. https://doi.org/10.1109/ICSE-Companion.2019.00028
[34]
Ajay Krishna, Michel Le Pallec, Alejandro Martinez, Radu Mateescu, and Gwen Salaün. 2020. MOZART: Design and deployment of advanced IoT applications. In Companion of The Web Conference 2020 (WWW’20). ACM/IW3C2, 163–166. https://doi.org/10.1145/3366424.3383532
[35]
Ajay Krishna, Michel Le Pallec, Radu Mateescu, Ludovic Noirie, and Gwen Salaün. 2019. Rigorous design and deployment of IoT applications. In Proceedings of the 7th International Workshop on Formal Methods in Software Engineering (FormaliSE@ICSE’19). IEEE/ACM, 21–30. https://doi.org/10.1109/FormaliSE.2019.00011
[36]
Kim G. Larsen and Arne Skou. 1991. Bisimulation through probabilistic testing. Information and Computation 94, 1 (1991), 1–28.
[37]
Chieh-Jan Mike Liang, Lei Bu, Zhao Li, Junbei Zhang, Shi Han, Börje F. Karlsson, Dongmei Zhang, and Feng Zhao. 2016. Systematically debugging IoT control system correctness for building automation. In Proceedings of the 3rd ACM International Conference on Systems for Energy-Efficient Built Environments. 133–142.
[38]
Chieh-Jan Mike Liang, Börje F. Karlsson, Nicholas D. Lane, Feng Zhao, Junbei Zhang, Zheyi Pan, Zhao Li, and Yong Yu. 2015. SIFT: Building an internet of safe things. In Proceedings of the 14th International Conference on Information Processing in Sensor Networks. 298–309.
[39]
Marco Manca, Carmen Santoro, Luca Corcella, et al. 2019. Supporting end-user debugging of trigger-action rules for IoT applications. International Journal of Human-Computer Studies 123 (2019), 56–69.
[40]
Radu Mateescu and José Ignacio Requeno. 2018. On-the-fly model checking for extended action-based probabilistic operators. International Journal on Software Tools for Technology Transfer 20, 5 (2018), 563–587.
[41]
Radu Mateescu and Damien Thivolle. 2008. A model checking language for concurrent value-passing systems. In International Symposium on Formal Methods. Springer, 148–164.
[43]
Sachin Mittal, Wang Tsz Tam, and Chris Ko. 2018. Internet of Things: The Pillar of Artificial Intelligence. https://bit.ly/3dbzOwz.
[45]
Mozilla. 2020. WebThings: An Open Platform for Monitoring and Controlling Devices Over the Web. https://iot.mozilla.org/.
[46]
Alessandro A. Nacci, Vincenzo Rana, Bharathan Balaji, Paola Spoletini, Rajesh Gupta, Donatella Sciuto, and Yuvraj Agarwal. 2018. BuildingRules: A trigger-action–based system to manage complex commercial buildings. ACM Transactions on Cyber-Physical Systems 2, 2 (2018), 1–22.
[47]
Donald A. Norman. 1988. The Psychology of Everyday Things.Basic Books.
[48]
Business Process Model OMG. 2011. Notation (BPMN) Version 2.0 (2011). http://www.omg.org/spec/BPMN/2.0.
[49]
openHAB Community. 2020. openHAB: A Vendor and Technology Agnostic Open Source Automation Software for Your Home. https://www.openhab.org/.
[50]
David Park. 1981. Concurrency and automata on infinite sequences. In Theoretical Computer Science. Springer, 167–183.
[51]
Jean-Pierre Queille and Joseph Sifakis. 1983. Fairness and related properties in transition systems—A temporal logic to deal with fairness. Acta Informatica 19, 3 (1983), 195–220.
[52]
Madhuri Reddy, Nathan Stall, and Paula Rochon. 2020. How Coronavirus Could Forever Change Home Health Care, Leaving Vulnerable Older Adults Without Care and Overburdening Caregivers. https://theconversation.com/how-coronavirus-could-forever-change-home-health-care-leaving-vulnerable-older-adults-without-care-and-overburdening-caregivers-137220.
[54]
Blase Ur, Elyse McManus, Melwyn Pak Yong Ho, and Michael L. Littman. 2014. Practical trigger-action programming in the smart home. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 803–812.
[55]
Blase Ur, Melwyn Pak Yong Ho, Stephen Brawner, Jiyun Lee, Sarah Mennicken, Noah Picard, Diane Schulze, and Michael L. Littman. 2016. Trigger-action programming in the wild: An analysis of 200,000 IFTTT recipes. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems. 3227–3231.
[56]
Claudia Vannucchi, Michelangelo Diamanti, Gianmarco Mazzante, Diletta Romana Cacciagrano, Flavio Corradini, Rosario Culmone, Nikos Gorogiannis, Leonardo Mostarda, and Franco Raimondi. 2017. virony: A tool for analysis and verification of ECA rules in intelligent environments. In 2017 International Conference on Intelligent Environments (IE’17). IEEE, 92–99.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Internet of Things
ACM Transactions on Internet of Things  Volume 3, Issue 1
February 2022
201 pages
EISSN:2577-6207
DOI:10.1145/3492447
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 27 October 2021
Accepted: 01 July 2021
Revised: 01 June 2021
Received: 01 November 2020
Published in TIOT Volume 3, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. IoT
  2. behavioural modelling
  3. composition
  4. formal verification
  5. web of things

Qualifiers

  • Research-article
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)84
  • Downloads (Last 6 weeks)10
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media