290 likes | 475 Views
Whole Systems, Whole Students. Eric Brewer UC Berkeley, Google CCC Council November 2, 2012. Three Converging Trends. Billions of gadgets Some smart, some just clever Basic cost is low => huge variety Software in everything
E N D
Whole Systems, Whole Students Eric Brewer UC Berkeley, Google CCC CouncilNovember 2, 2012
Three Converging Trends • Billions of gadgets • Some smart, some just clever • Basic cost is low => huge variety • Software in everything • Smart phones, scales, cars, appliances, glasses • Follows from Moore’s Law • Often connected to the cloud • Ability to make your own gadgets • Not just the software • … also the electronics, mechanics, packaging
Phone as Super Gadget Several embedded processors WiFi, cellular, bluetooth, NFC Many sensors: • camera(s), mic(s), GPS, accelerometers, compass, … • Open-source software stack (Android) • Combine with cloud-based services • Voice recogition, navigation, …
Software in Gadgets • Fitness • Scale, fitbit, nike shoe, bike computers • Cars: 30-100 software systems • Digital cameras: autofocus, face detection • Remote controls • Robot vacuums, mops, … • GPS+video ski goggles
“Maker” Subculture … stresses new and unique applications of technologies, and encourages invention and prototyping [Wikipedia] Enabled by: • Internet • New tools • Fabrication facilities and services Plus magazines, “Maker Faire”
Internet enables DIY • Search engines • Find out how to build almost anything • YouTube • Watch the process • Now dedicated DIY sites • Instructables, Howtoons, Make: Projects • Shared models • Buy items designed by others
New Tools Started with consumer power tools, radio shack • or Heath Kits before that New tools • CNC tools: routers, laser cutters • Low-cost fabrication: 3D printer makerbot • CAD software, sketchup • Easy to use microcontrollers (Arduino)
Arduino is an Enabler • Family of open-source microcontrollers • Many sensors, motors, lights, etc. • Daughterboards for ethernet, WiFi, … • Simple programming language • Author on your laptop, then download • Can buy or make the hardware • Thousands of open projects, examples
Fabrication made Easy • Tools are still expensive and complex • DIY centers, e.g. TechShop, fix this: • They have a wide range of tools • They have a community • They have classes • Fabrication services • Upload your design, get it back in a month
Claim: super educational • Very creative • Focuses on design skills • Physical manifestation is more rewarding • Mix of disciplines and thinking • Mechanical and electrical engineering • Computer science • Plus HCI, business, art • Multi-modal learning • High school students can do this (and should)
Chandelier Electronics • 18 bulbs at 4W = 72W total • 2 microcontrollers, one at each end • Pseudo-random flickering between 50-100% • 6 1A circuits total, each independent flickering • 8 wires to every bulb location • 6 circuits plus 2 ground (ethernet cable) • Each circuit handles every 6th bulb in series • 3 bulbs * 4W = 12W, 12W @ 12V => 1A
Three CS Issues • EE vs CS for Embedded Systems • Security for smart gadgets • How to design Whole Systems
EE vs CS Embedded systems are typically an EE topic • Follows from analog control theory • Also hard real-time systems New systems are all software • Control loop is in software, likely on Linux • Kind of real time (due to overprovisioning) • … but might need to reboot periodically We should revisit this dichotomy
Security Software-based embedded systems… • Inherently vulnerable to attack • … especially when networked Many hackable gadgets… • Car (30-100 software systems) • Break into a car via its satellite link • Or disable engine (even if moving) • NFC: take over a phone via its NFC sensor
Designing Whole Systems • Not enough to design the software • Can choose the CPU, sensors, flash, ram, … • Partially a CAD problem • Mostly a breadth problem • How to train the full range of design skills? • How much is needed from each discipline? • How to cover the device + the cloud? • Claim: CS should lead this rising area
The Larger Trend • CS is being applied to solve real problems • We need to create students • that can lead solutions • (not just write software) • Technology for developing regions • Need to solve the problem • Not deploy technology • CS only part of the solution (but the enabling part)