6 research outputs found

    Supporting Early-Safety Analysis of IoT Systems by Exploiting Testing Techniques

    Full text link
    IoT systems complexity and susceptibility to failures pose significant challenges in ensuring their reliable operation Failures can be internally generated or caused by external factors impacting both the systems correctness and its surrounding environment To investigate these complexities various modeling approaches have been proposed to raise the level of abstraction facilitating automation and analysis FailureLogic Analysis FLA is a technique that helps predict potential failure scenarios by defining how a components failure logic behaves and spreads throughout the system However manually specifying FLA rules can be arduous and errorprone leading to incomplete or inaccurate specifications In this paper we propose adopting testing methodologies to improve the completeness and correctness of these rules How failures may propagate within an IoT system can be observed by systematically injecting failures while running test cases to collect evidence useful to add complete and refine FLA rule

    Ingénierie Low-Code pour l'Internet des objets

    No full text
    The Internet of Things (IoT) technologies are often seen as the main drivers of the current technological revolution, which devotes the most priority to improving the well-being of humanity. IoT is typically regarded as a powerful network of systems that integrates several heterogeneous and independently networked devices working together to achieve a shared purpose. Engineering such systems require efficient tools to deal with the intrinsic complexities while offering means to increase system reliability by limiting future repair costs. Low-Code Development Platforms (LCDPs) unravel the opportunities to advance the simplicity of how new applications are developed in different business application domains. However, in the IoT domain, systems are complex, multi-layered, and highly heterogeneous in all aspects, not to mention the large amount of data being collected and processed concurrently. Even though there is a convenient push toward coping with such complexities, there still needs to be a massive gap regarding the actual development techniques that support early system analysis, deployment, and run-time management. Low-Code Engineering (LCE), on the other hand, aims to tackle such issues by extending the development knowledge present in LCDPs to a more sophisticated era of "Low-Code Engineering Platforms (LCEPs)" by injecting into it the theoretical and technical concepts present in Model-Driven Engineering (MDE), Cloud Computing, and Machine Learning. These platforms target more sophisticated domains such as IoT, industrial automation, data science, recommender systems, etc. This dissertation addresses such challenges by first presenting the current state of the art of Low-Code Engineering Platforms (LCEPs), which gives a better understanding of what LCEPs are and their differences with respect to existing LCDPs, particularly in the IoT domain. We also highlight how MDE plays a significant role in the LCE's evolution. Then, we examine the current limitations, open challenges, and opportunities of existing IoT Engineering platforms in realizing such an initiative. While evaluating the quality of such complex platforms could be challenging, we propose the software product quality model for evaluating the static and dynamic quality properties of such engineering platforms. The complexity behind the automated realization of IoT systems can be extremely daunting. One efficient approach is to adopt Domain-Specific Languages (DSLs). DSLs are tailored to the specific domain to pave the way for the domain experts to define the system's behavior based on their expertise. This dissertation presents CHESSIoT, a platform that integrates high-level visual DSLs, software development, safety analysis, and deployment mechanisms for engineering multi-layered IoT systems. With CHESSIoT, users may conduct various engineering tasks on system and software models to enable earlier decision-making. This is achieved in a unique environment that combines multi-staged designs, most notably the system-level, functional, and deployment architectures. The physical architecture specifically contains the high-level system building blocks and their interconnections suitable to perform both early qualitative and quantitative safety analysis by employing logical Fault-Trees (FTs).On the other hand, the software model is equipped with the system's functional behavior suitable for generating platform-specific code ready to be deployed on low-level IoT device nodes. Additionally, the framework supports modeling of the system's deployment, which would ultimately be used to generate deployment artifacts. To facilitate run-time management of deployed services, the tool offers means for defining run-time service provisioning modules through which deployment rules are defined and configured. To demonstrate the effectiveness of our proposed approach, throughout this dissertation, different comparative assessment was conducted to highlight the potential contribution of our approach in relation to existing approaches. Finally, we used the implications from the conducted research studies as well as experiments from running examples to tackle potential research questions as well as demonstrate the capabilities of our supporting tool.Les technologies de l’Internet des objets (IoT) sont souvent considérées comme les principaux moteurs de la révolution technologique actuelle, dont la priorité est l’amélioration du bien-être de l’humanité. L'IoT est généralement considéré comme un puissant réseau de systèmes qui intègre plusieurs appareils hétérogènes et indépendamment en réseau travaillant ensemble pour atteindre un objectif commun. L'ingénierie de tels systèmes nécessite des outils efficaces pour gérer les complexités intrinsèques tout en offrant des moyens d'augmenter la fiabilité du système en limitant les coûts de réparation futurs. Les plates-formes de développement Low-Code (LCDP) dévoilent les opportunités permettant de simplifier la manière dont les nouvelles applications sont développées dans différents domaines d'applications métier. Cependant, dans le domaine de l’IoT, les systèmes sont complexes, multicouches et très hétérogènes à tous égards, sans parler de la grande quantité de données collectées et traitées simultanément. Même s'il existe des efforts pratiques pour faire face à de telles complexités, il reste encore un écart énorme en ce qui concerne les techniques de développement réelles qui prennent en charge l'analyse précoce du système, le déploiement et la gestion de l'exécution. L'ingénierie Low-Code (LCE), quant à elle, vise à résoudre ces problèmes en étendant les connaissances de développement présentes dans les LCDP à une ère plus sophistiquée de « plates-formes d'ingénierie Low-Code (LCEP) » en y injectant les connaissances théoriques et techniques. concepts présents dans l'ingénierie pilotée par modèle (MDE), le cloud computing et l'apprentissage automatique. Ces plateformes ciblent des domaines plus sophistiqués tels que l'IoT, l'automatisation industrielle, la science des données, les systèmes de recommandation, etc. Cette thèse aborde ces défis en présentant d'abord l'état actuel de l'art des plateformes d'ingénierie Low-Code (LCEP), ce qui permet de mieux comprendre de ce que sont les LCEP et de leurs différences par rapport aux LCDP existants, notamment dans le domaine de l'IoT. Nous soulignons également comment le MDE joue un rôle important dans l'évolution du LCE. Ensuite, nous examinons les limites actuelles, les défis ouverts et les opportunités des plates-formes d'ingénierie IoT existantes pour réaliser une telle initiative. Bien qu'évaluer la qualité de plates-formes aussi complexes puisse être difficile, nous proposons le modèle de qualité des produits logiciels pour évaluer les propriétés de qualité statiques et dynamiques de telles plates-formes d'ingénierie.La complexité derrière la réalisation automatisée des systèmes IoT peut être extrêmement intimidante. Une approche efficace consiste à adopter des langages spécifiques à un domaine (DSL). Les DSL sont adaptés au domaine spécifique pour permettre aux experts du domaine de définir le comportement du système en fonction de leur expertise. Cette thèse présente CHESSIoT, une plate-forme qui intègre des DSL visuels de haut niveau, le développement de logiciels, l'analyse de sécurité et des mécanismes de déploiement pour l'ingénierie de systèmes IoT multicouches. Avec CHESSIoT, les utilisateurs peuvent effectuer diverses tâches d'ingénierie sur des modèles de systèmes et de logiciels pour permettre une prise de décision plus précoce. Ceci est réalisé dans un environnement unique qui combine des conceptions à plusieurs étapes, notamment les architectures au niveau du système, fonctionnelles et de déploiement. L'architecture physique contient spécifiquement les éléments constitutifs du système de haut niveau et leurs interconnexions adaptés pour effectuer des analyses de sécurité qualitatives et quantitatives précoces en utilisant des arbres de défaillances (FT) logiques.D'autre part, le modèle logiciel est doté du comportement fonctionnel du système adapté à la génération de code spécifique à la plate-forme, prêt à être déployé sur des nœuds de dispositifs IoT de bas niveau. De plus, le cadre prend en charge la modélisation du déploiement du système, qui serait finalement utilisé pour générer des artefacts de déploiement. Pour faciliter la gestion d'exécution des services déployés, l'outil offre des moyens de définir des modules de fourniture de services d'exécution à travers lesquels les règles de déploiement sont définies et configurées. Pour démontrer l'efficacité de notre approche proposée, tout au long de cette thèse, différentes évaluations comparatives ont été menées pour mettre en évidence l'apport potentiel de notre approche par rapport aux approches existantes. Enfin, nous avons utilisé les implications des études de recherche menées ainsi que des expériences tirées d'exemples concrets pour aborder des questions de recherche potentielles et démontrer les capacités de notre outil de support

    Towards an MQTT5 geo-location extension for location-aware applications

    No full text
    International audienceLocation-aware applications are becoming popular nowadays because of the increasing adoption of edge and fog computing. This poses novel difficulties to the conventional applications that utilize the Message Queuing Telemetry Transport (MQTT) as their prevalent communication channel. Also, developers are obliged to figure out the code at whatever point they need to build up MQTT-based location-aware applications. This can causes various issues, for example, protocol standard infringement or problems in data acquisition. This paper proposes a novel extension of the recently released MQTT5 protocol that will permit message delivery by not only respecting the topics of interest but also in addition to geo-referenced information provided by both publishers and subscribers

    Assessing the Quality of Low-Code and Model-driven Engineering Platforms for Engineering IoT Systems

    No full text
    International audienceOver the last few years, industry and academia have proposed several Low-Code and Model-driven Engineering (MDE) platforms to ease the engineering process of the Internet of things (IoT) systems. However, deciding whether such engineering platforms meet the minimum required software quality standards is not straightforward. Software quality can be defined as the degree to which a software system achieves its intended goal. Various software quality standards have been established to aid in the software quality assessment process; however, due to the nature of engineering IoT platforms, such models may not entirely suit the IoT domain. This paper presents a model for assessing the software quality of Low-Code and MDE platforms for engineering IoT platforms. The proposed software quality model is based on and extends the ISO/IEC 25010:2011 software product quality model standard. It is intended to assist IoT practitioners in assessing and establishing quality requirements for engineering IoT platforms. To determine the effectiveness of the proposed model, we used it to evaluate the quality of 17 IoT engineering platforms, and the results obtained are promising

    Model-based Analysis Support for Dependable Complex Systems in CHESS

    No full text
    none5The challenges related to dependable complex systems are heterogeneous and involve different aspects of the system. On one hand, the decision-making processes need to take into account many options. On the other hand, the design of the system logical architecture must consider various dependability concerns such as safety, reliability, and security. Moreover, in case of high-assurance systems, the analysis of such concerns must be performed with rigorous methods. In this paper, we present the new development of CHESS, a cross-domain, model-driven, component-based and open-source tool for the development of high-integrity systems. We focus on the new recently distributed version of CHESS, which supports extended model-based development and analyses for safety and security concerns.noneTonetta, Stefano; Mazzini, Silvia; Pierini, Pierluigi; Ihirwe, Felicien; Debiasi, AlbertoTonetta, Stefano; Mazzini, Silvia; Pierini, Pierluigi; Ihirwe, Felicien; Debiasi, Albert

    Low-code Engineering for Internet of things: A state of research

    No full text
    International audienceDeveloping Internet of Things (IoT) systems has to cope with several challenges mainly because of the heterogeneity of the involved subsystems and components. With the aim of conceiving languages and tools supporting the development of IoT systems, this paper presents the results of the study, which has been conducted to understand the current state of the art of existing platforms, and in particular low-code ones, for developing IoT systems. By analyzing sixteen platforms, a corresponding set of features has been identified to represent the functionalities and the services that each analyzed platform can support. We also identify the limitations of already existing approaches and discuss possible ways to improve and address them in the future
    corecore