rdc : des simulateurs aux capteurs transformations de

Post on 17-Oct-2021

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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