1
Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems
Frank VahidProfessor
Dept. of Computer Science & Engineering, University of California, Riverside
(Also with the Center for Embedded Computer Systems, UC Irvine)
http://www.cs.ucr.edu/~vahid, http://www.cs.ucr.edu/eblocks
Graduate Students: Susan Cotterell (Lysecky), Ryan Mannion, David Sheldon, Kelly Stephenson (graduated MS)
This work is being supported by the National Science Foundation (CCR-0311026)
April 2005 Frank Vahid, UC Riverside 2 of 28
Introduction
1998: Simple Problem Garage door open at
night Simple system
If garage open at night, blink LED in bedroom
receive LED
light sensor
contact switch
AND
transmit
April 2005 Frank Vahid, UC Riverside 3 of 28
Investigated Solutions -- None Easy
Basic components Contact switch, light sensor, logic IC,
microcontrollers, wireless tx/rx, LED Issues: electronics, programming,
development and test equipment
Home-automation components (X10) Electric outlet oriented, home
automation focused, non-intuitive Off-the-shelf solution
Costly (~$75), hard to find, not customizable (two garage doors?)
Gave up, but noticed missing technology
Why can’t I just connect a contact switch, light sensor, logic, transmitter, receiver and LED?
April 2005 Frank Vahid, UC Riverside 4 of 28
Noticed Similar Problems for a Few Years
Applications Sleepwalker detector (from friend, then nursing home
employee) Conference room occupied status system (company) Temperature logging system (department, proof of building AC
problems) Endangered species video system (colleague in environmental
science) Carpooler arrived notifier (friend) Second home water leak detector (insurace underwriter)
Large domain, all buildable with right sensor-based blocks
April 2005 Frank Vahid, UC Riverside 5 of 28
Revisited in 2001
Electronic Building Blocks -- senior design project
Two A students Did terrible
Blocks not intuitive, not power efficient, limited applications
Problem was harder than originally thought
Previous research didn’t help Educational blocks
Logiblocs, MagicBlocks, Logidules Board based, non-intuitive, not low power
Electronic Blocks (Legos) Simple toy for young kids
Programming for novices Lego Mindstorm (MIT research), Phidgets, Robobrix
Teaches programming using robot, several-day learning curve
April 2005 Frank Vahid, UC Riverside 6 of 28
Observation and Solution
Courtesy of Joe Kahn Observation: Microprocessors
cheap/smaller Solution: Put microprocessor in “dumb”
components (sensors, buttons, LEDs) to enable easy connection
eBlocks Easy-to-use matchbox-sized embedded
system building Blocks -- just connect No voltage issues, programming,
development tools. Garage-open-at-night buildable in minutes. Huge variety of applications.
Lasts for years or more The “wood and nails” of embedded systems
Enables novices to build useful systems Skilled users can do even more
2003: NSF project began
April 2005 Frank Vahid, UC Riverside 7 of 28
Research Issues
1. Human-computer interfacing Block set for novices Design individual blocks
2. Communication Need new digital abstraction
3. Mass producible but tunable nodes4. CAD tools for novices
April 2005 Frank Vahid, UC Riverside 8 of 28
Block set for novices Tradeoff
Coarse-grain blocks: simple library, intimidating block
Fine-grain blocks: simple blocks, intimidating library (and networks)
Built ~100 physical prototypes Observed dozens of people
(college, high-school, senior citizens, kids)
Built simulator -- more people http://www.cs.ucr.edu/eblocks
1. HCI -- Block Set Definition
Programmable eBlock
vs
April 2005 Frank Vahid, UC Riverside 9 of 28
1. HCI: Block Set Definition
Yes/no blocks Block set
Sensors (motion, light, button, ...) Output (LED, buzzer, electric relay,
logger) Compute
Combine, Invert, Yes Prolonger, Toggle, Once-yes Stays-yes, Pulse Generator
Result of several iterations and refinements
Combine
AND OR
yes no
When A is yes no
B is
then the output is yes
yes time
1 2 3 4 5 6 7 8 9
outin
Yes Prolonger
out
in
rst
Once yes, stays yesno time
1 2 3 4 5 6 7 8 9
yes time
1 2 3 4 5 6 7 8 9
outinPulse Generator
yellow means ERROR
green means YES
red means NO
Button yesButton no
Found yes/no better than 0/1, true/false, on/off
Found users need to see yes/no values
in
out
prolong time
in
outout
outin
Toggle
rst
in
outWas “logic”
Was “delay” Was “tripper”
outin
Invert
April 2005 Frank Vahid, UC Riverside 10 of 28
1. HCI -- Design of Individual Blocks (Logic)
Previous research -- Everyday people “don’t do logic,” confuse AND/OR Young, D. and Shneiderman, B. A Graphical Filter/Flow Representation of Boolean Queries: A Prototype
Implementation and Evaluation. Journal of American Society for Information Science 44 (1993). Pane, J. and Myers, B. Tabular and Textual Methods for Selecting Objects form a Group. Proc. Visual
Languages (2000).
We wanted a single block: easier to change, fewer blocks in network Collaborated with Crista Lopez, HCI researcher (UC Irvine); studies ongoing
A
B
Outno yesno nono yesno yesno yesyes nono yesyes yes
Logic Block
configurable DIP switch
A B
Out
Original logic block -- Complete failure
A B Outputno yesno nono yesno yesno yesyes nono yesyes yes
Logic Block
Slightly better, still <20% success
A B
Combine
A is yes, B is yesA is yes, B is noA is no, B is yesA is no, B is no
The output should
be yes when:
yes no:
Phrased truth table
yes no
the output should be
A B
When the input is
outCombine
A is yes, B is yesA is yes, B is noA is no, B is yesA is no, B is no
Phrased truth table embedded in sentence
yes no
The output should be
When the input is
out
A B
A BA BA BA B
CombineColored truth table embedded in sentence
Combine
AND OR
yes no
When A is yes no
B is
then the output is yes
Logic Sentence
#1#250%-60% success (90% with
some training), but not generalWork ongoing for “integer” blocks
April 2005 Frank Vahid, UC Riverside 11 of 28
2. Communication
Continuous voltage between blocks -- too much power Need packets; microprocessor can sleep between Need new digital abstraction mapping packets to Boolean signals
Like mapping of voltage levels to Boolean signals Shannon, C. A Symbolic Analysis of Relay and Switching Circuits. Trans. AIEE, Vol. 57, 1938,
pp. 713-723, Dissertation, Electrical Engineering Department, MIT, Cambridge, 69, 1940.
Source Sink
packets containing “true” or “false”
channel (wires or wireless)
time0
1
time
false true false
time
0.80
continuous voltage, two levels
Source Sinkchannel (wire)
April 2005 Frank Vahid, UC Riverside 12 of 28
2. Communication -- Digital Abstraction
Mapping packets to a continuous model
desired signal
packets sent on signal changes only
sending packets on signal changes and within maximum inter-packet time would result in the desired signal being received
maximum inter-packet time violation causes error values in the received signal
time
f t f
f tf f f< <
errorerror
< <
Problem: What if source fails or is disconnected -- indistinguishable from continued false
Solution: define maximum inter-packet time constraint
April 2005 Frank Vahid, UC Riverside 13 of 28
2. Communication -- Digital Abstraction
Problem: sink node designer must know minimum packet separation, lest he/she overdesign Solution: define minimum inter-packet time
Creates tradeoffs for source node designers too
input sensed by source node
packets sent by source node obeying the minimum inter-packet time
alternative packets sent, creating a delayed signal
logic signal perceived by sink
logic signal perceived by sink
f t f>
f t tf> > >
f
• Several similar issues (e.g., treatment of errors, startup conditions, block latency, etc.).
• Resulting constraints define a node technology library Solid basis for node design, composition, and operation -- work ongoing
April 2005 Frank Vahid, UC Riverside 14 of 28
3. Mass Producable but Tunable Nodes
Node performance (lifetime, reliability, ...) heavily impacted by parameters
Packet constraints, baud rate, voltage levels, frequency, error checking bits, ...
Observed by us and others Adlakha et al 2003; Yuan/Qu 2002; Tilak
et al 2002, Heinzelman et al 2000.
Applications’ performance goals differ
Lifetime, reliability, responsiveness, ...
Solution Design highly-parameterized
node Develop methodology for
Node developer Application developer (node user)
Software Configurable Node Parameters
Voltage
Clock Frequency
Baud Rate
…
0xFF
0xC3
0x1A
Sleepwalker at Night Alarm
A’B
Endangered Species Videoing System
A+B
1 2 3 4 5 6 7 8 9
0xFF 0xC
0x1
0xFF 0xC
0x1
0xFF 0xC
0x1
0xFF 0xC
0x1
0xFF 0xC
0x10xFF 0xC
0x1
0xFF 0xC
0x1
0xFF 0xC
0x1
0xFF 0xC
0x1
0xFF 0xC
0x10xFF 0xC
0x1
April 2005 Frank Vahid, UC Riverside 15 of 28
3.Mass Producable but Tunable Nodes -- Methodology
Node Characterization
Explore Design Space
System Evaluation
Application Characterization
Design Metric Objective Functions
Overall Objective Function
Computation and Communication Parameter Definition
Design Metric Evaluation Equations
Parameter Interdependence
Design Metric AchievementSystem Compute and Communicate Protocol
NetworkDeployment
0xFF 0x1A 0xC30xF1 0x12 0xC0
0x00 0x12 0xC3
Configure Node
Parameters
CAD Tool
Application Developer
April 2005 Frank Vahid, UC Riverside 16 of 28
Done by node developer Consists of 3 stages
Computation and Communication Parameter Definition
Design Metric Evaluation Equations
Parameter Interdependence
3. Node Characterization
5V
4.5V
3V
4 bits1 byte
crc
0.25s10 m
hamming
parity 1M Hz
100k Hz32k Hz
1m
0.5s 3s
3.03.54.04.55.05.5
32k100k200k300k455k800k
…5.3M7.4M8M
10M10.4M16M20M
120024004800960014.4K28.8K
Based on datasheets, determine interdependencies between parameters
Determine parameters based on hardware options (uC, sensors, etc) and software options (protocols, application requirements, etc)
April 2005 Frank Vahid, UC Riverside 17 of 28
Done by Application Developer 2 Types of objective functions
Overall Objective Function Weighted sum Foverall = (A * Flifetime) + (B*Freliability) + (C * Flatency) + (D* Fresponsiveness) Designer specifies the relative weight (importance) of each metric
Design Metric Objective Functions High-level metrics considered – lifetime, latency, reliability, responsiveness Designer must specify what values are good and bad for each metric (1-good, 0-bad)
3. Application Characterization
Flifetime
1
0
Lifetime (years)
0.5 1 2 2.5 30 1.5 3.5
Mean time between corrupted packets (days)
1
0
Freliability
1 365 730
Block latency (seconds)
1
0
Flatency
0 0.05 0.14
Disconnect response (seconds)
1
0
Fresponsiveness
1800600.25 0.50 1 2 3 4 5 10 30 300 600
Connect response (seconds)
1
0
Fresponsiveness
0.10 600.25 0.50 1 2 3 4 5 10 30 300 600
Lifetime below 1.5 years bad
Lifetime beyond 2.5 years yields minimal improvement
Block latency until 0.05 seconds generally meets systems requirements
Block latency 0.05 to 0.14 seconds quickly degrades, beyond 0.14 seconds system latency is unacceptable
April 2005 Frank Vahid, UC Riverside 18 of 28
Automated exploration Simulated annealing search
Feedback to application developer
Ultimately yields tuned parameter values
Downloaded onto nodes
3. Feedback to Application Developer
Config. A
Config. B
voltage = 5Vfrequency = 32k Hz…ecc = hamming1
voltage = 4Vfrequency = 300k Hz…ecc = crc
Flifetime
1
0
Lifetime (years)
0.5 1 2 2.5 30 1.5 3.5
Mean time between corrupted packets (days)
1
0
Freliability
1 365 730
Block latency (seconds)
1
0
Flatency
0 0.05 0.14
Disconnect response (seconds)
1
0
Fresponsiveness
1800600.25 0.50 1 2 3 4 5 10 30 300 600
Connect response (seconds)
1
0
Fresponsiveness
0.10 600.25 0.50 1 2 3 4 5 10 30 300 600
Prototype tool built, work submitted to upcoming conference
April 2005 Frank Vahid, UC Riverside 19 of 28
4. CAD Tools for Novices
Problem 1 Application developer may not have full set of blocks Solution
Allow computer-capture using full set, use technology mapping techniques
Problem 2 Application developer may create inefficient solution Solution
Allow computer capture, optimize network
Combine both techniques into CAD tool
Prototype tool built, work submitted to upcoming conference
April 2005 Frank Vahid, UC Riverside 20 of 28
5. New Research Direction -- Spatial Programming of Basic Sensor Networks
Sensor networks evolving Programming is hard [e.g., Horton, SECON’04
keynote] Sensor network programming languages
are for expert programmers, e.g.: SQTL - Shen, C., C. Srisathapornphat, C. Jaikaeo.
Sensor Information Networking Architecture and Applications. IEEE Personal Communications, August 2001.
Sensorware - Boulis, A., M. Srivastava. A Framework for Efficient and Programmable Sensor Networks. Open Architectues and Network Programming Proc., 2002.
But many sensor network developers are not programmers
Scientists, engineers, healthcare workers, homeowners, etc.
Programming is difficult for ordinary people Pane, J. & Myers, B. (1996), McIver, L., & Conway, D.
(1996), Patil, B., Maetzel, K., & Neuhold, E. (2001), Soloway, E., Bonar, J., & Ehrlich, K. (1983).
Fortunately, low-end sensor networks require only simple “programming”
High-end sensor networksExpert programmers
Low-end sensor networksNon-programming developers
April 2005 Frank Vahid, UC Riverside 21 of 28
5. “Spatial” Programming using eBlocks
Spatially-Oriented ParadigmeBlocks
µC
Programmable eBlock
Temporally-Oriented Paradigm
LEGO Mindstorms
C Code
µC
RCX Brick
bool inputA = P0^1;
bool inputB = P0^2;
bool output = P0^3;
void main() {
if (inputA == YES || inputB == YES) {
output = YES;
} else {
output = NO;
}
}
• Novices had great success build eBlock systems (physical and on computer) -- use as programming paradigm
April 2005 Frank Vahid, UC Riverside 22 of 28
5. Spatial Programming using eBlocks
Tested 20 recent high school graduates Asked them to build equivalent systems using temporal
(LEGO Mindstorms) and spatial (eBlocks) programming paradigms
30 minutes to build 6 designs
DesignNumber
TypeMindstorms
Success Rate
eBlocksSuccess
Rate
1 2-input logic (OR) 0 % 87.5 %
2 2-input logic (AND) 0 % 25 %
3 state (toggle) 0 % 62.5 %
4 state (tripper) 0 % 50 %
5 state (on/off) 0 % 37.5 %
6 state (prolong) 0 % 62.5 %
April 2005 Frank Vahid, UC Riverside 23 of 28
User captures design using eBlocks Simulator Synthesis tools partition design based on types and number
of programmable blocks available
Synthesis tools generates C code for each partition
5. Spatial Programming -- Only Minutes to Program
#include <pic.h>#include “sci.h”
#include “io.h”
#include “constants.h”
Unsigned char data_val = ERROR;
...
main(void) {
unsigned I, j;
TRISB = 0;
...
}
main(void) {
ORTA = 0xff;
CMCON = 0x07;
TRISA = 0x00;
TRISB = 0x02;
asm("CLRWDT");
...
}
R. Mannion, H. Hsieh, S. Cotterell, F. VahidSystem Synthesis for Networks of Programmable Blocks.Design, Automation and Test in Europe (DATE), March 2005.
April 2005 Frank Vahid, UC Riverside 24 of 28
After synthesis, user can program a physical programmable eBlock via a PC cable
Synthesis
Program a Programmable
eBlock
5. Spatial Programming -- Only Minutes to Program
April 2005 Frank Vahid, UC Riverside 25 of 28
5. Programming Directions
Increasingly abstract behavior capture
Are you trying to detect open at night? Yes
Physical nodes Graphical blocks Virtual blocks Online assistance User statement
I want to detect any of 3 doors opened at
night
LED Open-at-
night
LED Combine
Light sensor
Contact sensor
Combine
Light sensor
Contact sensor
Light sensor
Contact sensor
x3
CombineLED
Open-at-night
Open-at-night
Open-at-night
x3
CombineLED
Open-at-night
Open-at-night
Open-at-night
Automatically
generated
Automatically generated
April 2005 Frank Vahid, UC Riverside 26 of 28
Future Work – Extending eBlocks to Integers
Extend to integer eBlocks Sensors
Temperature, speed, distance, sound, etc.
Display LCDs (of varying sizes), data logger,
etc. Communication
Integer Logic, wireless rx/tx, etc.
Number of potential embedded systems we can design increases tremendously
Configuration problem becomes harder
More options than just yes/no Design space becomes larger
April 2005 Frank Vahid, UC Riverside 27 of 28
Applications
Tremendously diverse applications buildable with just a dozen blocks
Present applications being considered At-home monitoring of aging parent to detect trends or daily
situation with Intel
Customizable victim notification system With ADV, proposal in final stages with DOJ
Localized organic pesticide meterer based on insect counts With ISCA Corp.
Endangered species videoing system With UCR environment science colleagues
April 2005 Frank Vahid, UC Riverside 28 of 28
Conclusions
Everyday people can use eBlocks to build basic but useful systems
Required careful block set definition and block design Extensive ongoing and future research
Integer blocks Digital abstraction Mass producable tunable nodes CAD for node users eBlocks as a spatial programming paradigm
Top Related