260 likes | 449 Views
Wireless Sensor Networks – New Challenges in Software Engineering. Jan Blumenthal, Matthias Handy, Frank Golatowski, Marc Haase, Dirk Timmermann University of Rostock, Dept. of EE & IT Germany ETFA 2003 Lisbon, September 18, 2003. Outline. Introduction to sensor networks Requirements
E N D
Wireless Sensor Networks – New Challenges in Software Engineering Jan Blumenthal, Matthias Handy, Frank Golatowski, Marc Haase, Dirk Timmermann University of Rostock, Dept. of EE & IT Germany ETFA 2003 Lisbon, September 18, 2003
Outline • Introduction to sensor networks • Requirements • Software Engineering • Approach • Conclusion
Picoradio (UCB) Sensor,Actuator Battery WINS (UCLA) RF Processor Blue-Node (UoR) Smart Dust (UCB) Piece of Silicon Evolution of sensor nodes
Coming up sensor nodes Characteristics of Sensor Nodes • Limited capacity of • Battery (Lifetime: days – 10 years) • Processing capabilities • Transmission range (5…20 meters) • Data rates: Bit/s … KB/s • Transmission methods: • Radio (e.g. Chipcon) • Bluetooth • ZigBee • nanoNET • One specific application • Price: some cents
Requirements of Sensor Networks • Self-Organization • Network Setup • Ad hoc network formation • Autonomous connection establishment • Network Maintenance • Addressing of nodes • Routing facilities • Compensation of network failures • Cooperative Processing • Context awareness • Location positioning and location estimation • Preprocessing of collected raw data • Security Mechanisms • Energy Optimizations
Context Awareness Context Awareness: Adapt the behavior of the node to the current environment • Infrastructure context • Refers to the infrastructure around the node • Example: Perception of bandwidth and reliability • Domain context • Refers to the current environment of the node • Example: Knowledge of next data sink in the network Data sink node Simple node Transmission range
Network Maintenance • Attribute based addressing • Assignment of data to location of data mining • Location awareness necessary • ID based addressing unfavorable • Random node distribution • Routes become obsolete quickly due to mobility • Example: Temperature at location (x, y) ? • Cooperative network behavior • Data aggregation • Address resolution / location awareness • Adaptive routing strategy depends on mobility of nodes • Communication reduction / avoidance • Connectionless transmission • Prevent network traffic through data aggregation • Event based communication in contrast to request / reply • Polling avoidance
Wireless Sensor Network Heterogeneoussensor nodes different capabilities different platforms Key issue Enormous number of devices and amounts of software needed
Sensor,Actuator Battery RF Processor Challenges of WSN Software Development & Softwareengineering • Development of new algorithms and methodologies. • Algorithms have to be resource aware. • Development of common open software solutions • Improve development of software and application (pre-deployment phase) • Ease programmability. • Dynamic programmability (post-deployment phase) General Characteristics • Small Processing Power • Communication • Sensing • Low power
Enabling Technologies • …. many • Standards (Communication Standards BT, ZigBEE, nanoNet) • COTS • Miniaturization • SOC • Development of an appropriate middleware solution.
Applications Services Middleware Operating Systems & Protocols Hardware Abstraction Layer Hardware Architectural Model of Sensor Nodes
Software Engineering Network Maintenance • Hides the complexity of the distributed system • Standardized API to node application • Provides access to services on remote nodes Services Cooperative Algorithms Context Awareness Hardware Abstraction Middleware Common Middleware: Goal: Same middleware on different platforms
Middleware Properties Scalable Middleware • Customization of data types during compile time • Removing of unused components Generic Middleware • Platform independent middleware leads to increased number of complex interfaces • Adaption of interfaces instead of programs Generic Middleware Non Generic Middleware void setBaudrate(int handle, int baudrate){ hardware_addr=getIOAddress(handle); hardware_addr->BTR0=baudrate;} void setBaudrate(int baudrate){ // getIOAddress(handle); BTR0=baudrate;} Valid only, if one interface present Savings: parameter delivery, function call, stack operation, return value assignment, field operation
Middleware Properties II Adaptive Middleware • Mobility and changes in infrastructure require adaptions to the software • Cluster head selection requires additional routing software • Changing measurement methods leads to new programs • Exchange and run components dynamically • Start of new services Reflective Middleware • Ability to understand and influence itself • Application layers are not affected • Inspection: Analyze behavior via logging / debugging • Adaptation: Changing behavior of internal layers. • Example: Customizing routing strategy depending on mobility To overcome all the mentioned requirements we designed a software model ! !
Node Application No individual high level application, because: • Nodes provide services only to the network • Focus: Success of sensor network application instead of node application • Cooperative behavior of nodes Dynamic components
Sensor Network Application • Middleware and Operating System are compiled and optimized to each hardware • Sensor Network Application • Composition of all node services • Optional administration terminal to manage the entire network boot, logging system wide interfaces customized node‘s software different node hardware
Example • ARM Microcontroller • Temperature Sensor Sensor Node Model • 68HC11 µC • No Sensor • 68HC11 Microcontroller • Pressure Sensor
Conclusion • Challenges of software development in sensor networks • Ease and improve software development • Dynamic Programmability of Sensor Networks • Optimization of node‘s software based on • Interface design • Adaptive and reflective middleware • Design of service-oriented middleware in sensor networks • Future work • Realization of presented software concept • Development studio
Thank you Any questions ?
LAN Physical Physical Services • Discovering and using services • Cascading of services without previous knowledge of each other Definition: Little program accessed by standardized interfaces over the network. Service infrastructure for remote access: Surrogate Host Surface profile service Service Proxy Surface profile ? Sensor C Sensor B Bluetooth Sensor A Client Request Request Reply Reply Proprietary protocol TCP/IP
Software Architecture Desktop Model Sensor Node Resource optimized • Independent applications • Standardized middleware • Standardized operating system • Example: Jini Application Application Middleware Middleware Operating System Application Specific OS Modules Hardware Hardware • Independent applications • Standardized middleware • Standardized interfaces • Unused components removed • No independent applications • Customized middleware • Proprietary interfaces • Optimized driver software Not optimized (Partly) optimized modules
Characteristics of Sensor Networks Properties: • Wireless sensor nodes connect together autonomously • Distributed organization • Contain one or more data sinks • Huge number of nodes to compensate transmission range (density: 0.1 - 20 nodes/m2) • Nodes may move around Tasks: • Cooperative data acquisition: • Cooperative data collection and preprocessing • Running distributed applications regionally • Forwarding of results to higher application levels • Adaptive reactions on environment modifications • Network has to behave robustly and fault-tolerant to: • Failure on single nodes • Transmission errors and distortion through obstacles • Intrusion and jamming
New Challenges • Ease and improve software development • Dynamic Programmability of Sensor Networks