The Internet of Things (IoT) has ushered in a paradigm shift, reshaping our worldview and unlocking new horizons for delivering advanced services by connecting billions of devices and sensors. Complexity characterises the landscape of IoT applications, as they encompass heterogeneous devices with different scopes, from manufacturers that use distinct communication protocols, producing diverse data types and computational capabilities that hinder their interoperability. This heterogeneity poses significant chal- lenges in the design, development, and deployment of IoT solutions. Traditional soft- ware development methodologies struggle to address this complexity, demanding the various stakeholders involved in developing custom solutions from scratch for each use case, resulting in high costs and time. IoT platforms offer environments to integrate dif- ferent devices to develop applications, which often come with proprietary architectures that allow the integration of specific technologies and offer distinct functionalities to users. As a result, developing IoT solutions is highly dependent on a distinct vendor’s ecosystem and technologies, limiting the application’s portability. These challenges prevent the evolution of reusability methods in designing and developing IoT appli- cations, as well as their portability across heterogeneous technological environments. Real-world examples, such as discontinuing popular IoT platforms, have exposed users to the lack of migration mechanisms and forced them to rebuild their IoT applica- tions in new environments, underscoring the critical need for mechanisms to support reusability and portability from the beginning of IoT solution design. This thesis presents a fully-fledged model-driven engineering methodology for the de- sign, development and deployment of reusable and portable IoT applications. Pro- moting the reusability principle from the first stage by abstracting IoT elements and knowledge into reusable models, it was possible to facilitate the creation of IoT solutions that can be ported across different IoT platforms. Moreover, by applying the Separa- tion of Concerns principle, this thesis promotes collaboration between interdisciplinary experts who contribute to distinct IoT application phases and steps of development. This methodology outlines a structured manner for crystallising and reusing IoT en- terprise knowledge and expertise within a specific IoT domain using feature models. It empowers businesses to efficiently address evolving customer requirements while man- aging the inherent heterogeneity dimensions of IoT environments. Customer require- ments modelling supports the integration of IoT elements inside business operations to develop IoT-enhanced business processes which empower organisations to access in- valuable insights into their activities, enabling them to optimise their businesses. A domain-specific modelling language was developed to model IoT-related elements and their relations. This language abstracts from specific platform functionalities and fa- cilitates platform-agnostic representations, allowing refinements and portability across target IoT platforms through model-to-text transformations. A smart canteen sce- nario describes the methodology and its possible adoption by various stakeholders. A microservices architecture is designed to streamline the integration of IoT-enhanced business processes with IoT platforms and the physical world. By emphasising a high degree of decoupling, this architecture enables efficient integration of IoT devices, even when heterogeneous technologies support them. The microservice architecture and the methodology are validated through a testing prototype and evaluated by 50 participants who shared the benefits of the proposed solution.

Model-Driven Engineering for IoT Applications: a focus on Reusability and Portability

FEDELI, ARIANNA
2024

Abstract

The Internet of Things (IoT) has ushered in a paradigm shift, reshaping our worldview and unlocking new horizons for delivering advanced services by connecting billions of devices and sensors. Complexity characterises the landscape of IoT applications, as they encompass heterogeneous devices with different scopes, from manufacturers that use distinct communication protocols, producing diverse data types and computational capabilities that hinder their interoperability. This heterogeneity poses significant chal- lenges in the design, development, and deployment of IoT solutions. Traditional soft- ware development methodologies struggle to address this complexity, demanding the various stakeholders involved in developing custom solutions from scratch for each use case, resulting in high costs and time. IoT platforms offer environments to integrate dif- ferent devices to develop applications, which often come with proprietary architectures that allow the integration of specific technologies and offer distinct functionalities to users. As a result, developing IoT solutions is highly dependent on a distinct vendor’s ecosystem and technologies, limiting the application’s portability. These challenges prevent the evolution of reusability methods in designing and developing IoT appli- cations, as well as their portability across heterogeneous technological environments. Real-world examples, such as discontinuing popular IoT platforms, have exposed users to the lack of migration mechanisms and forced them to rebuild their IoT applica- tions in new environments, underscoring the critical need for mechanisms to support reusability and portability from the beginning of IoT solution design. This thesis presents a fully-fledged model-driven engineering methodology for the de- sign, development and deployment of reusable and portable IoT applications. Pro- moting the reusability principle from the first stage by abstracting IoT elements and knowledge into reusable models, it was possible to facilitate the creation of IoT solutions that can be ported across different IoT platforms. Moreover, by applying the Separa- tion of Concerns principle, this thesis promotes collaboration between interdisciplinary experts who contribute to distinct IoT application phases and steps of development. This methodology outlines a structured manner for crystallising and reusing IoT en- terprise knowledge and expertise within a specific IoT domain using feature models. It empowers businesses to efficiently address evolving customer requirements while man- aging the inherent heterogeneity dimensions of IoT environments. Customer require- ments modelling supports the integration of IoT elements inside business operations to develop IoT-enhanced business processes which empower organisations to access in- valuable insights into their activities, enabling them to optimise their businesses. A domain-specific modelling language was developed to model IoT-related elements and their relations. This language abstracts from specific platform functionalities and fa- cilitates platform-agnostic representations, allowing refinements and portability across target IoT platforms through model-to-text transformations. A smart canteen sce- nario describes the methodology and its possible adoption by various stakeholders. A microservices architecture is designed to streamline the integration of IoT-enhanced business processes with IoT platforms and the physical world. By emphasising a high degree of decoupling, this architecture enables efficient integration of IoT devices, even when heterogeneous technologies support them. The microservice architecture and the methodology are validated through a testing prototype and evaluated by 50 participants who shared the benefits of the proposed solution.
28-mag-2024
Inglese
POLINI, Andrea
Università degli Studi di Camerino
File in questo prodotto:
File Dimensione Formato  
05_28_24 - Fedeli Arianna.pdf

accesso aperto

Dimensione 45.56 MB
Formato Adobe PDF
45.56 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/202382
Il codice NBN di questa tesi è URN:NBN:IT:UNICAM-202382