Bernard Pottier 26 August 2015 Approche CyberPhysique rseaux
Bernard Pottier, 26 August 2015 Approche Cyber-Physique réseaux de capteurs pour la surveillance de l’environnement 1 pottier@univ-brest. fr http: //wsn. univ-brest. fr/pottier M 2 R - ECD Can Tho University
Sommaire 1. Introduction: objectifs et méthodes 2. Simuler le monde physique pour mieux l’observer 3. Flot pour réseaux de capteurs 4. Simulation physique générique par automates cellulaires 5. Analyser une simulation, filtres, graphiques simples 6. Plan et contenus des travaux dirigés, projet de simulation mixte 7. Documents et bibliographie 2
1) Introduction: objectifs et méthodes Changements climatiques ? ❖ Economiser les ressources et l’énergie: moins de transports, meilleur usage des dépenses, ❖ Surveiller : comprendre les risques et les évolutions Quels moyens ? ❖ Communications: le « sans fil » permet de transporter l’information, décider et contrôler à distance ❖ Sentir et agir : dispositif électronique miniature, capteurs interfaces physiques, ❖ Synthétiser la connaissance : calculs distribués, bases de données 3
Observation et mesures physiques Objectif de l’observation : ❖ Quantifier des grandeurs: température, humidité, lumière d’un feu, véhicule, présence animale… ❖ Décider localement et dans un voisinage : incendie, traffic, invasion animale ❖ Décider, contrôler, rapporter : consensus sur une alerte incendie, freiner via un feu de circulation ❖ Comprendre, et analyser: rapports d’historiques, statistiques, connaissances 4
Observation et mesures physiques Faits physiques et mesure : ❖ Processus physiques : identifiés, distribués spatialement, dynamiques, instantanés ou permanents, avec échantillonnage ❖ Le capteur : associe des grandeurs informatiques, booléens, entiers, images et videos ❖ Sujets à erreurs: fréquence échantillonnage? conversions? représentations numériques ? Unité entre fait physique et observation/controle L’observation est aussi un fait physique ! Electronique, communications, distribué = faits physiques 5
Un scénario : la ligne de bus ❖ ❖ ❖ Composants: routes, bus, arrêts de bus, bâtiments, géo-localisés Services : où sont les bus ? quand arrivent-ils, combien de passagers? Problèmes à résoudre : comment mesurer, comment décider, valider le réseau, optimiser son cout. 6
2) Simuler le monde physique pour mieux l’observer 1) Comprendre d’abord le fait physique ❖ ❖ organisation spatiale : composants (routes, champs de riz, rivières, montagnes, mer, bâtiments de la ville) évolution temporelle : comportement du traffic automobile, courants dans la rivière, dispersions de proche en proche Analyser : les composants, leurs positions, et décrire les comportements. Travail multi-disciplinaire, expertises 7
Simuler le monde physique pour mieux l’observer 2) Acquisition et communication ❖ ❖ ❖ Acquisition : quels capteurs ? quelles corrélations ? Couverture spatiale : quel est le rayon d’action du capteur ? Couverture radio : comment la radio peut-elle aider à transmettre l’information (rayon d’action et qualité) Modéliser : les capteurs, leurs capacités, leurs incertitudes. Modéliser : les communications, distances et incertitudes. Expérimenter les capteurs dans un environnement distribué 8
Simuler le monde physique pour mieux l’observer 3) La simulation intègre organisation physique et observation ❖ organisation spatiale : composants (routes, champs de riz, rivières, montagnes, mer, bâtiments de la ville) ❖ mobiles : composants et chemins de déplacements, statiques (prédictibles), ou dynamiques (décisions calculées ou aléatoires) ❖ interactions : quels composants interagissent et comment. Construire des outils : nécessité de choix reproductibles, fiabilité des instances de modèle, traductions automatiques Expérimenter sur des cas concrets 9
Quelques aspects de recherche ❖ ❖ ❖ ANR Persepteur: modélisation des canaux radio en 3 D (2015 -2017) CPER i. ROMI/MICAS: nano satellite pour la collection de données (2015 -2019) Pick. Cell: logiciel pour la modélisation et simulation par systèmes cellulaires Persepteur : représentations de canaux radio en ville (image Virtualis) 10
Scénario global : mobile/capteurs Droite : GPredict Gauche: Quickmap Vert: contacts Rouge: contacts perdus Bleu: réseau à terre Noir : Aalborg Cubesat Collecte de données sur les capteurs: radio longue portée, calcul au vol sur le réseau à terre, 11
Algorithmes: transaction et flot Satellite out Satellite in 12
3) Flot pour réseaux de capteurs • 13 Accès à une carte ou photo : ici Quick. Map (PY. Lucas)
Placement des capteurs Spécification interactive du réseau • • Placement des capteurs sur la carte, choix d’une portée (cercles noirs), Synthèse et représentation du réseau résultant (lignes bleues). 14
Synthèse d’un modèle • 15 Modèle abstrait: processus et voisinage
Présentation logique • 16 graphe logique: produit par grphviz
Programme Occam (ou CUDA) • Programme architecture: compilable avec un fichier de comportement 17
4) Simulation générique par systèmes cellulaires • • Net. Gen : simulation de réseaux de capteurs • Les noeuds de graphes sont des capteurs • Les liens sont les canaux de communication Pick. Cell : simulation de processus physiques • Noeuds : cellules géo-localisées • Liens : influences physiques de proximité (cellular automata) 18 Tous synchrones, avec des horloges différentes Tous paralleles On peut partager les outils de synthese et opérer des simulations conjointes
Méthode pour la simulation physique : des images aux systèmes cellulaires segmentation ❖ Etape 1 : segmentation cellulaire ❖ Etape 2 : groupement par affinité ❖ Etape 3 : Interconnection selon un voisinage ❖ Etape 4: ajout de la règle de transition, compilation, simulation! 19 classification réseau de cellules simulation synchrone
Segmentation d’un fond physique ❖ Ce fond peut être une carte ou une photo, une acquisition. Ici il est produit par le browser Quick. Map. ❖ La section définit le pas en x ou en y, donc la dimension des cellules. ❖ Classification Penfeld Un menu Get grid cell segmente et classifie les cellules qui seront présentées dans une nouvelle fenêtre 20 Pas spatial
Classification ❖ Les éléments de l’image sont des pixels Red-Green-Blue. ❖ Le diviseur n est appliqué aux trois composantes donnant ainsi de n x n cubes (ici 27). ❖ On calcule le critère pour chaque cellule (ici 5 x 5 = 25 pixels), et on classe les cellules par similarité. ❖ classes critère Ici on a au plus 27 classes de codes 0. . 26 que l’on peut afficher inter-activement. 21 cellules diviseur
Un algorithme de classification blue ❖ Calculer le min et le max sur les trois composantes RGB de l’image ❖ Partitionner [min, max] sur chacune des composantes en appliquant le diviseur ❖ ❖ min blue Pour chaque cellule, appliquer le critère ( min (pixels _ cellule, . . )) et choisir le cube RGB où la cellule se trouve (sa classe) green max green red Construire le plan de cellules “creux” pour chaque classe. diviseur = 2, 8 classes, peut-être vides espaces de valeurs < 256 x 256 22
Des cellules aux automates Automates cellulaires ❖ Les cellules représentent l’état local d’un phénomène physique. ❖ Le phénomène d’évolution est dû à des lois de proximité, calculées sur un voisinage. ❖ Une connectivité représente les communications possibles entre cellules. ❖ voisinage de Von Neumann voisinage de Moore Système de processus communiquant La loi d’évolution précise comment une cellule évolue en fonction de son voisinage à chaque pas de temps. cellule w x h pixels pixe 23
Architecture du système Architecture abstraite ❖ Processus localisé, sortance, procédure du comportement, informations géographiques ❖ Composition parallèle de processus associée à un multiplexeur produisant une trace textuelle. processus abstrait Génération: ❖ programme Occam similaire à ceux des réseaux de capteurs de Net. Gen ❖ nécessite un comportement ❖ et les données des cellules 24
Données cellulaires ( Occam) Structures de données Valeurs DATA TYPE Image. Extent VAL [ 965] Cell. Array Cells IS [ [ [ 64, 74] , [ [ 5, 5] , [ [225, 220, 210] , [236, 232, 224] , [240, 237, 229] , [223, 218, 208] , [160, 196, 254] , [228, 223, 214] , [240, 237, 229] , [228, 223, 214] , [198, 210, 228] , [223, 218, 208] , [240, 237, 229] , [236, 233, 225] , [225, 220, 210] , [211, 214, 221] , [231, 227, 218] , [240, 237, 229] , [225, 220, 210] , position , [223, 218, 208] , [240, 237, 229] [173, 204, 253] , pixel R, G, B dim cellule x, y [240, 237, 229] , [233, 229, 220] ] , RECORD INT width, height: : DATA TYPE Cell. Position RECORD INT x, y: : DATA TYPE RGBPixel RECORD BYTE red, green, blue: : DATA TYPE Depth 24 Byte. Array RGBPixel: IS [ 25] DATA TYPE Cell. Image RECORD Image. Extent extent: Depth 24 Byte. Array pixel. Array: : DATA TYPE Cell. Array RECORD Cell. Position position: Cell. Image image: : nombre de processus=965 [ [ 64, 75] [211, 214, 221] [240, 237, 229] [225, 220, 210] [154, 191, 253] [240, 237, 229] [155, 192, 253] [233, 229, 220] [162, 197, 254] ] , …. , [ [ 5, 5] , [ [153, 190, 253] , , [236, 232, 224] , [240, 237, 229] , , [154, 191, 253] , [185, 203, 233] , , [240, 237, 229] , , [155, 192, 253] , [211, 214, 221] , , [240, 237, 229] , [155, 192, 253] , , [185, 203, 233] , [225, 220, 210] , , [155, 192, 253] , [157, 193, 253] , , [230, 226, 220] , [225, 222, 215] ] 1 cellule 25 ]
Programme cellulaire complet Formé de 3 fichiers, 1 et 3 étant produits automatiquement 1. architecture (cell. Network 17. occ) : système cellulaire concurrent reproduisant l’image d’une classe (code 17), en conformité avec le voisinage choisi. 2. comportement (route-include. occ) : comportement, et notoirement une PROCédure Cell. Node qui décrit le comportement des cellules, état de la cellule. 3. données (brest. Penfeld 17. occ) : données d’une classe (17) décrites en Occam, implantées dans un tableau global, et lu par chaque processus à partir d’un index passé en paramètre. 26
Comportements (I) Pas de différence entre le comportement cellulaire et le modèle synchrone pour les réseaux de capteurs. On peut associer : • réseaux de données : calculs de leaders, diamètres, routages et acheminements restent utilisables (le réseau est ici l’assemblage des cellules). Démonstration: on route et on achemine dans la Penfeld… • modèles physiques : automates cellulaires purement locaux, moyennes distribuées, écoulement de fluides, de gaz, insectes…. Structures de données: décrites par le programmeur “cellulaire” et supportant l’état local et ses évolutions. Evolutions conformes au modèle synchrone, codées dans Cell. Node: etat(t) x inputs -> etat(t+1) , outputs 27
Comportements (II) Les fonctions d’implantation de capteurs sont utilisables sur les classes • possibilité de calculer des placements optimisés de capteurs, ou de décider ces placements manuellement, en produisant un fichier architecture de réseau Net. Gen classique. Possibilité de simulations conjointes synchrones • Simulation conjointe possible, à la HLA • 1 classe, 2 classes, … simulées en entrelacement ou en parallèle • alimentation de la simulation du réseau par le simulateur physique • contrôle du processus physique 28
5) Analyser une simulation Diamètre et routage 879 213 242 879 911 879 213 911 242 317 166 227 Px 11 y 19 Px 11 y 20 Px 7 y 8 l 1 l 1 Px 8 y 8 l 1 g 1 g 1 Px 2 y 40 Px 4 y 39 Px 4 y 40 : (879 -0 --1)(213 -1 -0) : (213 -0 --1)(879 -1 -0) : (242 -0 --1)(911 -1 -0) Identité (213) Nom. Processus (x=11 y=20) : table routage l =max local des distances aux voisins : (911 -0 --1)(242 -1 -0) g =max global des distances aux voisins dans le réseau, diamètre = 1 : (317 -0 --1)(227 -1 -0)(280 -1 -1)(166 -2 -0) : (166 -0 --1)(227 -1 -0)(280 -1 -1)(317 -2 -0) : (227 -0– 1)(166 -1 -0)(280 -1 -1)(317 -1 -2) Acheminement 944 <->184 228 944 228 86 151 P Lost 228 Transit tour 862 876 863 877 noeud Id Id 944 collision 184 944 sur 228 944 184 86 184 944 151 944 184 une sortie, node = 228 transit node = 151, dst = 944, src = 184, time 877 29
démonstrations Cas de la Penfeld, classe 17, les 4 voisinages ont été testés. 1. calcul de diamètre (de 1 à 76) et de tables de routage, 2. acheminement de paquets pair à pair, et trace sur le réseau routé, collisions 3. présentation sur l’image initiale (processus P 3 <-> P 4) 4. géo-localisé à partir du support de Quick. Map 30
6) Travaux dirigés 1. Prise en main des environnements sur les portables des étudiants. • http: //wsn. univ-brest. fr/svn/cours. Cyber. pdf 2. J 1 : Systèmes de processus, petits exemples de programmes. • http: //wsn. univ-brest. fr/svn/cours. Cyber/Jour 1/ 3. J 2 : Topologies régulières, topologie extraite d’une carte. • http: //wsn. univ-brest. fr/svn/cours. Cyber/Jour 2/ 4. J 3 : Programmation des comportements, maximum distribué • http: //wsn. univ-brest. fr/svn/cours. Cyber/Jour 3/ 5. J 4 : Systèmes cellulaires et auto organisation, boites englobantes • http: //wsn. univ-brest. fr/svn/cours. Cyber/Jour 4/ 6. J 5 : Analyse des traces : image d’une pollution (awk/jgraph) • http: //wsn. univ-brest. fr/svn/cours. Cyber/Jour 5 7. Présentation d’un projet de simulation mixte : physique, puis capteurs • http: //wsn. univ-brest. fr/svn/cours. Cyber/Projets. pptx 31
7) Documents et bibliographie A. Systèmes cyber physiques : environnement de développement (33 pages) • http: //wsn. univ-brest. fr/svn/cours. Cyber. pdf B. Support de cours : “Approche cyber physique” (34 pages) • http: //wsn. univ-brest. fr/svn/cours. Cyber/Cours. Can. Tho. Cyber. pdf C. Systèmes distribués synchrones (cours de Master 1) • http: //wsn. univ-brest. fr/svn/cours. Cyber/algodis 13 Oct. pdf D. Programmation et structure des capteurs (commenté directement sur le web) • http: //wsn. univ-brest. fr/svn/cours. Cyber/Capteurs. Pratiques. pptx E. Manuel de programmation Occam • http: //wsn. univ-brest. fr/svn/cours. Cyber/oc 21 refman. pdf F. Rapport M 2 R de Hoang sur la simulation conjointe HLA (42 pages) • http: //wsn. univ-brest. fr/pottier/hoang. pdf G. Présentation du projet (14 pages) • http: //wsn. univ-brest. fr/svn/cours. Cyber/Projets. pptx 32
Quelques références ❖ Site du cours http: //wsn. univ-brest. fr/svn/cours. Cyber ❖ Automates cellulaires et Net. Gen (CUDA): ❖ ❖ ❖ http: //wsn. univ-brest. fr/TER-rapports/ahmed. Report. pdf ❖ http: //wsn. univ-brest. fr/TER-rapports/TERThibault. Failler. pdf Gaz sur réseau, physique et automates cellulaires: ❖ http: //catdir. loc. gov/catdir/samples/cam 031/97028284. pdf ❖ http: //www. complex-systems. com/pdf/01 -4 -7. pdf GIS et cours d’eau ❖ http: //cartelie. application. developpementdurable. gouv. fr/cartelie/voir. do? carte=Reseau_hydrographique&service=DDTM_29 33
Physical simulation is powerful : a demonstration from Hoang Van Tran (Master report http: //wsn. univ-brest. fr/pottier/hoang. pdf) demo : http: //wsn. univ-brest. fr/~tran mardi 10 mars 2015 One cell has a particular property, such as the presence of an animal (a shark ? a fish ? ). The network first run a route computation algorithm, then the animal start toward a particular arbitrary cell. . . • • • Any cell system, any shape Any starting point, any target point Shark find the shortest path to the target Thanks to a routing algorithm Allow to validate monitoring system
- Slides: 34