Télécharger la présentation au format PDF
Transcription
Télécharger la présentation au format PDF
Maquettage et Simulation À haut niveau 3 Juillet 2013 Bernard Pottier & Co. [email protected] Université de Brest (UBO) Lab-STICC, UMR CNRS 6285 Réseaux de capteurs, Impacts et Défis pour la société Université de Bejaia NetGen le site http://wsn.univ-brest.fr/NetGenNews Démos vidéos http://wsn.univ-brest.fr/PortesOuvertes/ 1. Outils de développement une proposition de flot synchrone Synchrone: Existence de références temporelles séquençant les évolutions. 1.2 Vue du flot de développement physique Déploiement: Cartes IGN, Google, Collecte sur GPS, plans Calculs de portées Outillage Distribution géographique Portées des radios, couvertures Calcul des connectivités Modèle abstrait (graphe) abstrait Générateur processus Traducteur CUDA comportement Occam comportement CUDA Kroc/simulation NVCC/simulation Traducteur Graphe.dot Traducteur graphique Annotation Images exécuté Synthèse code capteur 1.3 Transformation du code distribué simulé vers le code local exécutable 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 Générateur processus Comportement Occam Kroc/simulation 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 Synthèse code capteur Spécifique applic. Algorithme réutilisé Transformé radio 1.4 Intégration physique en temps réel: modèle issu de SmartSantander.eu Brosseur de cartes Data : smartsantander.eu • 1000 capteurs • 7 réseaux • Portée 100m estimée • Transfert du graphe vers le modèle NetGen • Synthèse de simulateurs : ici code Occam [email protected] 1.5 Interactions niveaux physique <-> simulation Brosseur de cartes • L’IHM renvoit positions et informations sur les capteurs • Les simulateurs peuvent animer l’IHM: position, messages des capteurs simulés. 1.6 Deux aspects orthogonaux: les architectures et les comportements Forme textuelle genRange120Points10 P1 { P3, P6, P9 } Node (92 @ 92) (120) P2 { P5, P8, P10 } Node (166 @ 220) (120) P3 { P1, P6 } Node (39 @ 150) (120) P4 { P7, P9 } Node (213 @ 82) (120) P5 { P2, P8, P10 } Node (137 @ 294) (120) P6 { P1, P3 } Node (37 @ 161) (120) P7 { P4 } Node (330 @ 56) (120) P8 { P2, P5, P10 } Node (215 @ 295) (120) P9 { P1, P4 } Node (152 @ 29) (120) P10 { P2, P5, P8 } Node (156 @ 255) (120) P2.P5 P10.P2 P5.P2 P2 P2.P8 P8.P2 P2.P10 P8 P10.P8 P5.P8 P8.P5 P8.P10 P10 P10.P5 Sub Net 1 P5.P10 P1.P9 P9.P1 P3.P1 P1 P1.P3 P3 P5 P9 P9.P4 P4.P9 P4 P4.P7 P7.P4 P7 P1.P6 P6.P1 P3.P6 P6.P3 Le modèle abstrait est présenté sous forme d’une liste de processus accompagnée de la sortance et du programme exécuté (Node), puis d’annotations optionnelles P6 Sub Net 2 1.7 Maquette de déploiement spatial Points de mesure physiques Portées prévisibles Connectivités Réseaux connexes Ruptures, faiblesses, Redondances, mobiles Outil NetGen : http://wsn.univ-brest.fr/NetGenNews 1.8 Propriétés topologiques du réseau résultant Réseau connexe ou non ? [Non] Distances en sauts entre noeuds Plus grande distance? Nombre de liens max, fanOut Redondances, Communications inutiles? Séquencements, sommeils? http://wsn.univ-brest.fr/NetGenNews 2. Architecture du réseau et comportement algorithmique 2.1 Modèle comportemental pour les communications synchrones Le capteur contribue à un algorithme distribué modèle synchrone: 1. Emettre des messages vers les voisins 2. Recevoir des messages des voisins 3. Changer son état local en intégrant ses mesures locales 4. Produire les messages pour le cycle suivant 5. Sleep, Goto 1 Exemples de programmes distribués symétriques simples: • Calculs de diamètres • Calculs de leader, exclusions, consensus, • Moyennes distribuées • Calculs de routes, acheminements, régulation de flux • Arbres de recouvrements, réductions, drainages Nancy Lynch Distributed Algorithms Publié chez Morgan-Kaufman 2.2 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: Temperature moyenne dans un voisinage • 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 Typage des canaux: Structure, ou protocole 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) Temperature moyenne dans un voisinage Graphe généré 2.4 Génération structurée de réseaux en Occam Canaux typés Connexions Des noeuds Université de Kent Compilateur KROC Système concurrent Graphe généré 2.5 Echanges et exécution simulée Entête de procédure Corps de procédure spécifique réutilisé substitué 2.3 Traces de simulation • Alimentation d’un multiplexeur • Production de traces (ici, tables de temperature des voisins) Trace récoltée Mux Exécutable threadé i386 linux Opportunités pour • Calculs de métriques : • trafic de communication, • Espace mémoire, • Énergie • Compression, caches 2.3 Occam embarqué : TVM Bytecodes Occam interprété sur Arduino 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) Support 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 tabOut [] tabIn primitive programme local 2.3 Du langage aux communications (travail en cours …) • Paquetisation automatique des données transportées (Outil Platypus A.Plantec, Analyseur de code Occam, couche présentation) • Optimisation, et quantification précise des flux de données transportées • Compression éventuelle, caches • Protocoles spécifiques pour les applications RdC, évaluation algorithmes Variables haut Niveau Occam Dé-sérialisation (in) Sérialisation (out) La couche présentation est ici gérée par un compilateur qui sérialise des variables de programme dans des tampons. Le coût des transferts effectifs lui est donc connu. http://dossen.univ-brest.fr tabOut [] tabIn primitive Paquets radio programme local 2.2 En cours: du code simulé au code capteur 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 : machine virtuelle Occam sur Arduino (TVM) Algorithmes : transfert du code simulé vers le code embarqué Communications radio : Réalisation expérimentale Appel Xbee à partir de TVM Site TVM/Arduino : http://concurrency.cc 3. Survol des activités WSN/Brest 3.1 Cadre des recherches Laboratoire: • • LabSTICC, UMR CNRS: Brest (WSN, UBO) , Lorient (UBS, Marc Sevaux, Nathalie Julien) Thème « Systèmes pervasifs », de l’électronique à la R.O. Equipe WSN, et activités R&D: • • • • • WSN, Université de Brest, informatique Systèmes et algorithmes distribués Architectures et systèmes embarqués Génie logiciel, développement logiciels Recherche opérationnelle (Cap Carbon, A.Bounceur) 3.2 Objectifs, méthodes et outils Nos objectifs de recherche actuels 1) Conception et qualification de machines-capteurs distribués 2) Validation du couplage à des processus physiques, naturels, humains. Intégration de la mobilité. Coopérations actives: • Bejaia • Réseau « RESSACS », PHC Pau/Oran • IRD, CIRAD, • Sénégal (UGB), Madagascar (ESPA), Vietnam (UCT) …Quelques autres outils 3.3 Interactions avec les GIS Gmap: accès aux cartes Fonctions : - Navigation sur cartes - Zoom et dézoom - Echelle, distances - Chargements de réseaux réels (Santander) - Affichage d’infos géolocalisées - Appels synthèse de réseaux Saint-Louis, Sénégal 3.4 Interactions avec les GIS: Présentation/Interaction structures Données : - Forme batiments numérisée - Navigation - Fchiers Shapefile, - Affichage géo localisé sur - Google map - OpenStreetmap - Support pour lancer de rayon, automates cellulaires. Brest, BMO métropole: 85000 batiments 3.6 Interactions Recherche Opérationnelle systèmes informatique UBO : Ahcène Bounceur, Cap Carbon, outils routage, modèles statistiques UBS : Marc Sevaux et André Rossi modèles de couvertures + UBO : David Espes, Alain Plantec Communications, Génie logiciel + UBS : Nathalie Julien, Jean Philippe Diguet Énergie, autonomie, Body Area Network 3.6 Modèles géographiques et routage Merci. [email protected] http://wsn.univ-brest.fr/pottier