1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid...

28
1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor 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)
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    224
  • download

    1

Transcript of 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid...

Page 1: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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)

Page 2: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 3: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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?

Page 4: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 5: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 6: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 7: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 8: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 9: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 10: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 11: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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)

Page 12: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 13: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 14: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 15: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 16: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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)

Page 17: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 18: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 19: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 20: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 21: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 22: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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 %

Page 23: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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.

Page 24: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 25: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 26: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 27: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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

Page 28: 1 Electronic Blocks -- The “Wood and Nails” of Sensor-Based Embedded Systems Frank Vahid Professor Dept. of Computer Science & Engineering, University.

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