rdc : des simulateurs aux capteurs transformations de
Post on 17-Oct-2021
0 Views
Preview:
TRANSCRIPT
RdC : des simulateurs aux capteurs Transformations de sources Occam
Pierre-Y Lucas, A. Plantec et B. Pottier x.y@univ-brest.fr
Université de Brest (UBO) Lab-STICC, UMR CNRS 6285
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
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)
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
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
1.3 Plateforme « populaire »: Arduino
Micro-controleur Atmel (MCU) Plaque Arduino, Module radio Xbee Contrôle par le MCU, Capteurs à adapter.
http://arduino.cc
1.4 Adaptation ‘gaz’ Libelium
1.5 Programmation du capteur
Exemple : IDE Arduino Initialisation, Boucle
Compilation Téléchargement Tests.
Exemple : IDE Arduino
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 ?
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.
1.8 Matériels : Atmel
Stockage local ? Horloge et temps réel ? Modules d’acquisition ?
1.9 Autres matériels : Texas
Stockage local ? Horloge et temps réel ? Modules d’acquisition ?
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
2. Flot de développement
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
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é
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
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)
2.3 Génération structurée de réseaux
2.3 Echanges et exécution simulée
spécifique réutilisé substitué
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)
2.3 Occam embarqué : TVM
Transputer Virtual Machine • Atmel, ARM, … • Interpréteur bytecodes • Noyau concurrent • Constructions PAR, ALT… • Timers Aisément extensible
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
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
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
top related