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.








Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
ThingsBoard: https://thingsboard.io.
Losant: https://www.losant.com.
ADOxx metamodelling platform: www.adoxx.org.
BIGIoT: https://iot-epi.eu/project/big-iot.
INTER-IoT: https://inter-iot.eu.
Ionic: https://ionicframework.com.
Flutter: https://flutter.dev.
The X-IoT library is available at the OMiLAB website: https://www.omilab.org/activities/projects/details/?id=226.
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.
Platform Library—JSON Structure: https://code.omilab.org/resources/modelling_tools/x-iot/-/blob/master/LIBRARY/Platform_Library_structure.json.
X-IoT—Application Scenarios: https://www.omilab.org/activities/projects/details/?id=226 &path=DOCUMENTATION/05-ApplicationScenarios.
X-IoT repository—Extensibility Section: https://www.omilab.org/activities/projects/details/?id=226 &path=DOCUMENTATION/06-Extensibility.
References
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
Udoh IS, Kotonya G (2018) Developing IoT applications: challenges and frameworks. IET Cyper-Phys Syst: Theory Appl 3(2):65–72
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
Farahzadi A, Shams P, Rezazadeh J, Farahbakhsh R (2017) Middleware technologies for cloud of things: a survey. CoRR, arXiv:1705.00387
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
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
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)
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
Mineraud J, Mazhelis O, Su X, Tarkoma S (2016) A gap analysis of internet-of-things platforms. Comput Commun 89–90:5–16
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
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
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
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
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
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
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
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
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
Lucero S (2016) IoT platforms: enabling the internet of things. IHS Technology White Paper
Perry MJ (2016) Evaluating and choosing an IoT platform. O’Reilly Media, White Paper
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
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
Drira K (2020) Challenges of IoT service platforms. In: 7th international conference on internet of things: systems, management and security (IOTSMS), p 1
Emeakaroha VC, Cafferkey N, Healy PD, Morrison JP (2015) A cloud-based IoT data gathering and processing platform. In: FiCloud, pp 50–57
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
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
Schmidt DC (2006) Model-driven engineering. Comput-IEEE Comput Soc 39(2):25
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
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
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
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
Morin B, Harrand N, Fleurey F (2017) Model-based software engineering to tame the IoT jungle. IEEE Softw 34(1):30–36
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
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
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
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
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
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
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
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
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
Fahmideh M, Zowghi D (2020) An exploration of IoT platform development. Inf Syst 87:101409
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
Singh KJ, Kapoor DS (2017) Create your own internet of things: a survey of IoT platforms. IEEE Consumer Electron Mag 6(2):57–68
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
Bhatia A, Yusuf Z, Ritter D, Hunke N (2017) Who will win the IoT platform wars? In: BCG perspectives
Davis WS (1988) HIPO (hierarchy plus input–process–output). In: The information system consultant’s handbook: systems analysis and design, pp 503–511
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
Morrison JP (2010) Flow-based programming. A new approach to application development, 2nd edn. CreateSpace, Scotts Valley
Kleppe A, Warmer J, Bast W (2003) MDA explained—the model driven architecture: practice and promise. Addison-Wesley object technology series. Addison-Wesley, Boston
Patel P, Cassou D (2015) Enabling high-level application development for the internet of things. J Syst Softw 103:62–84
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
Corresponding author
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.
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-023-01155-z
Keywords
- Internet of things
- Software portability
- IoT platforms
- Cross-platform applications
- Model driven engineering
- Domain-specific modelling language