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