a process oriented development flow for wireless system networks by bernard pottier
Post on 16-Apr-2017
1.213 Views
Preview:
TRANSCRIPT
A Process Oriented Development Flow
for Wireless Sensor Networks
Bernard Pottier*, Guillaume Kremer & Jimmy OsmontUniversit de Brest* LabSTICC, UMR CNRS 3192
WSN and applications
Wireless Sensor Networks (WSN) are an expanding application fieldGreen technology : environment, process control, power saving
Human friendly : assists decisions in number of situations
Driven by progresses in communications, integration technologies
Application examplesParking in San Francisco: 6000 sensors connected to GPS/GSM service reduce car traffic and pollution,
Forest fire detection from mesh connected sensors powered from imbalance in pH between tree and soil (MIT),
Services for disabled persons/ bus transportation.
Farming : cattle, green house, fields monitoring.
Our objectives
To support WSN design as a top-down flow:
Sensor physical distribution and connectivity
Communication layer management
Application level algorithm design
Code generation for sensors
2 stages flowAbstract design ,simulation
Code synthesis
Developped in Smalltalk-80
WSN components
SensorsExecution is a loop including Communications
Local interaction with control and acquisition devices
Low power, when possible local power source, low cost
Practical examplePsoC (Mixed analogue/logic reconfigurable system on chip)
Spread spectrum wireless transceiver (10s to 100s meters)
Temperature, pressure, presence, light, buzzer, ..
Power
WSN organizations
Static Star network, hub to internet (green house)
Mesh connected with routing and gateways (SF parking, forest)
DynamicMobile fleet (roaming cattle)
Mobile in static or fleet (shepherd collecting information on sheep, bus exchanging information together / with bus stop
LAN
hubsensorsensorsensorsensor
sensorsensorsensorsensorsensor
LAN
An evident challenge
is distributed algorithms
Static deployment problemsNetwork connectivity, fault tolerance, adaptive routing, control flow, memory/buffer use,
Control, data collection, dynamic code distribution
Communication scheduling ( idle to bandwidth saturation)
Dynamic behaviour problemsRouting algorithms, managing identities,
Data storing and collection
A Framework for WSN Modelling and Synthesis
Uses a two stage flow:
Behaviour level (design):
Modelling network topologies as communicating processes.
Local interactions (sensing, controlling)
Local contribution to distributed behaviour
Tuning and optimizing design and algorithms from simulations
Synthesis level (implementation)
Dimensioning node characteristics from stage 1 parameters
Target isolation
Native code production, or virtual machine for stage 1 intermediate code.
WSN abstract model
NetworkGraphCollection of nodes
NetworkNodeNodeName (process name)
Input Link collection
Output Link collection
Program/Procedure Name
LinkSource node
Destination node
Algorithms, builders, generators
Syntax based builder
Smalltalk 'methods' described using VW ParserCompiler
methodNamemessages alphabet .
NodeName1 { destNodes1 } ProgramNodeNodeName2 { destNodes2 } ProgramNode
Network is developped from a browser
Random topologies builder
Generate a sensor distribution on a surfaceSurface known as a rectangle
Sensor wireless neighborhood known as a reachable distance
Arbitrary number of sensors
Compute the connectivity between nodes
Build a corresponding network, drawing, text.
Physical deployment builder
FlowRead a map, a photo
Define scales for this background
Define sensor transmit distance
Place sensors and build a network.
Computes network on the fly.
Sandbox for the deployment of a sensor network along bus lines and bus stop
Generators
Graphviz (.dot file)
Occam program: Concurrent organization : process skeleton, channel declaration,
Process skeleton for a synchronous cycle
Occam Generator
Hundred of processes, thousands of channelsFixed behaviour for the synchronous model:
Setup an initial state, prepare initial message output
Loop forever
Send messages on output links
Receive messages on input links
Change the node state according to current state and input messages
Prepare next message output
(c and d) place holders for programmer.
Synchronous model : Why?
Sensor networks are synchronous:Sharing a reference clock
Sensors schedule listening and emitting interleaved with silences
Time division, frequency or channel division
Large number of known algorithms:Retrieving network characteristics diameter spanning trees
Distributed reduction operations, broadcasts
Routing with table exchanges, dynamic routing for mobiles
Can be implemented on top of Occam:Concurrent send and receive operations avoid deadlocks
Simulation of very large networks in native code for multi-cores
Generator Status
Very large process networks generate, compile and execute on multiprocessor
Significant set of algorithms implemented: routing, naming, flow control.
Generator evolutions: VM
Use of Occam intermediate bytecodes (TIS) to program sensors
Virtual machine to execute TIS subset for synchronous model
Channels operations are replaced by scheduled wireless exchanges (TDMA)
Several bytecodes for parallel constructs, loops, operations implemented
Network builderSensor behaviourOccam program
Kroc compiler
Simulation
TIS backend
Sensor VM
Native codeStage 2
Stage 1
Flow alternatives
Use of Smalltalk to describe synchronous behaviour
Methods export blocks for setup and transition
Blocks operate on method temporary variables
A process system is generated with communications operated using SharedQueues
Translations similar to TIS
Network builderSensor behaviourST80 process system
Simulation
Stage 1
(ST80 subset)
backend
Native codeStage 2
Sensor VM
Project Status
Emerging projectAppears as a contribution to PuceCom regional project in Brittany
Cooperation developing with NUST in Pakistan
Contributions of UBO students
Hardware targets : Cypress PsoC and RF circuits, ARM7, GPS,
Contacts with industry : urban transportation, GIS,
VisualWorks NC, KroC (Occam), store 'students' @ as.univ-brest.fr
Wish to contribute to sustainable development
( Oyster-catchers at round-island, bay of Brest )
IWST ESUG'09 Brest
Slide
top related