skip to main content
research-article

Taming Internet of Things Application Development with the IoTvar Middleware

Published:19 May 2023Publication History
Skip Abstract Section

Abstract

In the last years, Internet of Things (IoT) platforms have been designed to provide IoT applications with various services such as device discovery, context management, and data filtering. The lack of standardization has led each IoT platform to propose its own abstractions, APIs, and data models. As a consequence, programming interactions between an IoT consuming application and an IoT platform is time-consuming, is error prone, and depends on the developers’ level of knowledge about the IoT platform. To address these issues, this article introduces IoTvar, a middleware library deployed on the IoT consumer application that manages all its interactions with IoT platforms. IoTvar relies on declaring variables automatically mapped to sensors whose values are transparently updated with sensor observations through proxies on the client side. This article presents the IoTvar architecture and shows how it has been integrated into the FIWARE, OM2M, and muDEBS platforms. We also report the results of experiments performed to evaluate IoTvar, showing that it reduces the effort required to declare and manage IoT variables and has no considerable impact on CPU, memory, and energy consumption.

REFERENCES

  1. [1] Alaya M. Ben, Banouar Y., Monteil T., Chassot C., and Drira K.. 2014. OM2M: Extensible ETSI-compliant M2M service platform with self-configuration capability. Procedia Computer Science 32 (2014), 10791086. The 5th International Conference on Ambient Systems, Networks and Technologies (ANT’14), the 4th International Conference on Sustainable Energy Information Technology (SEIT’14).Google ScholarGoogle ScholarCross RefCross Ref
  2. [2] Asghari Parvaneh, Rahmani Amir, and Javadi Hamid Haj Seyyed. 2018. Internet of things applications: A systematic review. Computer Networks 148 (Dec.2018), 241261.Google ScholarGoogle ScholarCross RefCross Ref
  3. [3] Benslimane Djamal, Dustdar Schahram, and Sheth Amit. 2008. Services mashups: The new generation of web applications. IEEE Internet Computing 12 (Oct.2008), 1315. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Borges Pedro Victor, Taconet Chantal, Chabridon Sophie, Conan Denis, Batista Thais, Cavalcante Everton, and Batista Cesar. 2019. Mastering interactions with internet of things platforms through the IoTVar middleware. Proceedings of the 13th International Conference on Ubiquitous Computing and Ambient Intelligence (UCAmI) 31, 1 (Nov.2019), 78.Google ScholarGoogle Scholar
  5. [5] Boujbel Raja, Rottenberg Sam, Leriche Sébastien, Taconet Chantal, Arcangeli Jean-Paul, and Lecocq Claire. 2014. MuScADeL: A deployment DSL based on a multiscale characterization framework. In 2014 IEEE 38th International Computer Software and Applications Conference Workshops. 708715. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Canek Rodrigo, Borges Pedro, and Taconet Chantal. 2022. Analysis of the impact of interaction patterns and IoT protocols on energy consumption of IoT consumer applications. In Distributed Applications and Interoperable Systems, Eyers David and Voulgaris Spyros (Eds.). Springer International Publishing, Cham, 131147.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Chaqfeh M. A. and Mohamed N.. 2012. Challenges in middleware solutions for the internet of things. In 2012 International Conference on Collaboration Technologies and Systems (CTS’12). 2126.Google ScholarGoogle ScholarCross RefCross Ref
  8. [8] Delicato Flávia C., Pires Paulo F., and Batista Thais. 2013. The Programming and Execution Module (PEM). Springer London, London, 4555. Google ScholarGoogle ScholarCross RefCross Ref
  9. [9] Denis N., Chaffardon P., Conan D., Laurent M., Chabridon S., and Leneutre J.. 2020. Privacy-preserving content-based publish/subscribe with encrypted matching and data splitting. In Proc. of the 17th International Joint Conference on e-Business and Telecommunications. INSTICC, SciTePress, 405414.Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Ellis Paul D.. 2010. The Essential Guide to Effect Sizes: Statistical Power, Meta-analysis, and the Interpretation of Research Results. Cambridge University Press, United Kingdom. Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Fay Michael P. and Proschan Michael A.. 2010. Wilcoxon-Mann-Whitney or t-test? On assumptions for hypothesis tests and multiple interpretations of decision rules. Statistics Surveys 4 (2010), 139. Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] FIWARE. 2021. FIWARE-NGSI v2 Specification. http://telefonicaid.github.io/fiware-orion/api/v2/stable/.Google ScholarGoogle Scholar
  13. [13] Consortium FIWARE. 2022. FIWARE Platform. https://www.fiware.org.Google ScholarGoogle Scholar
  14. [14] Georges Andy, Buytaert Dries, and Eeckhout Lieven. 2007. Statistically rigorous Java performance evaluation. SIGPLAN Not. 42, 10 (Oct.2007), 5776. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Harmes Ross and Diaz Dustin. 2008. The proxy pattern. In Pro JavaScript Design Patterns. Apress, Berkeley, CA, 197214.Google ScholarGoogle ScholarCross RefCross Ref
  16. [16] Hess Melinda and Kromrey Jeffrey. 2004. Robust confidence intervals for effect sizes: A comparative study of Cohen’s d and Cliff’s delta under non-normality and heterogeneous variances. Paper Presented at the Annual Meeting of the American Educational Research Association.Google ScholarGoogle Scholar
  17. [17] Jeon Soobin and Jung Inbum. 2017. MinT: Middleware for cooperative interaction of things. Sensors 17, 6 (2017). Google ScholarGoogle ScholarCross RefCross Ref
  18. [18] Kalbarczyk Tomasz and Julien Christine. 2018. Omni: An application framework for seamless device-to-device interaction in the wild. In Proceedings of the 19th International Middleware Conference (Middleware’18). Association for Computing Machinery, New York, NY, 161173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Kelley Ken and Preacher Kristopher J.. 2012. On effect size. Psychological Methods 17, 2 (2012), 137152. Google ScholarGoogle ScholarCross RefCross Ref
  20. [20] Kiczales Gregor, Hilsdale Erik, Hugunin Jim, Kersten Mik, Palm Jeffrey, and Griswold William G.. 2001. An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP’01). Springer-Verlag, Berlin, 327353.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [21] Li Shancang, Xu Li Da, and Zhao Shanshan. 2015. The internet of things: A survey. Information Systems Frontiers 17, 2 (April2015), 243259.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Mann H. B. and Whitney D. R.. 1947. On a test of whether one of two random variables is stochastically larger than the other. Annals of Mathematical Statistics 18, 1 (1947), 5060. Google ScholarGoogle ScholarCross RefCross Ref
  23. [23] Marie Pierrick, Lim Léon, Manzoor Atif, Chabridon Sophie, Conan Denis, and Desprats Thierry. 2014. QoC-aware context data distribution in the internet of things. InProceedings of the 1st ACM Workshop on Middleware for Context-Aware Applications in the IoT - [email protected]: 13–17 (2014).Google ScholarGoogle Scholar
  24. [24] Mineraud Julien, Mazhelis Oleksiy, Su Xiang, and Tarkoma Sasu. 2016. A gap analysis of Internet-of-Things platforms. Computer Communications 89–90 (Sept.2016), 516.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Nakhuva Bhumi and Champaneria Tushar. 2015. Study of various internet of things platforms. International Journal of Computer Science & Engineering Survey 6, 6 (2015), 6174.Google ScholarGoogle ScholarCross RefCross Ref
  26. [26] NGSI. 2021. FIWARE-NGSI v2 Specification. https://fiware.github.io/specifications/ngsiv2/stable/.Google ScholarGoogle Scholar
  27. [27] Ngu Anne H., Gutierrez Mario, Metsis Vangelis, Nepal Surya, and Sheng Quan Z.. 2017. IoT middleware: A survey on issues and enabling technologies. IEEE Internet of Things Journal 4, 1 (2017), 120. Google ScholarGoogle ScholarCross RefCross Ref
  28. [28] NODE-RED. 2021. Node-Red. https://nodered.org/.Google ScholarGoogle Scholar
  29. [29] OASIS. 2015. MQTT Version 3.1.1 Plus Errata 01. Retrieved May 21, 2021, from https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.pdf.Google ScholarGoogle Scholar
  30. [30] OM2M API. 2021. The oneM2M REST APIs. https://www.onem2m.org/getting-started/onem2m-overview/application-program-interfaces-api.Google ScholarGoogle Scholar
  31. [31] oneM2M Partners. 2019. oneM2M Services Platform. Release 3.Google ScholarGoogle Scholar
  32. [32] Open mashup alliance. (n. d.). Enterprise Mashup Markup Language. http://www.openmashup.org/.Google ScholarGoogle Scholar
  33. [33] Patel Pankesh and Cassou Damien. 2015. Enabling high-level application development for the Internet of Things. Journal of Systems and Software 103 (2015), 6284.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Raggett Dave. 2015. The web of things: Challenges and opportunities. Computer 48, 5 (2015), 2632.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. [35] Ray Partha Pratim. 2016. A survey of IoT cloud platforms. Future Computing and Informatics Journal 1, 1 (2016), 3546.Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Razzaque M. A., Milojevic-Jevric M., Palade A., and Clarke S.. 2016. Middleware for internet of things: A survey. IEEE Internet of Things Journal 3, 1 (2016), 7095.Google ScholarGoogle ScholarCross RefCross Ref
  37. [37] Reeve April. 2013. Chapter 12 - Data integration patterns. In Managing Data in Motion, Reeve April (Ed.). Morgan Kaufmann, Boston, 7985.Google ScholarGoogle ScholarCross RefCross Ref
  38. [38] Shapiro Marc. 1986. Structure and encapsulation in distributed systems: The proxy principle. In Int. Conf. on Distr. Comp. Sys. (ICDCS’86). IEEE, Cambridge, MA, 198204. https://hal.inria.fr/inria-00444651.Google ScholarGoogle Scholar
  39. [39] Shapiro Samuel Sanford and Wilk Martin. 1965. An analysis of variance test for normality (complete samples). Biometrika 52, 3–4 (1965), 591611.Google ScholarGoogle ScholarCross RefCross Ref
  40. [40] Singh K. J. and Kapoor D. S.. 2017. Create your own internet of things: A survey of IoT platforms. IEEE Consumer Electronics Magazine 6, 2 (2017), 5768.Google ScholarGoogle ScholarCross RefCross Ref
  41. [41] Soundararajan Karthik and Brennan Robert. 2008. Design patterns for real-time distributed control system benchmarking. Robotics and Computer-integrated Manufacturing 24 (Oct.2008), 606615.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Sutra Pierre, Rivière Etienne, Cotes Cristian, Artigas Marc Sánchez, Lopez Pedro Garcia, Bernard Emmanuel, Burns William, and Zamarreño Galder. 2017. CRESON: Callable and replicated shared objects over NoSQL. In 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS’17). 115128.Google ScholarGoogle ScholarCross RefCross Ref
  43. [43] Taivalsaari Antero and Mikkonen Tommi. 2017. A roadmap to the programmable world: Software challenges in the IoT era. IEEE Software 34, 1 (Jan.– Feb.2017), 7280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. [44] Vargha András and Delaney Harold D.. 2000. A critique and improvement of the CL common language effect size statistics of McGraw and Wong. Journal of Educational and Behavioral Statistics 25, 2 (2000), 101132.Google ScholarGoogle Scholar
  45. [45] WIRECLOUD. 2021. Wirecloud. https://wirecloud.readthedocs.io/en/stable/.Google ScholarGoogle Scholar
  46. [46] Zambonelli Franco. 2017. Key abstractions for IoT-oriented software engineering. IEEE Software 34, 1 (Jan.– Feb.2017), 3845. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Taming Internet of Things Application Development with the IoTvar Middleware

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Internet Technology
          ACM Transactions on Internet Technology  Volume 23, Issue 2
          May 2023
          276 pages
          ISSN:1533-5399
          EISSN:1557-6051
          DOI:10.1145/3597634
          • Editor:
          • Ling Liu
          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 the author(s) 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: 19 May 2023
          • Online AM: 28 February 2023
          • Accepted: 16 February 2023
          • Revised: 19 November 2022
          • Received: 25 April 2022
          Published in toit Volume 23, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
        • Article Metrics

          • Downloads (Last 12 months)105
          • Downloads (Last 6 weeks)25

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Full Text

        View this article in Full Text.

        View Full Text
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!