Vous êtes sur la page 1sur 30

Les capteurs en ville

Du maquettage la gnration de code

Bernard Pottier,
Pierre Yves Lucas, Eloi Keita
pottier@univ-brest.fr
Universit de Brest (UBO), France
*LabSTICC, UMR 3192
Dept Informatique, Facult des Sciences

RESSACS 2011, B.Pottier et al.

Plan

1.Contexte : Systmes pervasifs LabSTICC


2.Une proposition de flot pour les WSN : NetGen
3.Outils : Forme textuelle du modle topologique
4.Outils : Cration interactive de rseaux
5.Suite du flot : brve prsentation

RESSACS 2011, B.Pottier et al.

Systmes pervasifs, LabSTICC

Thme de l'quipe Mthodes et Outils pour la


Conception des Systmes

CAPNET : gestion de l'nergie dans les rseaux de


capteurs, tude de cas (N.Julien)
RO (M. Sevaux) : optimisation pour les couvertures
dans les rseaux de capteurs
Ralit Virtuelle augmente et Mer (JP Diguet)
NetGen : flot de conception et outils associs
(B.Pottier)

RESSACS 2011, B.Pottier et al.

Contributions proposes
RESSACS 2011

Introduction aux outils de spcification NetGen

Calculs et estimation de couvertures sur GIS


(R. Herry, K. Ammouche, Y. Le Gall)

Intgration logicielle des capteurs


(Pierre-Yves Lucas)
RESSACS 2011, B.Pottier et al.

Proposition de flot de conception


L'atelier NetGen propose un flot
descendant inspir de la conception
matrielle:
2
1

Etape 1: conception, simulation, optimisation.


Etape 2 : production du code pour les capteurs,
tests et dploiement (Cf P.Y Lucas)
Bouclages sur chacune des tapes et sur le flot
complet.
RESSACS 2011, B.Pottier et al.

Structuration des outils

Outil de dveloppement principal : Smalltalk

VisualWorks : prototypage rapide,constructions de


modles. Licence universitaire gratuite

Pour l'expression et la simulation systmes

Occam, compilateur de U. de Kent, libre

CUDA, compilateur et kit nvcc de Nvidia, licence

Graphviz, dot, etc..

Matriel principal : msp430, mspgcc4

tudes de capteurs et systmes matriels


RESSACS 2011, B.Pottier et al.

Spcification gomtrique (1)

Tableau de bord NetGen :

Gnrations de distributions alatoires

Rseaux rguliers

Explications sur la forme textuelle du modle :

RESSACS 2011, B.Pottier et al.

Pi { Pj Pk Pn } Programme

Spcification gomtrique (2)

Modle

RESSACS 2011, B.Pottier et al.

Spcification textuelle / fichiers

Editeur de spcification

Syntaxe spcification : titre messages (Pi { Pj Pk Pn } Programme) ..

Load et save : possibilit d'crire vos propres gnrateurs.


(menu)

(dition)
(Clic droit)

RESSACS 2011, B.Pottier et al.

Spcifications rgulires

Grilles de connectivit variable

RESSACS 2011, B.Pottier et al.

Prsentation graphe logique

Utilisation du logiciel graphviz

R-criture du modle en syntaxe dot

Si graphviz : production de prsentations graphiques logiques

RESSACS 2011, B.Pottier et al.

Saisie sur carte (1)

But : positionnement de capteurs sur un plan

Accs fentre de saisie graphique


Menu option : map

Fenetre graphique

RESSACS 2011, B.Pottier et al.

Saisie sur carte (2)


Chargement
d'une image
(.png

Portail IGN
(France),
Google maps,
etc... plans
batiments

RESSACS 2011, B.Pottier et al.

Saisie sur carte (3)


Positions des
capteurs

Selections de
points
Echelle en vue
Dessin du rseau
immdiat
Porte des
capteurs rglable
Ici : portes
circulaires

RESSACS 2011, B.Pottier et al.

Saisie sur carte (4)


Production du
modle

Transfert vers les


outils du modle
Production d'un
modle annot sur
la carte

Chemins de
mobiles

similaire

RESSACS 2011, B.Pottier et al.

Saisie sur carte (5)


Analyse du modle

Application des outils sur le


modle produit

RESSACS 2011, B.Pottier et al.

Alternative : saisie par GPS

'Data logger' MerSea

Micro controleur + GPS,


boutons de saisie

Mesures de porte sans fil

Promenade sur site

Analyse en laboratoire
PoIs
GPS

RESSACS 2011, B.Pottier et al.

C2420 MSP

Saisie par GPS : r-critures

Analyse des donnes et


reformulation

KML / Google map

Qgis (apt-get install qgis)

RESSACS 2011, B.Pottier et al.

Proposition de flot de conception


(rappel)
L'atelier NetGen propose un flot
descendant inspir de la conception
matrielle:

Etape 1: conception, simulation, optimisation.

Productions de code Occam, compilation,


simulation
Ou Production de code CUDA, compilation et
test avec feed back graphique et mobilit.
RESSACS 2011, B.Pottier et al.

Exemple : rseau cotier avec 2


portes diffrentes et 1 mobile

RESSACS 2011, B.Pottier et al.

http://wsn.univ-brest.fr/VoyageEnRade

Evolutions

Passages de couvertures radio grossires


des estimations plus fines
Application de ces techniques des
modlisations physiques conjointes
Faisabilit de ralisations matrielles

Merci .
RESSACS 2011, B.Pottier et al.

Modle synchrone : ref. N. Lynch


P2
Comportement abstrait

P1

Init

M : message send
N : message receive
C : state change and next
message production

M1
N1

P3
Init
Init
M1
M1
N1
N1
C1

Mthodes d'excution

C1
M2

Canaux bloquant Occam

Barrires SIMD sur GPU

Comm. TDMA par phases


RESSACS 2011, B.Pottier et al.

M2

C1
M2

Processus communicants :
CSP/Occam (Ref. Hoare)
CHAN OF BYTE c :

BYTE val :
PAR

A bloqu

c ! 'x' ecriture A
c ? val lecture B

RESSACS 2011, B.Pottier et al.

Rendez vous A B
Communication
libration

Processus communicants :
Modle synchrone

Si P1 et P2 sont
connects :

P1 ecrit P2

P1 reoit de P2

P2 crit P1

P2 reoit de P1

Obligation de
procder en parallle
pour viter un
deadlock !

Echantillon de code pour les phases


Mi Ni du modele synchrone
PAR
PAR i=0 FOR SIZE in
in[i] ? CASE
table ; inMessages[i]
SEQ
tags[i]:=TRUE
externalChange :=TRUE
null ; nullByte
tags[i]:=FALSE

RESSACS 2011, B.Pottier et al.

PAR j=0 FOR SIZE out


out[j] ! table; outMessages[j]

Processus communicants :
Simulation

100 % de la topologie gnre

Construction parallle pour le rseau

Prsence d'un traceur interne

100 % du comportement crire

Largement rutilisable

Code de haut niveau, fortement concurrent (PAR)

Compilation multi_threade adapte aux


processeurs multi coeurs

Scheduler embarqu dans l'excutable !


RESSACS 2011, B.Pottier et al.

Processus communicants :
Trace
.

1ere colonne : Pi
2nde colonne : diametre
3ieme colonne : leader

RESSACS 2011, B.Pottier et al.

10
9
18
0
1
2
3
4
5
6
7
8

1
1
5
6
6
6
6
6
6
6
6
6

10
10
18
11
11
11
11
11
11
11
11
11

11
12
13
14
15
16
17

6
5
5
5
5
5
5

11
18
18
18
18
18
18

Simulation sur GPU

1 thread par processus

1 kernel par comportement diffrent


Paralllisme implicite, tout le monde fait la
mme chose

Les canaux sont implants dans des


tableaux, les transferts sont 'synchrones'

Contenant les valeurs mises


Qui sont lus par les voisins
RESSACS 2011, B.Pottier et al.

Simulation sur GPU


typedef struct s_mapped
{
int node;
int canal;
}mapped;
typedef struct s_canaux
{
int nbOut;
int nbIn;
int nbDyn;
mapped write[MAX_FANOUT];
mapped read[MAX_FANOUT];
mapped
writeDyn[DYNAMIC_CHAN];
mapped readDyn[DYNAMIC_CHAN];
}canaux;

canaux channels_h[] =
{ // start array
{2,2,5,{{0,0},{0,1}},{{1,0},{2,0}},{{0,0},{0,1},{0,2},{0,3},{0,4}},{{-1,-1},
{-1,-1},{-1,-1},{-1,-1},{-1,-1}}},
{3,3,5,{{1,0},{1,1},{1,2}},{{0,0},{2,1},{3,0}},{{1,0},{1,1},{1,2},{1,3},
{1,4}},{{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}}},
{4,4,5,{{2,0},{2,1},{2,2},{2,3}},{{0,1},{1,1},{3,1},{4,0}},{{2,0},{2,1},
{2,2},{2,3},{2,4}},{{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}}},

RESSACS 2011, B.Pottier et al.

Simulation sur GPU


Production d'une ossature dcrivant les
communications

Compilation nvcc

Excutable ou librairie dynamique

Intgration au controleur Smalltalk pour la


visualisation

RESSACS 2011, B.Pottier et al.

Merci ..

RESSACS 2011, B.Pottier et al.