A P P L I C A T I O N Développement Bâtir l’Internet des objets avec de la simulation de systèmes Développer des applications pour l’Internet des objets (IdO) implique de relever des défis importants. Il n’est pas simple de regrouper des centaines de nœuds au sein d’un laboratoire pour les tester, ni d’alimenter l’ensemble de ces nœuds en données réalistes. Dans ces conditions, comment en effet tester un logiciel qui tournera sur des centaines, voire des milliers de nœuds IdO ? La simulation est une réponse ad hoc à cette question. L es systèmes et applications de l’Internet des objets créés aujourd’hui comportent généralement une architecture à trois niveaux : un grand nombre de petits nœuds sont connectés les uns aux autres ainsi qu’à des passerelles à l’aide de réseaux sans fil maillés, tandis que les passerelles se connectent elles-mêmes à un serveur de gestion ou au cloud. Les nœuds de l’IdO peuvent être des capteurs : capteurs de température, capteurs d’électricité, caméras, interrupteurs ou mécanismes actifs au sein de thermostats, de lampes et de verrous de portes. Les passerelles ou les concentrateurs gèrent la connexion vers le monde extérieur et s’occupent de la sécurité. Le serveur principal, souvent situé dans le cloud, est chargé AUTEUR Jakob Engblom, responsable des produits Simics, Wind River. du fonctionnement et du contrôle du système IdO (figure 1). Pour tester ce type de système, il faut que les nœuds sans fil soient répartis sur une zone étendue afin qu’ils ne soient pas tous en contact les uns avec les autres en raison des interférences. Pour éviter cela, il faut se servir de bâtiments tout entiers ou de campus comme « laboratoires de test ». Configurer et maintenir un tel réseau représente une quantité de travail importante, les coûts de maind’œuvre supplantant rapidement ceux des nœuds eux-mêmes. Avec un simulateur, il est très facile de configurer un réseau étendu. Il suffit d’écrire un programme afin de déployer et de répartir virtuellement les nœuds sur l’espace virtuel dont on a besoin, puis de modéliser l’accessi- 1 SIMULATION DE L’INTERNET DES OBJETS Les systèmes et applications de l’Internet des objets comportent généralement une architecture à trois niveaux. Le premier niveau est constitué d’un grand nombre de nœuds connectés les uns aux autres (capteurs de température, d’électricité, caméras, interrupteurs, thermostats, lampes…). Le deuxième niveau est formé par les passerelles ou concentrateurs qui gèrent la connexion vers le monde extérieur et s’occupent de la sécurité. Au troisième niveau, le serveur principal, souvent situé dans le cloud, est chargé du fonctionnement et du contrôle du système de l’Internet des objets. Passerelle Serveur Capteurs/ Actuateur OS à empreinte réduite Matériel simulé RADIO Interface Simulation du monde extérieur Réseau sans fil Passerelle Gestion sécurité, configuration OS temps réel ou Linux Matériel simulé LAN RADIO Réseau maillé sans fil Outils Simics Système d’exploitation hôte Matériel 30 / L’EMBARQUÉ / N°10 / 2015 Simulation de conditions du réseau bilité sans fil entre les nœuds. Au lieu de s’occuper manuellement de centaines d’objets physiques, on ne gère qu’un seul script ou programme. Avec une solution telle que Wind River Simics, on peut simuler le matériel au niveau de chaque nœud en incluant les processeurs, la mémoire, les minuteurs, les LED, les systèmes d’émission radio sans fil, etc. Les nœuds simulés utilisent le système d’exploitation et les applications finales de la cible, exécutent les mêmes binaires que le matériel physique. Les différents types de nœuds sont simulés fidèlement et tournent au sein de la même configuration de simulation. Simuler pour tester les logiciels embarqués En simulant le système IdO tout entier de cette façon, on peut alors tester le logiciel sous tous ses aspects : la pile de communication sans fil et son comportement en cas de problèmes au niveau du réseau, le code logiciel du capteur et la façon dont il réagit en fonction de l’environnement, la gestion de l’énergie entre modes veille et actif sur les nœuds et la capacité de ces modes à économiser de l’énergie, l’émission de rapports depuis les capteurs vers les passerelles et sur le serveur. Au-delà, cette approche permet aussi d’analyser le logiciel gérant les nœuds du réseau et mettant à jour le logiciel sur les nœuds, y compris les mises à jour de type OTA (Over The Air), l’intégration et la connectivité sécurisée, la sécurité des passerelles et des nœuds, et enfin l’évolutivité du système de gestion des données afin de faire face à la croissance du nombre de nœuds. La simulation est aussi particulièrement bien adaptée au test du com- A P P L I C A T I O N Développement 2 MISE À L’ÉCHELLE LORS D’UNE SIMULATION La simulation permet de tester un système à plusieurs niveaux d’échelle, des configurations réduites jusqu’à des configurations très étendues avec, à chaque échelle de test, des problématiques différentes au sein du système. Passerelle Serveur configurations réseau, afin de tester le logiciel de différentes façons pour déployer ensuite le même nombre de nœuds. On peut essayer et tester diverses configurations en termes de nœuds ou de passerelles, ainsi que différentes topologies réseau. La simulation permet dans le même temps d’effectuer différents tests en parallèle (figure 3). La simulation pour accélérer l’analyse de systèmes complexes Passerelle Mais, en pratique, cette simulation de centaines ou de milliers de nœuds sur un seul ordinateur hôte peut-elle SetUp 3 réellement fonctionner ? La réponse est oui. Les nœuds de capteurs IdO possèdent généralement un cycle d’activité très court. Les capteurs n’enregistrent pas des informations portement de systèmes et de logiciels entre deux nœuds donnés, ni de sur le monde qui les entoure en perlors d’une mise à l’échelle. Elle per- mettre en place des règles provoquant manence, mais sortent régulièrement met notamment de créer des sys- des pertes de paquets aléatoires à d’un état de veille afin d’en relever tèmes de n’importe quelle taille, des mesure que le signal baisse en puisdes échantillons et de les transmettre. plus petits aux plus étendus. Ce sance. En effet, la configuration peut Chaque prise d’échantillon peut qui signifie que le comportement du être modifiée au cours d’un test afin prendre une seconde ou juste système peut être testé à plusieurs de contrôler la façon dont les nœuds quelques millièmes de seconde. Puis niveaux d’échelle, des configurations se comportent lors de changements le système peut rester inactif pendant réduites jusqu’à des configurations de conditions, comme lorsqu’un train plusieurs minutes, voire plusieurs très étendues. Souvent, chaque passe entre deux nœuds et interrompt heures. Grâce à cette méthode, on échelle de test révèlera des problé- la radiocommunication un court inspeut économiser de l’énergie et avoir matiques différentes au sein du sys- tant. De plus, ces tests peuvent être des nœuds déployés dans le monde tème. Il ne s’agit pas juste de tester contrôlés et rejoués de manière fiable, réel pour des périodes étendues, les configurations les plus étendues, contrairement au monde réel où il est limitant l’entretien et le remplacemais aussi de s’assurer également difficile d’imposer des conditions de ment des batteries. De ce fait, le que tout fonctionne de manière effi- radiocommunication. système possède ainsi des cycles cace au niveau des systèmes inter- Ces tests peuvent également être étendus horizontalement. Il est alors d’inactivité étendus. Ces derniers médiaires (figure 2). peuvent être exploités afin d’accéléDans l’optique d’une simulation, le facile de créer un grand nombre de rer la simulation en uticomportement de l’envilisation une technique ronnement au sein duquel 3 RÉALISER DES TESTS DE VARIANTES EN PARALLÈLE AVEC UNE SIMULATION d’« hypersimulation ». évolue le système de l’InIci, plutôt que d’obserternet des objets est aussi La simulation permet de créer un grand nombre de configurations réseau, afin pris en compte. En effet, de tester le logiciel de différentes façons, avec diverses configurations en termes ver une succession de cycles d’inactivité, une généralement, chaque de nœuds ou de passerelles et différentes topologies réseau. solution de simulation nœud ou chaque capteur telle que Simics permet s’adapte à une simulation de passer directement du monde qui l’entoure, au prochain événement de sorte qu’il puisse renfaisant sortir un nœud voyer des données à la du mode veille. Ce passerelle et au serveur. qui signifie qu’un sysUn nœud de l’IdO sans tème inactif la plupart environnement autour de du temps peut être lui n’est pas d’une grande simulé bien plus rapiutilité. Les tests de système Outils Simics dement qu’en temps impliqueront donc de Système d’exploitation Outils Simics hôte réel, et cette propriété varier les conditions de Outils Simics Système d’exploitation est exploitée dans le réseau de communication Serveur hôte Système d’exploitation cadre de simulations radio simulées. Dans un hôte Serveur d’applications de l’Insimulateur, pas besoin Serveur ternet des objets à d’imposer des puissances grande échelle. n de signal radio précises Scé na rio 2 2 Scé na rio Scé na rio 1 SetUp 2 L’EMBARQUÉ / N°10 / 2015 / 31