![Page 1: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/1.jpg)
RdC : des simulateurs aux capteurs Transformations de sources Occam
Pierre-Y Lucas, A. Plantec et B. Pottier [email protected]
Université de Brest (UBO) Lab-STICC, UMR CNRS 6285
![Page 2: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/2.jpg)
WSN site http://wsn.univ-brest.fr/NetGenNews Démos vidéos http://wsn.univ-brest.fr/PortesOuvertes/ Site UBO http://www.univ-brest.fr
![Page 3: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/3.jpg)
1.1 Deux aspects des réseaux de capteurs
Objectif : mesurer et contrôler des processus physiques
1) Position sur le système distribué : Les capteurs ou actuateurs sont des systèmes parallèles, Référence temporelle, tolerant aux fautes, auto réparant Machine spécifique à 1 application, ou 1 domaine 2) Le système est couplé à un ou des processus physiques. Le capteur échantillonne et mesure un processus social, vivant, physique ou mécanique. Reference : Cyber Physical Systems (E.Lee)
![Page 4: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/4.jpg)
1.2 Planification d’un déploiement spatial
Points de mesure physiques Portées prévisibles Connectivités Réseaux connexes Ruptures, faiblesses, Redondances, mobilité
http://wsn.univ-brest.fr/NetGenNews
![Page 5: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/5.jpg)
1.2 Propriétés du réseau résultant
Réseau connexe ou non ? [Non] Distances entre noeuds Plus grande distance [2] Nombre de liens, fanOut Redondances, communications en excès
http://wsn.univ-brest.fr/NetGenNews
![Page 6: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/6.jpg)
1.3 Plateforme « populaire »: Arduino
Micro-controleur Atmel (MCU) Plaque Arduino, Module radio Xbee Contrôle par le MCU, Capteurs à adapter.
http://arduino.cc
![Page 7: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/7.jpg)
1.4 Adaptation ‘gaz’ Libelium
![Page 8: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/8.jpg)
1.5 Programmation du capteur
Exemple : IDE Arduino Initialisation, Boucle
Compilation Téléchargement Tests.
Exemple : IDE Arduino
![Page 9: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/9.jpg)
1.6 Contraintes sur les programmes
Objectif : mesurer et contrôler des processus physiques
1) Position sur le système distribué : Les capteurs ou actuateurs sont des systèmes parallèles, Référence temporelle, tolérant aux fautes, auto réparant Machine spécifique à 1 application, ou 1 domaine 2) Le système est couplé à un ou des processus physiques. Le capteur échantillonne et mesure un processus social, vivant, physique ou mécanique. Reference : Cyber Physical Systems (E.Lee)
Do this !
And do this too !
.. Dans le même programme !
Bilan Énergie ?
![Page 10: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/10.jpg)
1.7 Enjeux, Santander, 1000 capteurs, 7 réseaux
• L’IHM renvoit positions et informations sur les capteurs • Les simulateurs peuvent animer l’IHM: position, messages
des capteurs simulés.
![Page 11: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/11.jpg)
1.8 Matériels : Atmel
Stockage local ? Horloge et temps réel ? Modules d’acquisition ?
![Page 12: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/12.jpg)
1.9 Autres matériels : Texas
Stockage local ? Horloge et temps réel ? Modules d’acquisition ?
![Page 13: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/13.jpg)
1.9 Problèmes méthodologiques
Questions: rapidité, sécurité, portabilité et pérennité des développements, métriques internes Réponses partielles : 1. Usage de librairies et restrictions des cibles : Cf. Arduino/Libelium
2. Usage de protocoles réseaux d’usage général : Cf. Zigbee, Digimesh,
3. Virtualisation : machines virtuelles portables (Smalltalk, Pharo, Java, etc.. Et les langages concurrents Occam/TVM)
http://arduino.cc http://concurrency.cc
![Page 14: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/14.jpg)
2. Flot de développement
![Page 15: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/15.jpg)
2.1 Flot NetGen
Distribution géographique Portées des radios, couvertures
Calcul des connectivités Modèle abstrait (graphe)
Déploiement: Cartes IGN, Google, Collecte sur GPS, plans Calculs de portées Outillage
Traducteur Graphe.dot
Kroc/simulation NVCC/simulation
Synthèse code
capteur
comportement CUDA
Traducteur CUDA
Générateur processus
comportement Occam
Annotation Images
Traducteur graphique
![Page 16: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/16.jpg)
2.2 Réutilisations, substitutions et spécificités du distribué (simulé) vers local (interprété)
Kroc/simulation
Synthèse code
capteur
Générateur processus
Comportement Occam
Système distribué spécifié et simulé en Occam : - Production automatique des organisations - Algorithmes pour les comportements
distribués - Communications simulées sur canaux
Compilation et simulations
Système local spécifié et exécuté en Occam : - Programmation des acquisitions et
ordonnancement - Algorithmes pour les comportements
distribués - Communications exécutées par radio
Exécution par une machine virtuelle spécifique réutilisé substitué
![Page 17: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/17.jpg)
2.3 Exemple : moyenne sur un voisinage
Problème (topologie inconnue) : Chaque capteur prend une mesure, par exemple la température. • On veut calculer la moyenne M2 des températures des voisins à
une distance <= 2 • On veut ensuite comparer M2 à la température locale
Solution: • Mesurer la température locale • Placer un jeton Identificateur-Température dans une table locale • Accomplir 2 pas d’échanges croisés avec les voisins
• Intégrer les jetons de chaque nouveau voisin dans la table locale • Calculer la moyenne sur cette table locale
![Page 18: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/18.jpg)
2.3 Réseaux et types de données
Les jetons (TempId) encapsulent Une mesure de température Un identificateur unique (Pi)
Les canaux transportent des tables de jetons, (ici diam.proto) Les jetons garantissent l’unicité d’une mesure: (P6->P5, et P6->P4->P5)
![Page 19: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/19.jpg)
2.3 Génération structurée de réseaux
![Page 20: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/20.jpg)
2.3 Echanges et exécution simulée
spécifique réutilisé substitué
![Page 21: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/21.jpg)
2.3 Traces de simulation
Mux
Opportunités pour • Calculs de métriques :
• trafic de communication, • Espace mémoire, • Énergie
• Compression, caches
• Alimentation d’un multiplexeur • Production de traces (ici, tables
de temperature des voisins)
![Page 22: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/22.jpg)
2.3 Occam embarqué : TVM
Transputer Virtual Machine • Atmel, ARM, … • Interpréteur bytecodes • Noyau concurrent • Constructions PAR, ALT… • Timers Aisément extensible
![Page 23: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/23.jpg)
2.3 Occam et communications sans fil (expérimental)
Implantation d’une primitive radio dans la machine virtuelle: • Emission unique (broadcast : 1 message sortant ) • Réception multiple (broadcast des voisins : n messages sortants)
tabOut
primitive
programme local
[] tabInSupport matériel: • Radio Xbee controlé par une carte Arduino • Firmware Digimesh, 1 saut de broadcast • Communications
Support logiciel: • 2 procédures émission et réception
synchronisées avec le noyau Occam • Appel en Occam • Intégration à TVM • Tests réalisés sur Arduino
![Page 24: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/24.jpg)
2.3 Production des communications (en cours …)
• Paquetisation automatique des données transportées (Outil Platypus A.Plantec, Parser Occam vers Smalltalk)
• Optimisation, et quantification des flux de données transportées • Compression • Protocoles spécifiques pour les applications RdC
tabOut
primitive
programme local
[] tabIn
Dé-sérialisation (in)
Sérialisation (out)
Variables
Paquets
![Page 25: RdC : des simulateurs aux capteurs Transformations de](https://reader031.vdocuments.pub/reader031/viewer/2022012412/616c55224ae04f150f24796f/html5/thumbnails/25.jpg)
2.2 Perspectives et états des travaux
Système distribué spécifié et simulé en Occam : - Production automatique des organisations - Algorithmes pour les comportements
distribués - Communications simulées sur canaux
Compilation et simulations
Système local spécifié et exécuté en Occam : - Programmation des acquisitions et
ordonnancement - Algorithmes pour les comportements
distribués - Communications exécutées par radio
Exécution par une machine virtuelle
Acquisition : Occam sur le matériel Algorithmes : faisabilité de l’extraction du code simulé Communications radio : Réalisation expérimentale