eBlocks - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

eBlocks

Description:

Configure Logic Block to turn led on when it's night and when door is open ... Enables us to save various user-defined systems for later analysis. 13 of 15 ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 16
Provided by: sus7150
Category:

less

Transcript and Presenter's Notes

Title: eBlocks


1
eBlocks An Enabling Technology for Basic Sensor
Based Systems
Susan Cotterell, Ryan Mannion, Frank Vahid,
Harry Hsieh Department of Computer Science and
Engineering University of California,
Riverside susanc, rmannion, vahid,
harry_at_cs.ucr.edu http//www.cs.ucr.edu/eblocks
Also with the Center for Embedded Computer
Systems at UC Irvine This work is being
supported by the National Science Foundation
(CCR-0311026)
2
Introduction
  • Sensor networks are emerging as an important
    general computing domain
  • Small inexpensive battery-powered sense and
    compute nodes
  • Tens to thousands of nodes
  • Wired or wireless communication
  • Stringent requirements (power, cost, size)

Environmental Monitoring http//www.greatduckislan
d.net/ http//today.cs.berkeley.edu/retreat-6-03/
Military Applications http//robotics.eecs.berkele
y.edu/pister/29Palms0103/
Home Automation http//www.smarthome.com
Structure/Building Monitoring http//www.mrr.dot.s
tate.mn.us/research/MnROAD_Project/MnROADProject.a
sp
Medical Monitoring http//www.eecs.harvard.edu/md
w/proj/codeblue/
3
Introduction
  • Potential sensor network application developers
    may not be computer programmers
  • Instead, engineers, scientists, office workers,
    homeowners, etc.
  • Existing programmable nodes
  • Flexible, but require programming
  • Existing off-the-shelf end applications
  • Specialized, so hard to customize
  • Expensive due to small volumes
  • Our solution eBlocks
  • Enables non-programming users to create simple
    but useful customized sensor network applications

http//www.xbow.com/
Flexible, hard to program
Photo Jason Hill http//www.dustnetworks.com/
Easy to use, inflexible
http//www.smarthome.com
4
eBlocks Overview
  • eBlocks (UC Riverside)
  • Began as low-cost reusable basic building blocks
  • Enables non-programmers to create basic but
    useful sensor-based applications
  • Function of each block is pre-defined
  • Block types
  • Sensors motion, light, contact, etc.
  • Output led, electric relay, beeper, etc.
  • Compute logic, prolong, toggle, etc.
  • Basic configuration required (dials, switches)
  • Communicate wireless point-to-point link
  • Users merely connect blocks to create working
    customized application
  • Evolving into a spatial programming methodology
    for sensor networks with programmable nodes
  • CODES/ISSS03, SECON04, CHI05, DATE05

5
Creating an application with eBlocks
  • Create an application to detect if the garage
    door is left open at night
  • Choose which blocks to use
  • Plug blocks together using standard plugs
  • Configure blocks if needed (e.g. logic block)

Need something to indicate garage open at night
use led
We want to detect night use light sensor
Need a function of light sensor output and
contact switch output use Logic Block
We want to know if garage door open use contact
switch
Configure Logic Block to turn led on when its
night and when door is open
Block Connectors
6
Building eBlocks Systems
  • The same basic blocks can be used in a variety of
    applications

7
Inside eBlocks Technology
  • Tiny computer in every block
  • Even the simplest button
  • Enables low-power, and easy connection
  • Block asleep gt99 of time
  • But user doesnt notice
  • Communicates tiny computer packets, lt 0.1 of
    time
  • Connecting eBlocks actually creates a computer
    network
  • Use PIC microprocessor costing lt1, consumes
    little power
  • Same processor as in blinking tennis shoes
  • Currently in the process of patenting eBlocks
  • Method of adding computing intelligence to
    previously passive components, method of using
    such computers to reduce power.

8
Design Entry/Simulation
  • User specifies and tests block design
  • Java-based simulator
  • Blocks added to workspace by dragging blocks from
    Available eBlocks tray
  • Connections created by drawing lines between
    blocks
  • User can create, experiment, test and configure
    design

9
Synthesis -- Partitioning
  • Mapping of pre-defined blocks to programmable
    blocks
  • Problem map pre-defined blocks to minimum
    number of programmable blocks
  • Intermediate blocks (non-sensor, non-output)
  • We assume 2-input/2-output programmable block
    available
  • Partitioning problem differs from existing
    problems
  • Classic bin-packing or knapsack algorithms
  • But we need to be conscious of two constraints
    number of inputs and number of outputs
  • Two-dimensional bin-packing problem (cutting
    stock problem)
  • But number of inputs and outputs of programmable
    block are mutually independent
  • FPGA synthesis, namely DAG covering
  • But we do not require all nodes to be covered
  • Our goal is to minimize block count, many focus
    on minimum-delay solutions or approximations
  • Many solutions permit replications contrary to
    our goal of minimizing block count

10
Synthesis -- Partitioning Strategies
  • Exhaustive
  • Search every combination of n blocks into n
    programmable blocks
  • Extremely long run times (hours)
  • Aggregation
  • Clusters nodes into subgraphs, continue adding
    blocks until unable to fit into programmable
    block
  • Unable to take advantage of convergence thus
    yields non-optimal results
  • Developed a new heuristic PareDown
  • Based on a decomposition method
  • Takes advantage of convergence
  • Unconstrained by depth at which heuristic looks
    ahead
  • Runtime complexity O(n2)

11
Synthesis -- Code Generation
  • For each partition a syntax tree is generated to
    represent equivalent functionality of the
    partition
  • Able to generate C code for each partition to
    download unto a programmable block
  • Simulators interpreter able to evaluate syntax
    tree and simulate corresponding behavior

12
Experiments
  • Conducted numerous experiments in 2003-2004
  • Physical Prototypes
  • Nobody reads/follows the instructions
  • Re-designed blocks to be self-explanatory
  • Added debugging lights to indicate block status
  • Simulator
  • Allows rapid iterations of eBlock design
  • Eliminates hardware ambiguities (i.e. power
    switch, crossed connections)
  • Enables a wider participations
  • Enables us to save various user-defined systems
    for later analysis

13
Physical Prototype and Simulator Usage Summary
Date of Participants Prototype Simulator Description
Non-computing users 02/09/04 13 Usability of physical block interfaces
Non-computing users 04/06/04 4 Usability of physical block interfaces
Non-computing users 05/10/04 41 Usability of various logic block interfaces
Non-computing users 05/20/04 40 Usability of various logic block interfaces
Non-computing users 05/21/04 67 Usability of various logic block interfaces
Non-computing users 06/29/04 10 Usability of various logic block interfaces
Non-computing users 06/30/04 16 Usability of various logic block interfaces
Non-computing users 08/03/04 18 Usability of various state based block interfaces
Non-computing users 08/06/04 8 Usability of physical, logic, and state block interfaces
Non-computing users 10/12/04 9 Usability of various logic and state block interfaces
Non-computing users 10/19/04 9 Usability of physical block interfaces
Beginner computing users 05/18/04 21 Usability of various logic block interfaces
Beginner computing users 06/01/04 84 Usability of various state based block interfaces
Beginner computing users 07/08/04 22 Usability of various logic block interfaces
Beginner computing users 08/04/04 14 Usability of various state based block interfaces
Intermediate computing users 06/03/04 50 Usability of various logic block interfaces
Advanced computing users 02/09/04 6 Usability of physical block interfaces
Advanced computing users 05/27/04 39 Usability of various state based block interfaces
Advanced computing users 10/27/04 21 Usability of physical block interfaces
Miscellaneous varied 5 Usability of physical, logic, and state block interfaces
Total Participants 497
  • Non-computing users - non-science,
    non-engineering users (psychology, business, etc.
    majors)
  • Beginner users - Students in their first
    introductory to programming course (lt10 weeks)
  • Intermediate users - Students with 2-3
    programming courses
  • Advanced users - Students with both programming
    and electronics experience
  • Miscellaneous - Middle school or high school
    kids, non-engineering adults

14
Usability of eBlocks
Categories of eBlock Systems Percentage Success Number of Students
Sensor-to-output 56 91
Sensors-with-logic 54 281
Sensors-with-state 66 168
Sensors-with-logic-and-state 12 39
Overall 55 579
Total number of students is higher than
previous table because individual students may
have participated in multiple tests
  • Student participants of various expertise levels
  • None of the students had previous experience with
    eBlocks
  • More than half of the students were able to build
    the first three systems in less than 10 minutes
  • Compared to the days to weeks required by
    advanced students to build similar systems
    without the benefit of eBlocks

15
Conclusions and Future Work
  • Summary
  • Presented physical prototypes and graphical tool
    that can be used by non-computing specialists to
    develop basic sensor/actuator applications
  • Summarized usage in a large variety of user
    experiments
  • Present/Future work includes
  • Extend eBlocks to integers (presently Boolean)
  • Deployment of real systems
  • Proactive health care (Intel)
  • Insect monitor and automated pesticide deployment
    (Isca Corporation)
Write a Comment
User Comments (0)
About PowerShow.com