Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

NesC Prepared for the Multimedia Networks Group University of Virginia.
Sensor Network Platforms and Tools
Overview: Chapter 7  Sensor node platforms must contend with many issues  Energy consumption  Sensing environment  Networking  Real-time constraints.
Wireless Sensor Networks: An overview and experiences. Matthew Grove PEDAL Seminar Series, January 9th 2008.
A Dynamic Operating System for Sensor Nodes (SOS) Source:The 3 rd International Conference on Mobile Systems, Applications, and Service (MobiSys 2005)
TOSSIM A simulator for TinyOS Presented at SenSys 2003 Presented by : Bhavana Presented by : Bhavana 16 th March, 2005.
TinyOS Introduction Advanced Computer Networks. TinyOS Outline  Introduction to the Architecture of TinyOS and nesC  Component Model –Components, interfaces,
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
How to Code on TinyOS Xufei Mao Advisor: Dr. Xiang-yang Li CS Dept. IIT.
Incremental Network Programming for Wireless Sensors NEST Retreat June 3 rd, 2004 Jaein Jeong UC Berkeley, EECS Introduction Background – Mechanisms of.
Sample Project Ideas KD Kang. Project Idea 1: Real-time task scheduling in TinyOS EDF in TinyOS 2.x –Description is available at
Node-level Representation and System Support for Network Programming Jaein Jeong.
Reconfigurable Sensor Networks Chris Elliott Honours in Digital Systems Charles Greif and Nandita Bhattacharjee.
7/13/2007AIIT Summer Course - D#1 Wireless Embedded Systems and Networking Lab Day 5: Part 1: TinyOS Programming on Open Source Distribution Jaein Jeong.
Generic Sensor Platform for Networked Sensors Haywood Ho.
Generic Sensor Platform for Networked Sensors Haywood Ho.
1 TinyOS Mohammad Rahimi CSCI599-Spring Motivation  The new class of distributed tiny devices  The new generation of software.
TinyOS Software Engineering Sensor Networks for the Masses.
Maté: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Michele Romano.
NesC: 1.1 Bumps and Future Directions David Gay, Intel Research, Berkeley (and the nesC and TinyOS teams)
Project Proposal Implementing library support for the Virgil programming language Ryan Hall Advisor: Jens Palsberg January 23, 2007.
TinyOS 2.1 Jun Yi Partially based on the tutorial at IPSN 2009 By Stephen Dawson-Haggerty, Omprakash Gnawali, David Gay, Philip Levis, Răzvan Musăloiu-E.,
1 Software Development Infrastructure for Sensor Networks  Operating systems ( TinyOS )  Resource (device) management  Basic primitives  Protocols.
MICA: A Wireless Platform for Deeply Embedded Networks
Intelligent Shipping Container Project IMPACT & INTEL.
Qing Cao, Tarek Abdelzaher(UIUC), John Stankovic, Kamin Whitehouse (UVA), Liqian Luo (MSR)
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
Shahin Farshchi, Member, IEEE, Aleksey Pesterev, Paul Nuyujukian, Eric Guenterberg, Istvan Mody, and Jack W. Judy, Senior Member, IEEE, ” Structure of.
WISEBED - Wireless Sensor Network Testbeds Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks* Tobias Baumgartner 1, Ioannis Chatzigiannakis.
By: R Jayampathi Sampath
April 15, 2005TinyOS: A Component Based OSPage 1 of 27 TinyOS A Component-Based Operating System for Networked Embedded Systems Tom Bush Graduate College.
TinyOS By Morgan Leider CS 411 with Mike Rowe with Mike Rowe.
Distributed Intelligent Sensing and Control (DISC) for Automotive Factory Automation. Dr. Robert Brennan Dr. Ningxu Cai Mohammad Gholami.
Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu
Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu
Wireless Sensor Networks MOTE-KITS TinyOS Crossbow UC Berkeley.
Vishal Jain, TinyOS Design Viewpoint “TinyOS” Design Viewpoint.
Overview of Sensor Networks David Culler Deborah Estrin Mani Srivastava.
Dhanshree Nimje Smita Khartad
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
Simulation of Distributed Application and Protocols using TOSSIM Valliappan Annamalai.
Part 2 TinyOS and nesC Programming Selected slides from:
Wireless Sensor Mote (TelosB) Ultra low-power wireless module –for sensor networks, monitoring app, rapid prototyping Key Features –2.4GHz radio,
Main Issues Three major issues that we are concerned with in sensor networks are – Clustering Routing and Security To be considered against the backdrop.
1 RealProct: Reliable Protocol Conformance Testing with Real Nodes for Wireless Sensor Networks Junjie Xiong, Edith C.-Ngai, Yangfan Zhou, Michael R. Lyu.
WSN Software Platforms - concepts Vinod Kulathumani Lecture uses some slides from tutorials prepared by authors of these platforms.
Slide 1/14 Midsens ’09 – December 1, 2009 Lightweight Tracing For Wireless Sensor Networks Debugging Vinaitheerthan Sundaram*, Patrick Eugster, Xiangyu.
LoCal Embedded IPv6 Bootcamp Stephen Dawson-Haggerty September 9, 2010.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Centroute, Tenet and EmStar: Development and Integration Karen Chandler Centre for Embedded Network Systems University of California, Los Angeles.
Link Layer Support for Unified Radio Power Management in Wireless Sensor Networks IPSN 2007 Kevin Klues, Guoliang Xing and Chenyang Lu Database Lab.
TinyOS Sandeep Gupta. Operating System (OS) What is an OS? Main functions  Process management  Memory management  Resource management Traditional OSs.
1 Software Reliability in Wireless Sensor Networks (WSN) -Xiong Junjie
System Architecture Directions for Networked Sensors.
TinyOS By Valliappan Annamalai. Hardware Mica motes (Mica2 and Mica2Dot) Hardware –Radio –Microcontroller –Flash memory –ADC –Sensor Board (MTA310)
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
TinyOS and nesC. Outline ● Wireless sensor networks and TinyOS ● Networked embedded system C (nesC) – Components – Interfaces – Concurrency model – Tool.
Wireless Sensors Networks - Network Address Allocation Presented by: Assaf Goren Supervisor: Dr. Yehuda Ben-Shimol.
INTRODUCTION TO WIRELESS SENSOR NETWORKS
Simulation of Distributed Application and Protocols using TOSSIM
Wireless Sensor Networks
Diagnosing Wireless Sensor Networks through Wireless Mobile Nodes
Wireless Sensor Networks
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Chapter 2: System Structures
RealProct: Reliable Protocol Conformance Testing with Real Nodes for Wireless Sensor Networks Junjie Xiong
Vinay Kumar Singh Dongseo University
Presentation transcript:

Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks

Debugging in WSN 2 Outline Current debugging research TinyOS and nesC overview Motivation Methods & Challenges

Debugging in WSN 3 Outline Current debugging research TinyOS and nesC overview Motivation Methods & Challenges

Debugging in WSN 4 Passive Diagnosis for Wireless Sensor Networks (Sensys2008) Propose PAD, a passive diagnosis approach for inferring the root causes of abnormal phenomena. PAD includes diagnosis information in the regular application data packet by employing a marking algorithm. Therefore, it does not incur additional traffic overhead for collecting desired information. Disadvantages: this networking diagnosis method can only piggyback selected and limited networking logs back to the base station, and it takes further effort to detect and find bugs from the logs.

Debugging in WSN 5 Passive Distributed Assertions (PDA) for Sensor Networks (IPSN2009) PDA allows a programmer to formulate assertions over distributed node states using a simple declarative language, causing the sensor network to emit information that can be passively collected and evaluated to verify that assertions hold.

Debugging in WSN 6 Passive Distributed Assertions (PDA) for Sensor Networks (IPSN2009) Disadvantages: no principle for where to insert assertions, no automation for inserting assertions

Debugging in WSN 7 Outline Current debugging research TinyOS and nesC overview Motivation Methods Challenges

Debugging in WSN 8 TinyOS and nesC TinyOS is an operating system designed to target limited-resource sensor network nodes TinyOS 0.4, 0.6 ( ) TinyOS 1.0 (2002): first nesC version TinyOS 1.1 (2003): reliability improvements, many new services TinyOS 2.0 (2006): complete rewrite, improved design, portability, reliability and documentation TinyOS and its application are implemented in nesC, a C dialect: nesC 1.0 (2002): Component-based programming nesC 1.1 (2003): Concurrency support nesC 1.2 (2005): Generic components, “external” types

Debugging in WSN 9 TinyOS in a nutshell System runs a single application OS services can be tailored to the application’s needs These OS services include timers, radio, serial port, A/D conversion, sensing, storage, multihop collection and dissemination, … Application and services are built as a set of interacting components using a strictly non-blocking execution model –event-driven execution, most service requests are split-phase Implementation based on a set of OS abstractions tasks, atomic with respect to each other; interrupt handlers resource sharing and virtualisation, power management hardware abstraction architecture

Debugging in WSN 10 nesC in a seashell C dialect Component based all interaction via interfaces connections (“wiring”) specified at compile-time generic components, interfaces for code reuse, simpler programming Reduced expressivity no dynamic allocation no function pointers Supports TinyOS’s concurrency model must declare code that can run in interrupts atomic statements to deal with data accessed by interrupts data race detection to detect (some) concurrency bugs

Debugging in WSN 11 Outline Current debugging research TinyOS and nesC overview Motivation Methods & Challenges

Debugging in WSN 12 Motivation Components and Interfaces Programs built by writing and wiring components –Modules: we write some components in C –Configurations: we wire the above components Components interact via interfaces only –Each component contains only two kinds of functions: command & event –event-driven execution The execution mode is event-driven Therefore, I can use finite state machine to check the workflow of a single node. However, it is difficult to implement the FSM mechanism in programs written in other languages.

Debugging in WSN 13 Outline Current debugging research TinyOS and nesC overview Motivation Methods & Challenges

Debugging in WSN 14 Methods & Challenges To debug the workflow of a single node program For each component –Draw state transition diagram. –Write state transition and check function for the component. –Insert the state check function at the beginning of each event function. –Insert the state transition function at the end of each event function. –How to automate the process? For a program that contains multiple components –Combine the state transition diagram of the components (how?).

Debugging in WSN 15 Methods & Challenges Example: for a static multi-hop routing component with firing period 30ms Base station Watch data of node 2 Finite state diagram of the program downloaded into a sensor node

Debugging in WSN 16 Methods & Challenges To debug the workflow of a single node program The developer should be the one writing such checking code based on the specification, the advantages are: –The effort is not high, and the component can be reused. –Can detect bugs in time without sending too much information. –Help locate bugs by watching the workflow. Sometimes, not passing certain path in the state transition diagram is a bug. –How to detect such bug? By statistics?

Debugging in WSN 17 Some Typical Devices mica2 (2002) 8MHz ATmega128 4kB RAM, 128kB flash 512kB external flash 20kb/s custom radio many different sensor boards 2 AA batteries: –radio+cpu: 75mW –sleep mode: 140μW telosb (2004) 1MHz TI MSP430 10kB RAM, 48kB flash 512kB external flash 250kb/s radio built-in sensors 2 AA batteries: –radio+cpu mode: 63mW –sleep mode: 30 μW lifetime: a few days to several years

Debugging in WSN 18 Diagnosing Node-Level Faults in Remote Wireless Sensor Systems (Mobisys2007) Aim to find faults: stack overflow, deadlock and livelock Methods: insert checkpoints and assertions Disadvantages: no principle for where to insert checkpoints and assertions, no automation for insertion, implemented on Mantis OS (not TinyOS)