1
CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE FRACAS: Fiabilit ´ e des R ´ eseaux Autonomes de Capteurs et Applications ` a la S ´ ecurit ´ e Action de Recherche Coordonn´ ee INRIA 2007-2008 Partenaires: ARES (Rhone Alpes), DIONYSOS (Rennes), Grand Large (Futurs), REGAL (Rocquencourt) Collaborateur ´ etrangers: NEST (USA), Osaka Univ. (Japon). Coordinateur : ebastien Tixeuil http://www.lri.fr/fracas 1. Motivation L E but principal de l’ARC FRACAS est de proposer des solutions algorithmiques aux probl` emes de la tol´ erance aux pannes, aux attaques, et aux perturbations qui sont susceptibles de survenir dans les r´ eseaux de capteurs communicants. 1. Mod` eles algorithmiques pour les r´ eseaux de capteurs ; 2. Algorithmes auto-stabilisants (quand les perturbations sont transitoires) ; 3. Algorithmes robustes (quand les perturbations sont permanentes) ; 4. Implantations sur une plate forme de capteurs (pour les petits r´ eseaux) ; 5. Implantations sur un simulateur de capteurs (pour les grands r´ eseaux). Time Nature Extent 2. Mod` ele : Les D´ etecteurs de Participation D ANS la plupart des travaux sur les algorithmes robustes, les entit´ es participantes se connaissent toutes entre elles. Dans un r´ eseau de capteurs, ceci n’est pas r´ ealiste. Un etecteur de Participa- tion est une abstraction qui permet de mod´ eliser le degr´ e de connaissance du r´ eseau de ses participants. Ainsi, chaque participant connaˆ ıt un ensemble limit´ e d’autres participants. Nous avons ´ etudi´ e des con- ditions n´ ecessaires et suffisantes pour r´ esoudre le probl` eme du consensus tol´ erant aux pannes [3]. Par ailleurs, nous avons ´ etudi´ e la possibilit´ e d’implanter un d´ etecteur de d´ efaillances dans un environ- nement inconnu [7, 10]. p11 p1 p2 p3 p9 p10 p12 p5 p4 p8 p7 p6 G1 G2 G3 SINK Component 3. Mod` ele : Les Protocoles de Population D ANS le mod` ele des Protocoles de Population, les capteurs sont des entit´ es autonomes qui in- teragissent au cours du temps par paires. Localement, la communication est asym´ etrique (une source et une destination). Le mod` ele de base poss` ede la mˆ eme puissance de calcul que l’arithm´ etique de Pressburger. Nous nous int´ eressons ` a une extension du mod` ele qui comprend une antenne fixe dont la m´ emoire ne peut ˆ etre corrompue ; dans ce mod` ele nous avons propos´ e plusieurs solutions auto-stabilisantes [6, 9]. 4. Implantation : Algorithmes Auto-stabilisants S UR une plate-forme de capteurs de type TelosB, nous avons implant´ e plusieurs algorithmes auto- stablisants : synchronisation d’horloge (SSS 2006) ; coloration de nœuds (ICPADS 2006) ; allocation de cr´ eneaux de temps (AlgoSensors 2004). Des videos de d´ emonstration sont disponibles sur le site web de FRACAS. References [1] Conflict Managers for Self-stabilization without Fairness Assumption. Maria Gradinariu, and S´ ebastien Tixeuil. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS 2007), June 2007. [2] Transient Fault Detectors. Joffroy Beauquier and Sylvie Dela¨ et and Shlomi Dolev and S´ ebastien Tixeuil. Distributed Computing, 20(1), pp. 39-51, 2007. [3]Knowledge Connectivity vs. Synchrony Requirements for Fault-Tolerant Agreement in Unknown Networks. Fab´ ıola Greve, and S´ ebastien Tixeuil. In Proceedings of IEEE International Conference on Dependable Systems and networks (DSN 2007), June 2007. [4] A Model for Large Scale Self-stabilization. Thomas Herault, Pierre Lemarinier, Olivier Peres, Laurence Pilard, and Joffroy Beauquier. In 21st IEEE International Parallel & Distributed Processing Symposium (IPDPS), Long Beach, California, 2007. [5] Fault-tolerant distributed algorithms for scalable systems. S´ ebastien Tixeuil, In Wireless Ad Hoc and Sensor Networks. ISTE, October 2007. (ISBN: 978 1 905209 86). [6] Brief Announcement: Self-Stabilizing Counting in Mobile Sensor Networks. Joffroy Beauquier, Julien Clement, St´ ephane Messika, Laurent Rosaz, and Brigitte Rozoy. PODC 2007, August 2007. [7] Asynchronous Implementation of Failure Detectors with partial connectivity and unknown participants. Pierre Sens, Luciana Arantes, and Mathieu Bouillaguet. Research Report 6088, INRIA, January 2007. [8]Self-* Minimum Connected Covers of Query Regions in Sensor Networks. Ajoy Datta, Maria Gradinariu Potop-Butucaru, Rajesh Patel , and Ai Yamazaki. In Proceedings of the International Symposium on Stabilization, Safety and Security of Distributed Systems (SSS 2007) , November 2007. [9]Complexity for Self-stabilizing Sensor Networks. Julien Clement, Stephane Messika, and Brigitte Rozoy. Technical report 1472, Laboratoire de Recherche en Informatique, May 2007. [10] Failure, Disconnection and Partition Detection in Mobile Environment. Denis Conan, Pierre Sens , Luciana Arantes, and Mathieu Bouillaguet. Research Report 6184, INRIA, May 2007. Journ´ ees ARC INRIA, Octobre 2007, Rennes

FRACAS: Fiabilite des R´ eseaux´ Autonomes de … · FRACAS: Fiabilite des R´ eseaux´ Autonomes de Capteurs et Applications a` ... The comulative distribution function was stored

  • Upload
    dangbao

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FRACAS: Fiabilite des R´ eseaux´ Autonomes de … · FRACAS: Fiabilite des R´ eseaux´ Autonomes de Capteurs et Applications a` ... The comulative distribution function was stored

CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE

FRACAS: Fiabilite des ReseauxAutonomes de Capteurs et Applications a

la SecuriteAction de Recherche Coordonnee INRIA 2007-2008

Partenaires: ARES (Rhone Alpes), DIONYSOS (Rennes), Grand Large (Futurs), REGAL (Rocquencourt)Collaborateur etrangers: NEST (USA), Osaka Univ. (Japon). Coordinateur: Sebastien Tixeuil

http://www.lri.fr/fracas

1. Motivation

LE but principal de l’ARC FRACAS est de proposer des solutions algorithmiques aux problemes dela tolerance aux pannes, aux attaques, et aux perturbations qui sont susceptibles de survenir dans

les reseaux de capteurs communicants.1. Modeles algorithmiques pour les reseaux de capteurs ;2. Algorithmes auto-stabilisants (quand les perturbations sont transitoires) ;3. Algorithmes robustes (quand les perturbations sont permanentes) ;4. Implantations sur une plate forme de capteurs (pour les petits reseaux) ;5. Implantations sur un simulateur de capteurs (pour les grands reseaux).

Introduction Issues in Large Scale Systems Solutions for Large Scale Stabilization Conclusion and Perspectives

Self-stabilization vs. Robustness

Time

Nature

Extent

2. Modele : Les Detecteurs de Participation

DANS la plupart des travaux sur les algorithmes robustes, les entites participantes se connaissenttoutes entre elles. Dans un reseau de capteurs, ceci n’est pas realiste. Un detecteur de Participa-

tion est une abstraction qui permet de modeliser le degre de connaissance du reseau de ses participants.Ainsi, chaque participant connaıt un ensemble limite d’autres participants. Nous avons etudie des con-ditions necessaires et suffisantes pour resoudre le probleme du consensus tolerant aux pannes [3]. Parailleurs, nous avons etudie la possibilite d’implanter un detecteur de defaillances dans un environ-nement inconnu [7, 10].

p11p1

p2p3

p9

p10 p12

p5p4

p8 p7

p6

G1 G2

G3SINK Component

3. Modele : Les Protocoles de Population

DANS le modele des Protocoles de Population, les capteurs sont des entites autonomes qui in-teragissent au cours du temps par paires. Localement, la communication est asymetrique (une

source et une destination). Le modele de base possede la meme puissance de calcul que l’arithmetiquede Pressburger. Nous nous interessons a une extension du modele qui comprend une antenne fixedont la memoire ne peut etre corrompue ; dans ce modele nous avons propose plusieurs solutionsauto-stabilisantes [6, 9].

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

frequ

ency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequ

ency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

frequ

ency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequ

ency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

freq

uency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

freq

uency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

fre

qu

en

cy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

fre

qu

en

cy

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

frequ

ency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

freq

uency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequ

en

cy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequ

en

cy

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

frequ

ency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequ

ency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.14

10 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

freq

uency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequ

ency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

fre

qu

en

cy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

fre

qu

en

cy

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

freq

uency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequ

ency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

freq

uency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

freq

uency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

frequ

ency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

freq

uency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

freq

ue

ncy

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

freq

uency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960fr

equency

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

frequ

ency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequ

ency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960fr

equency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

Towards ComprehensiveSensor EmulationOur models can be readily extended to morerealistic ones. For example, a range sensormay return values according to distance andstatistical distribution. A light sensor mayemulate “digital sunset”: an environmentalquantity that follows a statistical distribu-tion and gradually changes over time.There are several directions to further ex-pand the realism of emulated sensors. Notethat the data required to instantiate theEmuli sensor model easily fit into flash pro-gram memory of a mote. A more sophis-ticated model may not fit there. Hence,the data for such model needs to be readand possibly buffered from EEPROM. Notealso that Emuli does not simulate the timedelay incurred by sensor sampling andADC operation. This can be incorporatedin future versions of Emuli. Certainly thegreatest asset for Emuli would be a libraryof emulated sensors that wireless sensornetwork designers can experiment with.

Varying Sampling Rate

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

.25 samples/sec .5 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

1 sample/sec 2 samples/sec

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

0

20

40

60

80

0 20 40 60 80

mete

rs

meters

4 samples/sec 8 samples/sec

Analysis of Tracking Measurements

0

0.5

1

1.5

2

84210.50.25

dis

tan

ce

err

or

(me

ters

)

samples per second

-0.5

0

0.5

1

1.5

2

2.5

84210.50.25

tim

e d

iffe

ren

ce

ra

ng

e (

se

co

nd

s)

samples per second

distance difference between time difference betweenreported by Emuli and simulated measurements used for trilateration

Range Sensor Emulation and Target TrackingSimulated TrackEmuli simulates a range sensor reading of target following a pre-defined track. A range sensor deter-mines the distance from the mote to the target within its range. For this experiment the sensor rangewas set to 32 meters. The target moved in a zigzag pattern with speed of 3 meters per second across aplane surface.

Simulated track presented by Emuli to the tracking application

0

20

40

60

80

0 20 40 60 80

me

ters

meters

0 7 9 11 16 23 30 32 34 410 7 9 11 16 23 30 32 34 41

sensorstarget movement

time (sec)

Track RepresentationTo report the position of the target, each mote stored the information about the segment of the targettrack that was within the range of its sensor. To optimize the calculations and storage, the segment isalways represented by two points: the closest to the mote and the furthest sensed (i.e. the intersection ofthe track and the sensor range). A track may have to represented by multiple segments.To synchronizethe target readings between motes, Emuli runs the FTSP time synchronization protocol.

Target distance computation with Emuli Trilateration with Emuli

C

A

B

Track CalculationTo demonstrate the operation of range sensing simulation with Emuli, we implemented a simple tri-lateration application. The trilateration requires target distance measurements from three motes Wecomputed intersection points of the circles whose radius are these measurements. We selected twoarbitrary pairs of intersection points and draw lines through them. The target location was at the inter-section of these two lines. Offline, for each distance measurements, we selected two other closest intime measurements and computed the target location.

SummaryWe describe Emuli — a method of effectively substituting sensor data by synthetic data on physicalwireless nodes (motes). The sensor application is oblivious to this substitution. Emuli generates dataon demand from the application. The replies are based on the sensor model which is driven by thedata preloaded to the mote before the experiment. Since the preloaded data is an approximation ofthe sensor behavior rather than raw sensor readings, it is rather compact. This allows Emuli to drivesophisticated experiments. The emulated stimuli can be synchronized and coordinated across multiplemotes which allows to experiment with distributed events. Emuli abstracts the sensing component of acomplete application and allows the experimenter to focus only on processing and transport function ofa wireless sensor networks. We demonstrate statistical and deterministic sensor models. We showcasethe use of Emuli in a light measurement and a target tracking experiment.

Light Sensor EmulationWe demonstrated how a statistical model can be effectively used to emulate environmental sensing. Weimplemented a simple light-sensor data collection application. To instantiate our model we collectedlight sensor data from 14 motes mounted on benches in a lab and equipped with MTS300 sensor board.For each node we collected 60 light measurements over an hour (one sample per minute) with the over-head fluorescent lights on. The values and their distribution differed significantly between the motes.

Mote PersonalityOn basis of experimental data readings we created personality for each mote. The probability thatEmuli reports a certain value x was made proportional to the number of times x was reported in theactual experiment. The comulative distribution function was stored in tabular form in the flash memoryto be loaded at boot-time.

For each individual mote we replaced the light-sensor component in our application with an Emulicomponent configured with a unique personality and run the experiments with this model for 1000samples.

Replacing Light Sensor Component with Emuli

Actual and Emuli sensor data. The results indicatethat Emuli data closely matches the experimentaldata in both average, standard deviation anddistribution.

mote readingsid actual Emuli1 900.68 ± 0.92 900.69 ± 0.212 882.76 ± 1.04 882.76 ± 0.243 859.53 ± 1.47 859.55 ± 0.344 916.88 ± 0.61 916.87 ± 0.145 868.56 ± 1.02 868.57 ± 0.246 952.73 ± 0.56 952.73 ± 0.137 957.78 ± 0.5 957.78 ± 0.128 943.59 ± 0.52 943.61 ± 0.129 940.42 ± 0.61 940.44 ± 0.1410 952.97 ± 0.54 952.96 ± 0.1311 915.81 ± 0.63 915.77 ± 0.1512 951.42 ± 0.47 951.36 ± 0.1113 927.75 ± 0.8 927.73 ± 0.1914 957.78 ± 0.46 957.78 ± 0.11

Actual and Emuli light sensor data with 95%confidence intervals

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.11

0.12

0.13

0.14

0.15

891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911

frequ

ency

value

Histogram of light readings for Mote 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

909908906905904903902901900899898897896895894893

frequency

value

Cumulative distribution function for Mote 1

Example Actual and Emuli Histogramsactual Emuli

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 1

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 3

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

840 860 880 900 920 940 960

frequency

sensor value

mote 10

Thomas Clouser, Richie Thomas and Mikhail NesterenkoKent State University, Kent, OH, USA

Technical report TR-KSU-CS-2007-04, Kent State University, 2007

EMULIEmulated Stimuli for

Wireless Sensor Network Experimentation

4. Implantation : Algorithmes Auto-stabilisants

SUR une plate-forme de capteurs de type TelosB, nous avons implante plusieurs algorithmes auto-stablisants :

• synchronisation d’horloge (SSS 2006) ;

• coloration de nœuds (ICPADS 2006) ;

• allocation de creneaux de temps (AlgoSensors 2004).

Des videos de demonstration sont disponibles sur le site web de FRACAS.

References

[1] Conflict Managers for Self-stabilization without Fairness Assumption. Maria Gradinariu, and Sebastien Tixeuil. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS2007), June 2007.

[2] Transient Fault Detectors. Joffroy Beauquier and Sylvie Delaet and Shlomi Dolev and Sebastien Tixeuil. Distributed Computing, 20(1), pp. 39-51, 2007.

[3] Knowledge Connectivity vs. Synchrony Requirements for Fault-Tolerant Agreement in Unknown Networks. Fabıola Greve, and Sebastien Tixeuil. In Proceedings of IEEE International Conference onDependable Systems and networks (DSN 2007), June 2007.

[4] A Model for Large Scale Self-stabilization. Thomas Herault, Pierre Lemarinier, Olivier Peres, Laurence Pilard, and Joffroy Beauquier. In 21st IEEE International Parallel & Distributed Processing Symposium(IPDPS), Long Beach, California, 2007.

[5] Fault-tolerant distributed algorithms for scalable systems. Sebastien Tixeuil, In Wireless Ad Hoc and Sensor Networks. ISTE, October 2007. (ISBN: 978 1 905209 86).

[6] Brief Announcement: Self-Stabilizing Counting in Mobile Sensor Networks. Joffroy Beauquier, Julien Clement, Stephane Messika, Laurent Rosaz, and Brigitte Rozoy. PODC 2007, August 2007.

[7] Asynchronous Implementation of Failure Detectors with partial connectivity and unknown participants. Pierre Sens, Luciana Arantes, and Mathieu Bouillaguet. Research Report 6088, INRIA, January 2007.

[8] Self-* Minimum Connected Covers of Query Regions in Sensor Networks. Ajoy Datta, Maria Gradinariu Potop-Butucaru, Rajesh Patel , and Ai Yamazaki. In Proceedings of the International Symposium onStabilization, Safety and Security of Distributed Systems (SSS 2007) , November 2007.

[9] Complexity for Self-stabilizing Sensor Networks. Julien Clement, Stephane Messika, and Brigitte Rozoy. Technical report 1472, Laboratoire de Recherche en Informatique, May 2007.

[10] Failure, Disconnection and Partition Detection in Mobile Environment. Denis Conan, Pierre Sens , Luciana Arantes, and Mathieu Bouillaguet. Research Report 6184, INRIA, May 2007.

Journees ARC INRIA, Octobre 2007, Rennes