Title: EmStar: An Environment for Developing Wireless Embedded Systems Software
1EmStar An Environment for Developing Wireless
Embedded Systems Software
Joint work by Busek, Cerpa, Elson, Estrin, Girod,
Stathopoulos, and many others contributions Pres
ented by Jeremy Elson jelson_at_cens.ucla.edu
2Fundamental Design Problems
- We are trying to build systems that meet global
performance criteria - Design evaluation must use a global view
BUT...
- The systems are inherently distributed and have a
strictly local view. - Systems entire purpose is to reduce and
summarize data, where it cant all be collected
practicably. - The loss of this comprehensive information is
crucial In a deployed system, we dont know if
using the discarded information would have
changed the outcome.
3Fundamental Design Problems
- Reuse of proven algorithms (and code) is very
important, even for normal software - Given the difficulty of instrumenting our fielded
systems, reuse becomes crucial
BUT...
- Domain knowledge seems to seep in at virtually
every layer, making reuse difficult
How do we create reusable components? How do we
verify components that we change?
4The EmStar Approach
- Allow software to be finely decomposed,
modularized - Provide rich forms of inter-module communication
- Toolchest of mechanism, not policy modules
- Isolate as much domain knowledge as possible
- Provide a run-time environment for deep debugging
- High visibility into the system is key
- Debug in a transparent context before the
necessarily opaque deployment
5Modules that Isolate Domain Knowledge
Collaborative Sensor Processing Application
Domain Knowledge
3d Multi- Lateration
State Sync
Reusable Software
(Flexible Interconnects not a strict stack)
Topology Discovery
Acoustic Ranging
Neighbor Discovery
Reliable Unicast
Leader Election
Time Sync
Radio
Sensors
Audio
Hardware
6A Slow Descent into Reality
- EmStar allows the same Linux code to be used
- In a pure (low-fidelity) simulation
- Mostly simulated, but using a real wireless
channel - In a real testbed, small-scale but
high-visibility - Deployed, in-situ, at scale -- but low
visibility - Advantage over traditional simulators the
debugged code itself, not just the high-level
concepts, flow from simulation into the real
world - To maintain high visibility, we trade scale for
reality
7EmStar Run-Time Environments
The spectrum allows high-visibility
debugging before jumping into low-visibility
deployment
8The Ceiling Array A Real Wireless Channel
Motes used to transmit and receive packets -- A
real-world augmentation to a virtual simulation
9Portable Array In-Situ, so Smaller Scale
Cables (green, invisible) attach to in-situ motes
10Real Deployment Stargates running Linux
Stargate (Intel, Crossbow) X-Scale based,
400MHz 32MB RAM, Flash runs Linux
Possible Network Interfaces
Mote Low-power, link to stand-alone motes
802.11 Higher power, faster back-channel
11EmView Visualization in All Modes
Base Station
Dynamic Construction Routes around faults Time,
control flow out Data, status return
12Deployments
- Seismic testbed
- Time distribution, control and monitoring
- James Reserve/ESS
- Diffusion, Tiered Architectures
- Sensorware Integration
- EmSim ran with existing (pre-EmStar) software
- Other CENS Projects
- Reusable toolbox will speed development