22
eBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona [email protected] Frank Vahid Dept. of Computer Science and Engineering University of California, Riverside [email protected] *Also with the Center for Embedded Computer Systems at UC Irvine This work is being supported by the National Science Foundation Grant CCR-0311026

EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona [email protected]

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

eBlocks: Enabling Design of Basic Embedded Systems by Novice Users

Susan LyseckyDept. of Electrical and Computer

EngineeringUniversity of Arizona

[email protected]

Frank VahidDept. of Computer Science and

EngineeringUniversity of California, Riverside

[email protected]*Also with the Center for Embedded

Computer Systems at UC Irvine

This work is being supported by the National Science Foundation Grant CCR-0311026

Page 2: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

2 of 22

Introduction

• Large class of applications exists comprised of sensor-based systems

• Transform sensor data and feed the proceed data to output or actuator nodes

• Residential• Wireless doorbell, mail alert, gate

open, motion on property, package on porch, customized motion lights, carpool alert

• Office/Commercial• Cafeteria food alert, front desk

notifier, conference rooms in use, copy machine in use, visitor at front gate, reserved parking spot detector

• Countless applications• Health

• Sleepwalker detection, hard-of-hearing sound alert, water leak alert...

• Environmental• Temperature logging, animal tracking, ...

?

?

?

Page 3: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

3 of 22

• Why aren’t these systems more prevalent?

http://www.smarthome.com

Off-the-shelf

Introduction

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

http://www.xbow.com/

Programmable

Button

Motion Sensor

2-Input Logic

LED

• Developed for specific application

• Hard to customize• Expensive – low volume

• GOAL – enable novice users to build customized embedded systems

• Provide building blocks to enable customization• Eliminate need for programming/electronics experience

• Hard to design• Find components, read datasheets,

program microcontrollers, many more issues...

• Expensive to hire an engineer

eBlocks

Page 4: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

4 of 22

• Balancing act• Too many blocks – overwhelm end-user• Too few blocks – require too much

configuration

• Iterative process• Example-driven

eBlock Catalog Definition

2-Input Logic

Beeper

Tripper

LED

Button

Light Sensor

Contact SwitchMotion

Sensor

Prolonger

1 2 3 4 5 6 7 8 9

Green/Red LED

Wireless TX

Wireless RX

eBlock Catalog

Can we implement this system with available

eBlocks?NO – add required blocks

YES – look at next system

Page 5: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

5 of 22

• Boolean eBlock Library• ~30 Blocks, classified into 3

categories• Sensor• Output• Compute/Communicate

• Operates on yes/no values• No programming required

• Some blocks require slight configuration

• eBlock Usability*• Performed experiments with over

500 users• Determined eBlock interfaces• Determine if novices can construct

various eBlock systems

eBlock Catalog

Button

Light Sensor

Contact Switch

Motion Sensor

Sensor

2-Input Logic

Tripper

Prolonger

1 2 3 4 5 6 7 8 9

Wireless TX

Wireless RX

Compute/Communicate

Beeper

Green/Red LED

Output

LED

Electric Relay

* S. Cotterell , Frank Vahid.Usability of State Based Boolean eBlocks.International Conference on Human-Computer Interaction (HCII), July 2005.

* S. Cotterell, Frank Vahid.A Logic Block Enabling Logic Configuration by Non-Experts in Sensor Networks. Conference on Human Factors in Computing Systems (CHI), April 2005.

Page 6: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

6 of 22

A’B’

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

Create an application to detect if the garage door is left open at night

We want to detect night – use light sensor

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

Need something to indicate garage open at night – use led

Plug pieces together and the system is done!

Creating An Application with eBlocks

Light Sensor

Magnetic Contact Switch

2-Input Logic

LED

Page 7: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

7 of 22

• Same building blocks can be used to create a variety of applications

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

Front Desk Notifier

ToggleButton Beeper

Package Delivery

Tripper

Motion Sensor

Button

Beeper

Tripper

Button

Button

LED

Visual Doorbell

Front Door

Inside House

8-Second Doorbell

Prolonger

1 2 3 4 5 6 7 8 9

BeeperButton

Creating An Application with eBlocks

Page 8: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

8 of 22

eBlock Implementation

• We’ve build >100 physical prototypes

• Java-based simulator• User can choose a variety of blocks by

selecting between pallets• User is able to configure various blocks

by clicking on switches• Connections created by drawing lines

between blocks• User can create, experiment, test and

configure design

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

SensorsLight

Sensor

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Beeper

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Light Sensor

Button

Available at http://www.cs.ucr.edu/~eblock/simulator/index.html

Page 9: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

9 of 22

Challenges

• Can we provide additional tools to aid users in developing various systems?

• What if blocks used in simulator are not available as physical blocks?

Application Developer(End-user)

3-Input Logic

yes no

A B’ CA B’ C’

A B C’ A B C

A’ B’ CA’ B’ C’

A’ B C’A’ B C

Invert

1 0

Motion Sensor

Button

Light Sensor

Green/Red Light

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

eBlock Simulator

No physical 3-input logic blocks available.

Page 10: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

10 of 22

Challenges

• Can we provide additional tools to aid users in developing various systems?

• What if blocks used in simulator are not available as physical blocks?

• Can we optimize the end-user’s system?

Invert

1 0

2-Input Logic

yes no

A’ BA’ B’

A B’ A B

2-Input Logic

yes no

A’ BA’ B’

A B’ A B

Motion Sensor

Button

Light Sensor

Green/Red Light

Inverter is redundant

Application Developer(End-user)

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Green/Red Light

Beeper

Output

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Available eBlocks

Advanced ModeHide this panel

Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Green/Red Light

Beeper

Output

Available eBlocks

Advanced ModeHide this panel

Green/Red Light

Beeper

Output Compute/Communications

Prolonger

1 2 3 4 5 6 7 8 9

seconds

Once Yes, Stays Yes

rst

in

Toggle

Combine

AND OR

yes no

When A is yes no

B is

then the output is yes

Motion Sensor

Yes/No

Button

Light Sensor

Sensors

Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs.

Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design.To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle).A connection can be destroyed by clicking on a connected port.To move a block around the workspace, click and drag its orange area.Blocks can be moved into the trash can to delete them.Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellowCircles indicate that the port is sending an error signal, and gray circles denote an input port.

eBlock Simulator

Developed eBlock mapping and optimization tools - discussed in

earlier presentation*

*"Automated Generation of Basic Custom Sensor-Based Embedded Computing Systems Guided by End-User Optimization Criteria”Susan Lysecky, Frank Vahid.UbiComp 2006.

Page 11: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

11 of 22

Challenges

• Can we provide additional tools to aid users in developing various systems?

• What if blocks used in simulator are not available as physical blocks?

• Can we optimize the end-user’s system?• Can we maximize lifetime for the end-

user’s specific application? Or Reliability? Or Responsiveness?...

APP 1

APP 2

APP 3

Rel

iabi

lity

Life

tim

e

Late

ncy

Res

p.

1.00.80.60.40.2

0

Rel

iabi

lity

Life

tim

e

Late

ncy

Res

p.

1.00.80.60.40.2

0

Rel

iabi

lity

Life

tim

e

Late

ncy

Res

p.

1.00.80.60.40.2

0

Page 12: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

12 of 22

Node Tuning

• Application-specific node tuning is not a new idea

• Adlakha, S., S. Ganeriwal, C. Schurger, M. Srivastava. Density, Accuracy, Latency and Lifetime Tradeoffs in Wireless Sensor Networks – A Multidimensional Design Perspective. Embedded Network Sensor Systems, 2003.

• block’s shutdown scheme, network routing algorithms, and data compression schemes

• Yuan, L., G. Qu. Design Space Exploration for Energy-Efficient Secure Sensor Network. Conf. on Application-Specific Systems, Architectures, and Processors, 2002.

• processor type, encryption/decryption algorithms, and dynamic voltage scaling

• Tilak, S., N. Abu-Ghazaleh, W. Heinzelman. Infrastructure Tradeoffs for Sensor Networks. Int. Workshop on Wireless Sensor Networks and Applications, 2002.

• sensor capability, number of sensors deployed, and deployment strategy

• Heinzelman, W., A. Chandrakasan, H. Balakrishnan. Energy-Efficient Communication Protocols for Wireless Microsensor Networks. Hawaii International Conference on System Sciences, 2000.

• communication protocols, transmit/receive circuitry, message size, distance between blocks, etc.

• Martin, T., M. Jones, J. Edmison, R. Shenoy. Towards a design framework for wearable electronic textiles. IEEE International Symposium on Wearable Computers, 2003.

• number of sensors and sampling rate• Shih, E. S. Cho, N. Ickes, R. Min, A. Sinha, A. Wang, A.

Chandrakasan. Physical Layer Driven Protocol and Algorithm Design for Energy-Efficient Wireless Sensor Networks. International Conference on Mobile Computing and Networking (MobiCom), 2001.

• Network protocols and algorithms, dynamic voltage scaling, sleep states

Careful tuning of parameters can have a large impact on design objective

• Node tuning hard - beyond the expertise of most end-users

• Block’s parameter space may consist of billions of possible configurations

• Heavily interdependent parameters

How do we develop application specific eBlock tuning tools for

novice users?

APP 1

APP 2

APP 3

Rel

iabi

lit y

Life

time

Late

ncy

Res

p.

1.00.80.60.40.20

Rel

iabi

lit y

Life

tim

e

Late

ncy

Res

p.

1.00.80.60.40.20

Rel

iabi

lit y

Life

time

Late

ncy

Res

p.

1.00.80.60.40.20

Page 13: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

13 of 22

• Expert in the eBlock platform• Responsible for eBlock

characterization

eBlock Tuning

eBlock Developer

Computation and Communication Parameter

Definition

Design Metric Evaluation Equations

5V

4.5V

3V

4 bits1 byte

crc

0.25s10 m

hamming

parity

1M Hz

100k Hz 32k Hz

1m

0.5s 3s

• What parameters can be adjusted?• What values can be assigned to the

various parameters?

Computation and Communication Parameter

Definition

• How are the parameters related?• Given a voltage level, what frequencies are

valid?

Parameter Interdependence

3.03.54.04.55.05.5

32k100k200k300k…

16M20M

120024004800960014.4K28.8K

Lifetime = battery capacity / uP current

uP current = uP Active current + uP Idle Current …

• How do the parameters effect lifetime? Reliability?

Design Metric Evaluation Equations

Page 14: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

14 of 22

Computation and Communication Parameter

Definition

Design Metric Evaluation Equations

Parameter InterdependenceeBlock

Developer

eBlock Characterization

• Expert in the application domain

• Responsible for application characterization

Application Developer

eBlock Tuning

Design Metric Objective Functions

Design Metric Objective Functions

Flifetime 1

0

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

• What is considered a good lifetime value and what is a bad lifetime value? (0-good, 1-bad)

Lifetime below 1.5 is bad

Lifetime beyond 2 years yields minimal improvement

Overall Objective Function

• What is the relative importance of each design metric?

Lifetime0 10050

Reliability0 10050

Latency0 10050

Connect Responsiveness0 10050

Foverall = (75 * Flifetime) + (25 * Freliability) +(25 * Flatency) + (50 * Fconnect_resp) + (50 * Fdisconnect_resp)

Disconnect Responsiveness0 10050

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

LatencyDisconnect

ResponsivenessReliabilityConnect

Responsiveness

Page 15: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

15 of 22

eBlock Tuning

Design Metric Objective Functions

Overall Objective Function

Computation and Communication Parameter

Definition

Design Metric Evaluation Equations

Parameter Interdependence

Application Developer

eBlock Developer

eBlock Characterization Application Characterization

Explore Design SpaceExplore Design Space

Config. Avoltage = 5Vfrequency = 32k Hz…ecc = hamming1

Foverall = (75 * 0.11) + (25 * 0.93) +

(25 * 0.15) + (50 * 0.92) + (50 * 0.98)

• Simulated Annealing• Choose eBlock configuration• Determine how well configuration

meets design metrics• Aggregate into a single cost based on

relative importance of each design metric

Mean time between corrupted packets (days)

1

Freliability

Connect response (seconds)

1

Fresponsiveness

Disconnect response (seconds)

1

Fresponsiveness

Flifetime

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

Block latency (seconds)

1

0 0.05 0.14

0

1 365 730

0

0.10 600.25 0.50 1 2 3 4 5 10 30 300 600

0

1800600.25 0.50 1 2 3 4 5 10 30 300 600

1

0 0

Flatency

Page 16: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

16 of 22

eBlock Tuning

Design Metric Objective Functions

Overall Objective Function

Computation and Communication Parameter

Definition

Design Metric Evaluation Equations

Parameter Interdependence

Application Developer

eBlock Developer

eBlock Characterization Application Characterization

Explore Design Space

System Compute and Communicate Protocol

• How well did the configuration perform for each design metric?

Rel

iabi

lity

Life

tim

e

Late

ncy

Res

pons

iven

es s

1.00.80.60.40.2

0

Design Metric Achievement

eBlock Config.

voltage = 5Vfrequency = 32k Hz…ecc = hamming1

• Each eBlock parameter is assigned a value System Compute and

Communicate Protocol

Page 17: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

17 of 22

eBlock Tuning

Design Metric Objective Functions

Overall Objective Function

Computation and Communication Parameter

Definition

Design Metric Evaluation Equations

Parameter Interdependence

Application Developer

eBlock Developer

eBlock Characterization Application Characterization

System Evaluation

Explore Design Space

Design Metric Achievement

System Compute and Communicate Protocol

Config. Avoltage = 5Vfrequency = 32k Hz…ecc = hamming1

Mean time between corrupted packets (days)

1

0

Freliability

1 365 730

Connect response (seconds)

1

0

Fresponsiveness

0.10 600.25 0.50 1 2 3 4 5 10 30 300 600

Disconnect response (seconds)

1

0

Fresponsiveness

1800600.25 0.50 1 2 3 4 5 10 30 300 600

Flifetime

1

0

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

Block latency (seconds)

1

0

Flatency

0 0.05 0.14

Config. Bvoltage = 4.5Vfrequency = 100k Hz…ecc = none

Mean time between corrupted packets (days)

1

0

Freliability

1 365 730

Connect response (seconds)

1

0

Fresponsiveness

0.10 600.25 0.50 1 2 3 4 5 10 30 300 600

Disconnect response (seconds)

1

0

Fresponsiveness

1800600.25 0.50 1 2 3 4 5 10 30 300 600

Flifetime

1

0

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

Block latency (seconds)

1

0

Flatency

0 0.05 0.14

Config. Cvoltage = 4Vfrequency = 1M Hz…ecc = crc

Mean time between corrupted packets (days)

1

0

Freliability

1 365 730

Connect response (seconds)

1

0

Fresponsiveness

0.10 600.25 0.50 1 2 3 4 5 10 30 300 600

Disconnect response (seconds)

1

0

Fresponsiveness

1800600.25 0.50 1 2 3 4 5 10 30 300 600

Flifetime

1

0

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

Block latency (seconds)

1

0

Flatency

0 0.05 0.14

Page 18: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

18 of 22

Experiments – Varying Domains

• Consider several applications• General

• Encompasses a variety of possible eBlock systems

• Educational Science Kit• Introduce middle school

students to simple engineering concepts

• Students combine and configure blocks to create customized sensor-based embedded systems

• Vineyard Weather Tracker• Long-life application deployed in

vineyard to track temperature, rainfall, avg. hours of sunlight

• Other applications also considered in paper …

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

Front Desk Notifier

ToggleButton Beeper

Tripper

Button

Button

LED

Visual Doorbell

Front Door

Inside House

Wireless Tx

Temp. Sensor Wireless

Rx Logger

Wireless Rx Logger

Temp. sensor

Record temperature readingsVineyard Weather Tracker

General

Educational Science Kit

Page 19: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

19 of 22

Experiments – Varying Domains

Flifetime

1

0

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

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

General

Educational Science Kit• Lifetime metric

• Lifetime requirement not as important – users can easily change batteries

• Responsiveness metrics• Extensive hot-swapping in an

interactive learning environment

• Design metric weights

• <0.1, 0.5, 0.5, 1, 1>

Flifetime

1

0

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

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

Vineyard Weather Tracker

Flifetime

1

0

Lifetime (years)

0.5 1 2 2.5 30 1.5 3.5

Disconnect response (seconds)

1

0

Fresponsiveness

1800600.25 0.50 1 2 3 10 30 300 600

Connect response (seconds)

1

0

Fresponsiveness

0.10 600.25 0.50 1 2 5 10 30 300 600

Educational Science Kit

4 5

3 4

Vineyard Weather Tracker• Lifetime metric

• Yearly maintenance acceptable

• Responsiveness metrics• Deployed system, already

test/configured

• Design metric weights• <1, 0.5, 0.5, 0.1, 0.1>

General• Design metric weights

• <1, 1, 1, 1, 1>

Page 20: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

20 of 22

• General Optimized vs. Educational Science Kit Optimized

• Overall objective function increase of 68%

• Lifetime decreases from 931 days to 509 days

• Connect responsiveness changed from 1.25 s to 0.20 s

• Disconnect responsiveness changed from 0.3 s to 0.10 s

• General Optimized vs. Vineyard Weather Tracker Optimized

• Overall objective function increase of 85%

• Lifetime increases from 931 days to 1223 days

• Connect responsiveness changed from 1.25 s to 20 s

• Disconnect responsiveness changed from 0.3 s to 2.5 s

• Application-specific configuration verses general configuration yields an average improvement of 42%

0.00

0.05

0.10

0.15

0.20

0.25

0.30

Gen Edu Gen Vin Gen Msq Gen End AVGGen

AVGApp

Application Domain

No

rma

lize

d F

_o

ve

rall

disconnect connect latency reliability lifetime

Experiments

Page 21: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

21 of 22

• Compared simulated annealing heuristic to exhaustive search

• Exhaustive - average of 3.5 minutes per application

• Simulated Annealing – average of 10 seconds per application

• 3% difference in overall design metric achievement

Experiments

0.00

0.05

0.10

0.15

0.20

0.25

Ge

n.

Op

tima

l

Ge

n.

SA

Ed

u O

ptim

al

Ed

u.

SA

Vin

Op

tima

l

Vin

SA

Msq

Op

tima

l

Msq

SA

En

d O

ptim

al

En

d S

A

Application Domains

F_

ov

era

ll

disconnect connect latency reliability lifetime

Page 22: EBlocks: Enabling Design of Basic Embedded Systems by Novice Users Susan Lysecky Dept. of Electrical and Computer Engineering University of Arizona slysecky@ece.arizona.edu

22 of 22

• Automated eBlock tuning• ~10 minutes to specify high-level design metric goals• ~10 seconds to determine eBlock configuration• Yield an average of 42% improvement in meeting user-defined goals, high of

85%• Can easily be scaled to consider larger number of parameters

• Future Work• Directly extendable to support general sensor network systems

Conclusion

Thank you for your attention