System-level Modeling for Wireless Sensor Networks Jan Madsen
Informatics and Mathematical Modelling
Technical University of Denmark
Richard Petersens Plads, Building 321
DK2800 Lyngby, Denmark
System-level Modeling for Wireless Sensor Networks Jan Madsen
Informatics and Mathematical Modelling
Technical University of Denmark
Richard Petersens Plads, Building 321
DK2800 Lyngby, Denmark
Sensor networks?
www.hogthrob.dk The real HOGTHROB The Hogthrob project
Developing a sensor network infrastructure for sow monitoring
Functionalities
Tracking
Detecting heat period
…
Low Cost (~1 €)
Low Energy (2 years lifetime)
Consortium:
DTU, DIKU, KVL
National Committee for Pig Production
IO Technologies
Sensor networks
sending receiving idle C S P C S P C S P C S P C S P C S P
Sensor networks
receiving sending idle C S P C S P C S P C S P C S P C S P
Sensor node
rtos battery cpu radio sensor sensing processing communicating C S P
Sensor node
Ultra low energy
Low flexibility
Ultra low cost (1$)
Small size (1..10 Mtr)
Low clock frequency
DSP and RF dominated
Limited memory
Hardware/software codesign rtos battery cpu radio sensor
Sensor node design
rtos cpu radio sensor battery sensing processing communicating rtos cpu asic sensor sensor radio
Sensor network model
Sensor node: Uni-processor ...
rtos a Framework to experiment with different RTOS strategies Focus on analysis of timing, energy and resource sharing Abstract software model, i.e. no behavior/functionality Easy to create tasks and implement RTOS models Based on SystemC
System model
rtos a
System model
rtos
System model
rtos
System model
rtos Task messages:
ready
finished
RTOS commands:
run
preemept
Resume
System model - SystemC
pa = new task("task_a",1,50,3,12,0,ready);
registerTask(pa);
pb = new task("task_b",2,40,2,10,0,ready);
registerTask(pb);
pc = new task("task_c",3,30,1,10,0,ready);
registerTask(pc);
rtos identifier period priority offset WCET
Link model
rtos clock Aim: Adding tasks without having to create seperate communication links
Uses the SystemC master-slave library
If two tasks send a message at the same time – they are executed in sequence, but in undefined order
Global ”clock” is used to keep track of time
Task model
r1 r1 = time at which task becomes released (or active) e1 e1 = worst case execution time (WCET) d1 = deadline, task should complete before this! d1 s1 s1 = time at which task starts its execution T1 T1 = period, minimum time between task releases 1 o1 = offset (or phase) for first released o1
Note: for a given problem net all constraints may be relevant
For preemptable processes si = ai, but the process may start by being preempted
Task model
Sensor node model
Energy modeling
Communication example
t 1 s t 2 t 4 r t 3 Send node Receive node synch. allocator scheduler synch. allocator scheduler Wireless Network t 5
Comments