Skip to main content
Log in

X-IoT: a model-driven approach to support IoT application portability across IoT platforms

  • Special Issue Article
  • Published:
Computing Aims and scope Submit manuscript

Abstract

Several IoT platforms have been proposed to support and facilitate the development of IoT applications. Unfortunately, using an IoT platform makes the developed application strongly dependent on the specific platform’s functionalities. This reduces the portability of the IoT application that may require significant adaptations, or a complete re-design, for being migrated towards other platforms. To mitigate the lack of IoT application portability, we present X-IoT (read as cross-IoT), a model-driven approach supporting the development of cross-platform IoT applications. X-IoT is based on a Domain-Specific Modelling Language (DSML) and its related notation, whose development has been guided by a deep analysis of IoT application characteristics. Tool support is provided through the ADOxx platform, which allows using the DSML to model platform-independent IoT applications, that can be successively refined and deployed on selected IoT platforms. The applicability of the approach is demonstrated through a meeting room scenario.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Notes

  1. ThingsBoard: https://thingsboard.io.

  2. Losant: https://www.losant.com.

  3. ADOxx metamodelling platform: www.adoxx.org.

  4. BIGIoT: https://iot-epi.eu/project/big-iot.

  5. INTER-IoT: https://inter-iot.eu.

  6. Ionic: https://ionicframework.com.

  7. Xamarin: https://dotnet.microsoft.com/en-us/apps/xamarin.

  8. Flutter: https://flutter.dev.

  9. The X-IoT library is available at the OMiLAB website: https://www.omilab.org/activities/projects/details/?id=226.

  10. PROS Lab is the PROcesses and Services Laboratory at the University of Camerino. The X-IoT website is available at https://pros.unicam.it/x-iot.

  11. Platform Library—JSON Structure: https://code.omilab.org/resources/modelling_tools/x-iot/-/blob/master/LIBRARY/Platform_Library_structure.json.

  12. X-IoT—Application Scenarios: https://www.omilab.org/activities/projects/details/?id=226 &path=DOCUMENTATION/05-ApplicationScenarios.

  13. X-IoT repository—Extensibility Section: https://www.omilab.org/activities/projects/details/?id=226 &path=DOCUMENTATION/06-Extensibility.

References

  1. Zdravković M, Zdravković J, Aubry A, Moalla N, Guedria W, Sarraipa J (2018) Domain framework for implementation of open IoT ecosystems. Int J Prod Res 56(7):2552–2569

    Article  Google Scholar 

  2. Udoh IS, Kotonya G (2018) Developing IoT applications: challenges and frameworks. IET Cyper-Phys Syst: Theory Appl 3(2):65–72

    Article  Google Scholar 

  3. Chaqfeh M, Mohamed N (2012) Challenges in middleware solutions for the internet of things. In: International conference on collaboration technologies and systems, pp 21–26

  4. Farahzadi A, Shams P, Rezazadeh J, Farahbakhsh R (2017) Middleware technologies for cloud of things: a survey. CoRR, arXiv:1705.00387

  5. Chen S, Xu H, Liu D, Hu B, Wang H (2014) A vision of IoT: applications, challenges, and opportunities with China perspective. IEEE Internet Things J 1(4):349–359

    Article  Google Scholar 

  6. Zdravković M, Trajanović M, Sarraipa J, Jardim-Gonçalves R, Lezoche M, Aubry A, Panetto H (2016) Survey of internet-of-things platforms. In: 6th international conference on information society and technology, vol 1, pp 216–220

  7. Weinberger M, Köhler M, Wörner D, Wortmann F (2014) Platforms for the internet of things: an analysis of existing solutions. In: Bosch conference on systems and software engineering (BoCSE)

  8. Ihirwe F, Indamutsa A, Di Ruscio D, Mazzini S, Pierantonio A (2020) Low-code engineering for internet of things: a state of research, pp 741–748

  9. Mineraud J, Mazhelis O, Su X, Tarkoma S (2016) A gap analysis of internet-of-things platforms. Comput Commun 89–90:5–16

    Article  Google Scholar 

  10. Hejazi H, Rajab H, Cinkler T, Lengyel L (2018) Survey of platforms for massive IoT. In: 2018 IEEE international conference on future IoT technologies (Future IoT), pp 1–8

  11. Babun L, Denney K, Celik ZB, McDaniel PD, Uluagac AS (2021) A survey on IoT platforms: communication, security, and privacy perspectives. Comput Netw 192:108040

    Article  Google Scholar 

  12. Martikkala A, Lobov A, Lanz M, Ituarte IF (2021) Towards the interoperability of IoT platforms: a case study for data collection and data storage. IFAC-PapersOnLine 54:1138–1143

    Article  Google Scholar 

  13. Vogel B, Dong Y, Emruli B, Davidsson P, Spalazzese R (2020) What is an open IoT platform? Insights from a systematic mapping study. Future Internet 12:73

    Article  Google Scholar 

  14. Guth J, Breitenbücher U, Falkenthal M, Fremantle P, Kopp O, Leymann F, Reinfurt L (2018) A detailed analysis of IoT platform architectures: concepts, similarities, and differences. Springer, Berlin, pp 81–101

    Google Scholar 

  15. Armbrust M, Fox A, Griffith R, Joseph AD, Katz RH, Konwinski A (2009) Above the clouds: a Berkeley view of cloud computing. Technical report, UCB/EECS-2009-28, University of California

  16. Ullah M, Nardelli P, Wolff A, Smolander K (2020) Twenty-one key factors to choose an IoT platform: theoretical framework and its applications. IEEE Internet Things J 7(10):10111–10119

    Article  Google Scholar 

  17. Ullah M, Smolander K (2019) Highlighting the key factors of an IoT platform. In: International convention on information and communication technology, electronics and microelectronics, pp 901–906

  18. Fortino G, Guerrieri A, Savaglio C, Spezzano G (2022) A review of internet of things platforms through the IoT—a reference architecture. In: Intelligent distributed computing, vol XIV, pp 25–34

  19. Lucero S (2016) IoT platforms: enabling the internet of things. IHS Technology White Paper

  20. Perry MJ (2016) Evaluating and choosing an IoT platform. O’Reilly Media, White Paper

  21. Karagiannis D (2018) Conceptual modelling methods: the AMME Agile engineering approach. In: Silaghi G, Buchmann R, Boja C (eds) Informatics in economy. Springer, Cham, pp 3–19

    Chapter  Google Scholar 

  22. Corradini F, Fedeli A, Fornari F, Polini A, Re B (2022) X-IoT: a model-driven approach for cross-platform IoT applications development. SAC ’22, pp 1448–1451

  23. Drira K (2020) Challenges of IoT service platforms. In: 7th international conference on internet of things: systems, management and security (IOTSMS), p 1

  24. Emeakaroha VC, Cafferkey N, Healy PD, Morrison JP (2015) A cloud-based IoT data gathering and processing platform. In: FiCloud, pp 50–57

  25. Biørn-Hansen A, Grønli T-M, Ghinea G (2018) A survey and taxonomy of core concepts and research challenges in cross-platform mobile development. ACM Comput Surv (CSUR) 51(5):1–34

    Article  Google Scholar 

  26. Corral L, Janes A, Remencius T (2012) Potential advantages and disadvantages of multi-platform development frameworks—a vision on mobile environments. Procedia Comput Sci 10:1202–1207

    Article  Google Scholar 

  27. Schmidt DC (2006) Model-driven engineering. Comput-IEEE Comput Soc 39(2):25

    Article  Google Scholar 

  28. Ciccozzi F, Spalazzese R (2016) MDE4IoT: supporting the internet of things with model-driven engineering. In: Intelligent distributed computing X IDC 2016, vol 678, pp 67–76

  29. Valderas P, Torres V, Serral E (2022) Towards an interdisciplinary development of IoT-enhanced business processes. Bus Inf Syst Eng. https://doi.org/10.1007/s12599-022-00770-y

    Article  Google Scholar 

  30. Compagnucci I, Corradini F, Fornari F, Polini A, Re B, Tiezzi F (2020) Modelling notations for IoT-aware business processes: a systematic literature review. In: BPM 2020 international workshops, vol 397, pp 108–121

  31. Compagnucci I, Corradini F, Fornari F, Polini A, Re B, Tiezzi F (2022) A systematic literature review on IoT-aware business process modeling views, requirements and notations. Softw Syst Model. https://doi.org/10.1007/s10270-022-01049-2

    Article  Google Scholar 

  32. Morin B, Harrand N, Fleurey F (2017) Model-based software engineering to tame the IoT jungle. IEEE Softw 34(1):30–36

    Article  Google Scholar 

  33. Faugere M, Bourbeau T, De Simone R, Gerard S (2007) MARTE: also an UML profile for modeling AADL applications. In: 12th IEEE international conference on engineering complex computer systems, pp 359–364

  34. Corradini F, Fedeli A, Fornari F, Polini A, Re B (2021) FloWare: an approach for IoT support and application development. In: Augusto A, Gill A, Nurcan S, Reinhartz-Berger I, Schmidt R, Zdravkovic J (eds) Enterprise, business-process and information systems modeling. Lecture Notes in Business Information Processing, vol 123. Springer, Cham, pp 350–365

    Google Scholar 

  35. Corradini F, Fedeli A, Fornari F, Polini A, Re B (2022) FloWare: a model-driven approach fostering reuse and customisation in IoT applications modelling and development. Softw Syst Model. https://doi.org/10.1007/s10270-022-01026-9

    Article  Google Scholar 

  36. Salman AJ, Al-Jawad M, Al Tameemi W (2021) Domain-specific languages for IoT: challenges and opportunities. In: Materials science and engineering conference series, vol 1067, p 012133

  37. Tichy M, Pietron J, Mödinger D, Juhnke K, Hauck FJ (2020) Experiences with an internal DSL in the IoT domain. In: Workshop on model-driven engineering for the internet-of-things. CEUR, vol 2707, pp 22–34

  38. Negash B, Westerlund T, Rahmani AM, Liljeberg P, Tenhunen H (2017) DoS-IL: a domain specific internet of things language for resource constrained devices. In: ANT 2017/SEIT 2017. Procedia Computer Science, vol 109, pp 416–423

  39. Sneps-Sneppe M, Namiot D (2015) On web-based domain-specific language for internet of things. In: 7th international congress on ultra modern telecommunications and control systems and workshops, ICUMT, pp 287–292

  40. Barriga JA, Clemente PJ, Hernández J, Pérez-Toledano MA (2022) SimulateIoT-FIWARE: domain specific language to design, code generation and execute IoT simulation environments on FIWARE. IEEE Access 10:7800–7822

    Article  Google Scholar 

  41. Meana-Llorián D, González García C, Cristina Pelayo G, Bustelo B, Cueva Lovelle JM (2021) BILROST: handling actuators of the internet of things through tweets on Twitter using a domain specific language. Int J Interact Multimedia Artif Intell 6(6):133–144

    Google Scholar 

  42. Fahmideh M, Zowghi D (2020) An exploration of IoT platform development. Inf Syst 87:101409

    Article  Google Scholar 

  43. Asemani M, Abdollahei F, Jabbari F (2019) Understanding IoT platforms: towards a comprehensive definition and main characteristic description. In: International conference on web research, pp 172–177

  44. Singh KJ, Kapoor DS (2017) Create your own internet of things: a survey of IoT platforms. IEEE Consumer Electron Mag 6(2):57–68

    Article  Google Scholar 

  45. Mijuskovic A, Ullah I, Bemthuis R, Meratnia N, Havinga P (2020) Comparing apples and oranges in IoT context: a deep dive into methods for comparing IoT platforms. IEEE Internet Things J 8(3):1797–1816

    Article  Google Scholar 

  46. Bhatia A, Yusuf Z, Ritter D, Hunke N (2017) Who will win the IoT platform wars? In: BCG perspectives

  47. Davis WS (1988) HIPO (hierarchy plus input–process–output). In: The information system consultant’s handbook: systems analysis and design, pp 503–511

  48. Plazas JE, Bimonte S, Schneider M, de Vaulx C et al (2022) Sense, transform & send for the internet of things (STS4IoT): UML profile for data-centric IoT applications. Data Knowl Eng 139:101971

    Article  Google Scholar 

  49. Morrison JP (2010) Flow-based programming. A new approach to application development, 2nd edn. CreateSpace, Scotts Valley

    Google Scholar 

  50. Kleppe A, Warmer J, Bast W (2003) MDA explained—the model driven architecture: practice and promise. Addison-Wesley object technology series. Addison-Wesley, Boston

    Google Scholar 

  51. Patel P, Cassou D (2015) Enabling high-level application development for the internet of things. J Syst Softw 103:62–84

    Article  Google Scholar 

Download references

Funding

This work has been partially supported by the MIUR project PRIN “Fluidware” (A Novel Approach for Large-Scale IoT Systems, n. 2017KRC7KT) and by Marche Region in implementation of the financial programme POR MARCHE FESR 2014–2020, project “Miracle” (Marche Innovation and Research fAcilities for Connected and sustainable Living Environments), CUP B28I19000330007.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fabrizio Fornari.

Ethics declarations

Conflict of interest

The authors have no conflicts of interest to declare that are relevant to the content of this article.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Corradini, F., Fedeli, A., Fornari, F. et al. X-IoT: a model-driven approach to support IoT application portability across IoT platforms. Computing 105, 1981–2005 (2023). https://doi.org/10.1007/s00607-023-01155-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-023-01155-z

Keywords

Mathematics Subject Classification