making it easier: improving design productivity
TRANSCRIPT
![Page 1: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/1.jpg)
Making it Easier:
Improving Design Productivity
MARK H OROWITZ
![Page 2: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/2.jpg)
Lessons Learned from the 80’s
DON’T TRY TO SOLVE THE PROBLEM The complete problem is much too large
› No one has the resources to do it
THE PROBLEM IS REALLY MANY SMALLER PROBLEMS Need to find natural interfaces
› Create tools and methodologies for subproblems Users can then pick build “tool” sets from this work
Clean interfaces can be› Between different abstraction levels› Along domain lines
2
![Page 3: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/3.jpg)
Themes
WE ARE INTERESTED IN DOMAIN SPECIFIC TOOLS/LANGUAGES Restricting application domain allows the tool to be more powerful Many of the tools are build around a domain
WE ARE VERY INTERESTED IN BUILDING CONSTRUCTORS If systems are expensive to build, want to reuse them
› This means we want the systems to be flexible Rather than building a specific instance
› Create a tool that understands local rules› And can create instances from parameters
3
![Page 4: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/4.jpg)
A PPLICATION FRAMEWORKS
![Page 5: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/5.jpg)
fabryq Statement
MANY RECENT IOT APPLICATIONS ARE BASED ON AN EMBEDDED-GATEWAY-CLOUD (MGC) PATTERN
PROGRAMMING COMPLETE MCG-BASED APPLICATIONS FOR CONNECTEDDEVICES IS COMPLICATED AND REQUIRES EXPERTISE IN DIFFERENT LANGUAGESON EACH TIER (E.G. PYTHON, JAVA, C)
Will McGrath, Bjoern Hartmann
![Page 6: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/6.jpg)
fabryq Solution
THE FABRYQ PLATFORM LETS DEVELOPERS WRITE WEB APPS THAT CANCOMMUNICATE WITH MULTIPLE BLUETOOTH LOW ENERGY (BLE) DEVICES
FABRYQ SUPPORTS RAPID MCG APPLICATION PROTOTYPING BY PROVIDING AREUSABLE SERVER AND MOBILE “SMART GATEWAY”
fabryq APIBLE TCP/IP
79 BPM
![Page 7: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/7.jpg)
fabryq Results
APPLICATIONS DEVELOPED BY PILOT STUDY PARTICIPANTS AND THE RESEARCHTEAM DEMONSTRATED FABRYQ’S UTILITY
SUGGESTED A NEED FOR A SMOOTH WAY TO MOVE FROM PROTOTYPE TOPRODUCTION
Published at EICS ‘15
![Page 8: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/8.jpg)
Ravel
A FRAMEWORK THAT IN SINGLE LANGUAGE SUPPORTS WRITING APPLICATIONSWITH A DISTRIBUTED MODEL VIEW CONTROLLER PATTERN IN A DATA FLOWARCHITECTURE.
THE DEVELOPER WRITES A SINGLE MODEL WITH ONE DATA SCHEMA; RAVELGENERATES ALL NECESSARY MECHANISMS FOR MODEL SYNCHRONIZATIONACROSS ALL TIERS OF THE IOT APPLICATION.
Laurynas Riliskis, Phil Levis
![Page 9: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/9.jpg)
Leveraging Good Interfaces
EXISTING IOT FRAMEWORKS SIMPLIFIES DEVELOPMENT BY PROVIDING ACOMPLETE ECOSYSTEM FOR EMBEDDED, GATEWAY, CLOUD, COMMUNICATIONS, AND SECURITY. CONSEQUENTLY, THE APPLICATION AND ANY FUTURE UPDATESARE TIGHT UP TO THAT PARTICULAR FRAMEWORK. ANY INVESTMENT INEXTENDING ECOSYSTEM AND OPTIMIZING WOULD NOT CARRY OVER TO ADIFFERENT PLATFORM.
INSTEAD OF PROVIDING A RUNTIME, RAVEL TRANSLATES CODE AND USESTEMPLATES TO GENERATE CODE FOR THE TARGET PLATFORMS. SUCH ASARDUINO, INTEL, NORDIC, ANDROID, AMAZON CLOUD, DJANGO, ETC.SWITCHING BETWEEN SUPPORTED FRAMEWORKS AND ECOSYSTEMS BECOMES APUSH OF A BUTTON.
![Page 10: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/10.jpg)
Halide
LANGUAGE CREATED TO MAKE WRITING IMAGE/VISION APPS EASIER
IMAGE APPLICATIONS
Need to do tons of simple operations These operations have high locality
› Can be done fast and efficiently
BEFORE HALIDE
Either wrote clean code Or wrote fast code that was hard to read/reuse
HALIDE’S BIG IDEA
Separate schedule of code from function of code
Andrew Adams, Jonathan Ragan Kelley
![Page 11: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/11.jpg)
Halide to Zynq FGPA
11
Jing Pu, Mark Horowitz
![Page 12: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/12.jpg)
Energy Results
12
![Page 13: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/13.jpg)
H ARDWARE P LATFORMS
![Page 14: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/14.jpg)
Toastboard Statement
WHILE SOLDERLESS BREADBOARDS ALLOW FOR QUICK CIRCUIT PROTOTYPING, NOVICE USERS CAN MAKE ERRORS THAT ARE DIFFICULT AND TIME-CONSUMINGTO DIAGNOSE
Daniel Drew, Bjoern Hartmann
![Page 15: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/15.jpg)
15
Toastboard SolutionTHE TOASTBOARD IS ANINSTRUMENTED BREADBOARD THATCAN AUTOMATICALLY SENSE THEVOLTAGE ON ALL OF ITS ROWS
IT INCLUDES AN EXTENSIBLE SET OFAUTOMATED CHECKER FUNCTIONSTHAT CAN DETECT AND EXPLAINCIRCUIT ERRORS IN A USER-FRIENDLYWAY
![Page 16: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/16.jpg)
Toastboard ResultsA PRELIMINARY EVALUATION DEMONSTRATED THAT THE TOASTBOARD CAN HELPNOVICE USERS CORRECT COMMON CIRCUIT ISSUES WITH CHECKER FUNCTIONS.
Accepted to UIST
![Page 17: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/17.jpg)
Imix:Enabling Next-Generation Research for Secure IoTSTANDALONE IOT SYSTEM
Crypto, wireless, power, sensors, softwareMAXIMIZE SYSTEM VISIBILITY
All internal signals exposed for debugging Power measurement headerUSABILITY AND CONTROL
Fully open source Software backbone: Tock
Shane Leonard, Phil Levis
![Page 18: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/18.jpg)
Imix: Features ListOPEN SOURCE
TWO WIRELESS PROTOCOLS (802.15.4 AND BLE)POWERED BY USB, LI-ION BATTERY, OR EXTERNAL VOLTAGE SOURCE
INTEGRATED BATTERY CHARGER
POWER MEASUREMENT HEADER FOR EACH SUBSYSTEM
6-AXIS ACCELEROMETER/MAGNETOMETER, TEMPERATURE SENSOR, LIGHTSENSOR
ULTRA LOW POWER ARM CORTEX-M4 PROCESSOR WITH MPUFTDI USB TO SERIAL LINK
NATIVE USBARDUINO-COMPATIBLE
COMPATIBLE WITH FIRESTORM BOOTLOADER
TRUE RANDOM NUMBER GENERATOR BASED ON LAMPERT CIRCUIT
RUNS TOCK, A SECURE RUST OS FOR IOT
![Page 19: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/19.jpg)
Going Meta: Embedded Device Generation
● COMPILE HIGH-LEVEL CODE INTO EMBEDDED HARDWARE.
● EXPAND ACCESS TO HARDWARE DEVELOPMENT.
● AUTOMATE THE DEVELOPMENT PROCESS FOR HOBBYISTS
● IMPROVE DEVELOPMENT TOOLS FOR PROFESSIONALS.
19
19
Rohit Ramesh, Prabal Dutta
![Page 20: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/20.jpg)
Brewing Beer at Home
20
20
![Page 21: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/21.jpg)
Hobbyist wants a bespoke temperature controller.
21 21
![Page 22: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/22.jpg)
They write some Application Logic.
22 22
![Page 23: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/23.jpg)
Device Generation turns code into design files.
23
23
![Page 24: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/24.jpg)
Hobbyist sends the design to a fabricator.
24
24
![Page 25: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/25.jpg)
A box arrives in the mail ...
25
25
![Page 26: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/26.jpg)
… with the finished device.
26
26
![Page 27: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/27.jpg)
Overall Framework
27
![Page 28: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/28.jpg)
28
One Problem: How to Read Data Sheets
1. THERE ARE A LOT OFCOMPONENTS
2. COMPONENTS ARECOMPLICATED
3. EXISTING SEARCH TOOLS ANDONLINE DATABASES ONLY STORELIMITED INFORMATION
EMBEDDED SYSTEM DESIGNERSNEED TO CHOOSE BETWEENSPENDING LOTS OF TIME CURATINGCOMPONENTS AND THE OPTIMALITYOF THEIR CHOICES.
Component Family
Number of Entries on
Parts.ioConnectors 35,835,399Power Circuits 4,308,382Diodes 2,200,889Sensors/Transducers 1,429,819Memories 1,319,651Microcontrollers 818,329Transistors 659,628Drivers/Interfaces 121,955Amplifiers 98,506Transformers 86,021
Luke Hsiao, Phil, Mark, Chris
![Page 29: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/29.jpg)
SolutionCREATE A FRAMEWORK TO AUTOMATICALLY BUILD COMPONENT DATABASESFROM THEIR DATASHEETS. THIS COMPONENT LIBRARY WILL ENABLE A WAVE OFNEW APPLICATIONS THAT HAVE ACCESS TO DETAILED, ACCURATE COMPONENTINFORMATION.
• COMPONENT SEARCH
• DATASHEET ERROR CHECKING
• HARDWARE OPTIMIZATION
• EMBEDDED DEVICE GENERATION
![Page 30: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/30.jpg)
Results
Tabl
e Ex
trac
tor
doc | part_num | storage_temp_min‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐X.pdf | BC546 | ‐55X.pdf | BC547 | ‐55 X.pdf | BC548 | ‐55
Proc
ess
Cel
l Fea
ture
s
![Page 31: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/31.jpg)
VALIDATION
![Page 32: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/32.jpg)
Code CheckersTRADITION SOFTWARE CHECKERS ARE COMPLEX SOFTWARE
• Hard to write and add rules
32
Fraser Brown, Dawson Engler
![Page 33: Making it Easier: Improving Design Productivity](https://reader031.vdocument.in/reader031/viewer/2022021108/6205c0637ab5a236480aa696/html5/thumbnails/33.jpg)
Big Idea
IF YOU ARE GOING TO THROW STUFF AWAY, WHY PARSE IT IN THE FIRST PLACE
33