rdc : des simulateurs aux capteurs transformations de

25
RdC : des simulateurs aux capteurs Transformations de sources Occam Pierre-Y Lucas, A. Plantec et B. Pottier [email protected] Université de Brest (UBO) Lab-STICC, UMR CNRS 6285

Upload: others

Post on 17-Oct-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RdC : des simulateurs aux capteurs Transformations de

RdC : des simulateurs aux capteurs Transformations de sources Occam

Pierre-Y Lucas, A. Plantec et B. Pottier [email protected]

Université de Brest (UBO) Lab-STICC, UMR CNRS 6285

Page 2: RdC : des simulateurs aux capteurs Transformations de

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

Page 3: RdC : des simulateurs aux capteurs Transformations de

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)

Page 4: RdC : des simulateurs aux capteurs Transformations de

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

Page 5: RdC : des simulateurs aux capteurs Transformations de

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

Page 6: RdC : des simulateurs aux capteurs Transformations de

1.3 Plateforme « populaire »: Arduino

Micro-controleur Atmel (MCU) Plaque Arduino, Module radio Xbee Contrôle par le MCU, Capteurs à adapter.

http://arduino.cc

Page 7: RdC : des simulateurs aux capteurs Transformations de

1.4 Adaptation ‘gaz’ Libelium

Page 8: RdC : des simulateurs aux capteurs Transformations de

1.5 Programmation du capteur

Exemple : IDE Arduino Initialisation, Boucle

Compilation Téléchargement Tests.

Exemple : IDE Arduino

Page 9: RdC : des simulateurs aux capteurs Transformations de

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 ?

Page 10: RdC : des simulateurs aux capteurs Transformations de

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.

Page 11: RdC : des simulateurs aux capteurs Transformations de

1.8 Matériels : Atmel

Stockage local ? Horloge et temps réel ? Modules d’acquisition ?

Page 12: RdC : des simulateurs aux capteurs Transformations de

1.9 Autres matériels : Texas

Stockage local ? Horloge et temps réel ? Modules d’acquisition ?

Page 13: RdC : des simulateurs aux capteurs Transformations de

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

Page 14: RdC : des simulateurs aux capteurs Transformations de

2. Flot de développement

Page 15: RdC : des simulateurs aux capteurs Transformations de

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

Page 16: RdC : des simulateurs aux capteurs Transformations de

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é

Page 17: RdC : des simulateurs aux capteurs Transformations de

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

Page 18: RdC : des simulateurs aux capteurs Transformations de

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)

Page 19: RdC : des simulateurs aux capteurs Transformations de

2.3 Génération structurée de réseaux

Page 20: RdC : des simulateurs aux capteurs Transformations de

2.3 Echanges et exécution simulée

spécifique réutilisé substitué

Page 21: RdC : des simulateurs aux capteurs Transformations de

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)

Page 22: RdC : des simulateurs aux capteurs Transformations de

2.3 Occam embarqué : TVM

Transputer Virtual Machine •  Atmel, ARM, … •  Interpréteur bytecodes •  Noyau concurrent •  Constructions PAR, ALT… •  Timers Aisément extensible

Page 23: RdC : des simulateurs aux capteurs Transformations de

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

Page 24: RdC : des simulateurs aux capteurs Transformations de

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

Page 25: RdC : des simulateurs aux capteurs Transformations de

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