Title: The nesC Language: A Holistic Approach to Networked Embedded Systems
1The nesC LanguageA Holistic Approach to
Networked Embedded Systems
Collect
2Outline
- Why the need for such systems?
- What are Motes?
- What is the holistic approach
- Overview of NesC
- TinyOS
- NesC Design
- What the future beckons?
- Strengths of the paper
- Weaknesses of the paper
3Why the Need?
- Getting aggregated data
- Monitoring devices ( earthquakes, natural
calamities) - Vehicle detection( information highways)
- Rescue missions( Firefighters)
- Its all about the money
- Commoditization of radio hardware
4What are motes?
- Small Low powered computers
- Analogous to smart dust
- Reactive
- Data aggregation
- Spatial Localization
- Cheap ( range of 50)
5What is the holistic approach?
6What is the holistic approach?
- Applications deeply tied to hardware
- Resources known statically
- Reusable components used.
- Hardware/Software boundary varies
7Overview of NesC
- Language for networked embedded
- Systems( used by more than 100 groups)
- Integrates reactivity to the environment
- Concurrency
- Communication Event Driven Systems
- Balance between program analysis and expressive
power
8TinyOS
- Component based Architecture
- Tasks and event based concurrency
- Split Phase operations
- Request and Response indicated separately.
9nesC Design
- Extension of C
- Whole program analysis
- Static Language
- Supports and reflects TinyOS design
10nesC Design ( More)
- Component Specification
- Component Implementation
- Concurrency and Atomicity
- Concurrency in NesC
- Parameterized Interfaces
11Comparison of NesC with other languages
- Interfaces
- Modula-2 and Ada No Explicit binding of
interfaces - ArchJava2 has bidirectional interfaces
- Modules
- Analogous to Mesa Modules and configurations
- Encapsulation
- Architecture constructed by encapsulation (VHDL)
- Dynamism
- C, BOOPL Registration of event handler with
event producer. - Concurrency
- ESC Enforce ordering contraints
- LockLint Focus on locking rather than atomicity
12Applications
13TinyDB
- Entire sensor network as one single,
infinitely-long logical table sensors - Columns consist of all the attributes defined in
the network - Multiple concurrent queries
- Network Monitoring
- In network persistent storage
SELECT MAX(mag) FROM sensors WHERE mag gt
thresh SAMPLE PERIOD 64ms
App
Query, Trigger
Data
TinyDB
Courtesy http//telegraph.cs.berkeley.edu/tinydb/
tinydb_tutorial_icde.ppt
14Strengths of NesC
- Inspired by hardware, not tied to it
- Not a heavyweight language as has minimal
functionality - Helps reduce memory footprint
- Lack of dynamism helps.
- Static concurrency checking
15Disadvantages of NesC
- Not suitable for embedded, hard real time control
systems. - Not suitable for large scale embedded systems
e.g. VxWorks, WinCE etc. - Unsatisfaction with Parameterized interfaces
- Might not be suitable for dynamic motes or
embedded devices that move between networks.(
Events)
16Other Applications
- Timber as an OS for real time embedded systems
- Timed - embedded Reactive
- Real time, reactive, concurrent, object
- oriented language
- Timber objects include methods vs. tasks and
communication/event handlers. - Enable the scheduler to intervene execution at
occurrence of interrupt. - Dynamic storage allocation
- Direct real time support.
17What the future beckons?
- Better mechanisms to implement multi client
services - Explicit support for FSM- style decompositions
- Alternate implementations of atomic sections
182020
- What does this look like?
- Any guesses
"Certainly within the next 10 years we could
wear 20 of garments with electronic components
in them." , Joe Twist, BBC news online
Chips everywhere
Problems Million dollar question?? Privacy
19The Future is here
- E-watch
- Stress Tester
- Data aggregated and sent to central computer
Smart Cars
Computer Assisted Physical Rehabilitation
20Whats the fuss all about?
- Body Area Networks
- Low power devices
- Scavenging for power
- Use low power radio (UWB)
- Needs more research to be accurate( cant afford
to miss a heart attack)
21Support for Middleware
22Strengths of the Paper/NesC
- Author provides substantial evidence of
performance improvement using features of NesC - Provides comparison with other real time systems
and how NesC is better
23Weaknesses of the Paper
- Not really given any timeline as to what preceded
NesC and what was the need for such a
specialized language. - Could have given real world applications(
attractive to an end user)
24Relevance to embedded systems
HOLD YOUR BREATH!
http//video.google.com/videoplay?docid4993846989
748115450total39start0num10so0typesearch
plindex4
25References
- 1 http//citeseer.ist.psu.edu/cache/papers/cs2/5
04/httpzSzzSzwww.sics.sezSzrealwsn05zSzpaperszSzk
ero05timber.pdf/timber-as-an-rtos.pdf - 2 http//www.jneuroengrehab.com/content/2/1/6
- 3 http//telegraph.cs.berkeley.edu/tinydb/
- 4