EECS 598 Wireless Sensor Networks Technologies, Systems, and Applications Lecture 2: Computer Science Issues Prabal Dutta University of Michigan January 12, 2010 1 Course Updates • Twitter feed for late-breaking updates: – http://twitter.com/eecs598w10 • Writeups – Content looks good so far – If you decide to take a “pass,” send an e-mail saying so – Please send as e-mail plain text (no attachments) • Today’s office hours immediately after class • No class on Thursday, but writeups are still due! 2 Outline What makes good application-led research? Picking research problems Computer Science issues in Ubiquitous Computing 3 Perspectives • “Applications are of course the whole point of ubiquitous computing” – Mark Weiser [Wei93] • “We need to increase the applications deployed to books written ratio in sensor networks” – Deborah Estrin [Personal Communications] • “In the future, increasing proportion of computer science research will be applicationdriven” – Eric Brewer and Mike Franklin [CS262A] 4 Defining Application-Led Research • Application-Led Research – Driven by domain problem – Evaluated by quantifying benefits brought to domain • Technology-Led Research – Not necessarily motivated by potential domain benefits – Interesting or challenging from a technical perspective • Research Goals Should (do you agree?) – Identify users’ problems and application requirements – Provide infrastructure developers with application requirements – Validate technology and provides insights into its use 5 Selecting Applications • Will this change the way people think? – If nothing changes after your research, what’s the point? • Must make an impact on computer science – Just impacting biology or civil engineering is not enough – Starting from scratch can make this more difficult or easier • If system building, what will you learn from it? – There must be an important question in there! • Identify and attack “severe and persistent problems” • Avoid trivial “proof-of-concept” research projects – Team up with domain experts when selecting problems – Make sure there’s a concept and it’s worth proving 6 Implementing Applications • To start from scratch or not? – Benefits? – Drawbacks? • Is building reusable infrastructure worth it? – Research community values novelty over good engineering – Research community doesn’t value implementation as research – Do you agree? • Reframe the question: What are your options? (Aside) – Your efforts can be directed structurally or strategically • Structural: change the community so that it values infrastructure • Strategic: pick the right topic, and your work will be broadly used (and well referenced) 7 Evaluating Applications • Small, lab-scale evaluations – Useful: in the early stages of design – Insufficient: impossible to understand the impact of • Environment on technology • Technology on environment • Often hard to teach these apart – hence “systems” research • Applications are evaluated only against themselves – Self-evaluation is insufficient – Requires applications, infrastructure, and data to be shared • Is this a good idea? • Is it done in other fields? 8 Recommendations • Choose applications carefully – Address severe persistent problems; avoid trivial ones • Share technical infrastructure – Design reusable SW/HW; publicly release code • Evaluate applications in realistic environments – Only way to investigate interactions between tech/env/users – “The real world is it’s own best model” – Rodney Brooks • Perform comparative evaluations – Release data sets from field trials; allows other to analyze 9 Outline What makes good application-led research? Picking research problems Computer Science issues in Ubiquitous Computing 10 Allen Newell’s Research Style • Good science responds to real problems • Good science is in the details • Good science makes a difference 11 Good science responds to real problems • Don’t pick fantasy problems • Don’t pick trivial “proof-of-concept” problems • Too many real pressing real-world problems! • Pick “severe and pressing” problems 12 Good science is in the details • Takes the form of a working model – The artifact is about understanding, not building – Must build when analysis is too complex – Brooks’ quote: “The real world is its own best model” • Includes detailed analysis or implemented models – Allows others to benefit from work at an abstract level – Enables comparisons between difference approaches 13 Good science makes a difference • Measures of contribution: – How it solves a real problem – How it shapes the work of other • Solves a real problem – The problem sets the crucial context for the work – A million ideas to pursue, but which ones are worth doing? • Shapes the work of others – Highest goal: change other people’s thinking – Paradigm changes are the most impactful [Kuhn] 14 Outline What makes good application-led research? Picking research problems Computer Science issues in Ubiquitous Computing 15 Mark Weiser’s Vision • Who is Mark Weiser? – Michigan alumnus: MA(‘77), PhD (’79) – Father of ubiquitous computing – Work is incredibly influential • What are the principles of ubiquitous computing? – The purpose of a computer is to help you do something else. – The best computer is a quiet, invisible servant. – The more you can do by intuition the smarter you are; the computer should extend your unconscious. – Technology should create calm. 16 Are We There Yet? • Hundreds of Tabs? • Tens of Pads? • One or two Boards? 17 Did Their Work Have Impact? • Yes! Due to emphasis on computer science issues: “The fruitfulness of ubiquitous computing for new computer science problems justified our belief in the…framework” • Issues like – Hardware components • Low power (P=C*V^2*f gives lots of degrees of freedom) • Wireless (custom radios (SS/FSK/EM-NF bits/sec/meter^3 metric) • Pens (how do you write on walls?) – Network Protocols • • • • Wireless media access (MACA: RTS/CTS) Gigabit networks (lot’s of little devices create a lot of traffic) Real-time protocols (IP telephony) Mobile communications 18 Next Time • Today’s office hours immediately after class • Readings for Thursday – [ECPS02] “Connecting the Physical World with Pervasive Networks” – [AABB07] “Mobiscopes for Human Spaces” • No class on Thursday, but summaries still due 19 Connecting the Physical World with Pervasive Networks Deborah Estrin, David Culler, Kris Pister, Gaurav Sukhatme 20 Goals • Goal: to measure the physical world – – – – Across large spaces Over long periods of time Using multiple sensing modalities In remote, and largely inaccessible locations “The physical world is a partially observable, dynamic system, and the sensors and actuators are physical devices with inherent accuracy and precision limits.” 21 Challenges • Immense scale of distributed systems elements – Vast numbers of devices – Fidelity • Limited physical access – – – – Embedded in the environment Remote, expensive, or difficult to access Wireless communications Energy harvesting or very moderated energy consumption • Extreme dynamics – Temperature, humidity, pressure, grass height, … – Passive vigilance to a flurry of activity in seconds 22 Challenge: Immense Scale NEST FE: 557 Trio Nodes, Self-powered, selfmaintaining, GPS ground truth, multiple subsets 23 Challenge: Limited Physical Access Redwoods Top endcap O-rings Cylindrical enclosure Protective skirt Bottom endcap Top sensing surface: incident PAR and TSR Battery Mica2Dot Bottom sensing surface: temperature, humidity, barometric pressure, reflected PAR & TSR to appear Sensys 05 24 Challenge: Extreme Dynamics ExScal • Border Control – Detect border crossing – Classify target types and counts • Convoy Protection – Detect roadside movement – Classify behavior as anomalous – Track dismount movements off-road • Pipeline Protection – Detect trespassing – Classify target types and counts – Track movement in restricted area 25