EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion,...

15
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}@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)

Transcript of EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion,...

Page 1: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

eBlocks – An Enabling Technology for Basic Sensor Based Systems

Susan Cotterell, Ryan Mannion, Frank Vahid*, Harry HsiehDepartment of Computer Science and Engineering

University of California, Riverside{susanc, rmannion, vahid, harry}@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)

Page 2: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

2 of 15

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)

Home Automationhttp://www.smarthome.com

Environmental Monitoringhttp://www.greatduckisland.net/http://today.cs.berkeley.edu/retreat-6-03/

Military Applicationshttp://robotics.eecs.berkeley.edu/~pister/29Palms0103/

Medical Monitoringhttp://www.eecs.harvard.edu/~mdw/proj/codeblue/

Structure/Building Monitoringhttp://www.mrr.dot.state.mn.us/research/MnROAD_Project/MnROADProject.asp

Page 3: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

3 of 15

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

Introduction

Photo: Jason Hillhttp://www.dustnetworks.com/

http://www.smarthome.com

http://www.xbow.com/

Flexib

le,

hard

to p

rogra

m

Easy

to u

se,

inflexib

le

Page 4: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

4 of 15

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/ISSS’03, SECON’04, CHI’05, DATE’05

Toggle

Electric Relay

Magnetic Contact Switch

Light Sensor

Splitter

Tripper

Motion Sensor

2-Input Logic

Button

LED

Page 5: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

5 of 15

Configure Logic Block to turn led on when it’s night and when door is open

Need a function of light sensor output and contact switch output – use Logic Block

Creating an application with eBlocks

Light Sensor

We want to know if garage door open – use contact switch

Magnetic Contact Switch

2-Input Logic

A’B’

Need something to indicate garage open at night – use led

LED

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)

We want to detect night – use light sensor

Block Connectors

Page 6: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

6 of 15

Building eBlocks Systems

The same basic blocks can be used in a variety of applications

2-Input Logic

A’B’

Light Sensor

Magnetic Contact Switch

LED

Garage Door Open At Night Detector

Motion on Property Detector

Motion Sensor

Motion Sensor

2-Input Logic

A+B

Prolonger

1 2 3 4 5 6 7 8 9

Beeper

Sleepwalker at Night Alarm

Tripper

Motion Sensor

2-Input Logic

A’B

Light Sensor

Button

Beeper

Animal Videoing System

Motion Sensor

2-Input Logic

A+B

Prolonger

1 2 3 4 5 6 7 8 9 eBlock to Camera Interface

Light Sensor

Page 7: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

7 of 15

Inside eBlocks: Technology

Tiny computer in every block Even the simplest button Enables low-power, and easy

connection Block “asleep” >99% of time

But user doesn’t notice Communicates tiny computer packets,

< 0.1% of time Connecting eBlocks actually creates

a computer network Use PIC microprocessor costing <$1,

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.

button

wireless tx

Page 8: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

8 of 15

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

Page 9: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

9 of 15

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

Synthesis -- Partitioning

Button

2-Input Logic

Inverter

1 0

Inverter

1 0

Splitter

Splitter

Splitter

Prolonger

123456789

Prolonger

123456789 LED

LED

LED

Button

Splitter

LED

LED

LED

PROGPROG

Page 10: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

10 of 15

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

1-input / 2-output

3

5

7

8

10

11

129

1

2

4

6

2-input / 2-output

3

5

7

8

10

11

129

1

2

4

6

3

5

7

8

10

11

129

1

2

4

6

2-input / 3-

outputInvalid configuration -

packing terminated

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)

Page 11: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

11 of 15

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

Simulator’s interpreter able to evaluate syntax tree and simulate corresponding behavior

Synthesis -- Code Generation

Button

Splitter

LED

LED

LED

PROGPROG

C Code C Code

Page 12: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

12 of 15

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

Page 13: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

13 of 15

Physical Prototype and Simulator Usage Summary

Date # of Participan

ts

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 interfacesTotal Participants: 497

Non-computing users - non-science, non-engineering users (psychology, business, etc. majors) Beginner users - Students in their first introductory to programming course (<10 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

Page 14: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

14 of 15

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

Page 15: EBlocks – An Enabling Technology for Basic Sensor Based Systems Susan Cotterell, Ryan Mannion, Frank Vahid *, Harry Hsieh Department of Computer Science.

15 of 15

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)

Conclusions and Future Work