Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
490dp Introduction Robert Grimm The Computer for the 21st Century “The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.” Mark Weiser Pervasive Computing • Vision: Shift in focus to users and their tasks – Embodied virtuality • Enabled by ubiquitous smart devices – Tabs, pads, boards • Required technology – Cheap, low-power computers – Software for ubiquitous applications – Network to tie them all together Our Focus • We assume – Computers – Network • We build applications Attending a Meeting • Shared repository – Exchange notes etc. during the meeting – Capture audio and video – Provide archive after meeting • Functionality highlights – List of participants based on their devices – Newly added documents sent to repository – Archive distributed to participants Attending a Meeting • Technical issues – Location of repository • One location vs. replicated locations • In infrastructure vs. on participants’ devices – Routing of documents • To repository • To all participants Attending a Meeting • Change in focus – During the meeting, functionality counts – After meeting, the artifact counts 490dp – Goals and Objectives • Design, build, and evaluate distributed / pervasive applications – Build a working application – Gain experience with complex systems – Work together in groups – Communicate clearly – Consistently work towards a goal How to get there • Two teams – One application per team – Two sub-teams per team • One implementation per sub-team –Java, RMI, Jini, JavaSpaces, T Spaces, JDBC –one.world How to get there • Seven lectures – Jump-start application building process • Design report and presentation – Your plan • Weekly meetings – Your status updates – Q&A • Final report and presentation – Your results Lectures • Challenges – Why is it so hard to build distributed or pervasive applications? • Java object serialization – How to turn objects into bytes • Tuples – How to represent, store, and communicate data Lectures • Synchronous vs. asynchronous invocation – How to get things done • Remote invocation – How to get things done on another node • Resource control – How to keep track of consumed resources • Check-pointing and migration – How to save and move entire applications Lectures • Required readings – You must read them before lecture – We will send out a summary one or two days before lecture • Background readings – Additional background or context • Reference readings – Useful for actually building applications Two Platforms • Java etc. – Established systems – Fully implemented – Loosely integrated – Lots of outside users • one.world – Research system – Incomplete, buggy – Highly integrated – Local experts • Common abstractions and services – Tuples – Events – Leases – Transactions – Discovery Qualitative Evaluation • What was easy / hard? • What worked / what didn’t work? • Why? – Help others learn from you Quantitative Evaluation • Time spent – Track from beginning – Break down by activity • Design, implementation, debugging, write-up • Code statistics – Source code • Total # of lines • Non-commenting source statements – Abstractions • # of methods; # of classes – Binaries Quantitative Evaluation • Performance – Basic operations – Scalability • Over users • Over nodes Rules of Engagement • Attendance mandatory • By team – Design, write-up • By sub-team – Implementation, debugging, demo • Help each other with – Set-up – Pointers to technical resources – General questions Resources • People – Robert Grimm, Eric Lemar, Adam Macbeth – Other students • Books – Oaks & Wong. Jini in a Nutshell. O’Reilly 2000. • Internet – java.sun.com – www.jini.org – one.cs.washington.edu This course is experimental! • You have a great opportunity – Use cutting edge system technologies – Build real pervasive applications • The ride will not always be smooth – We need your feedback early and often • You need to take initiative – Work through tutorials, specs on your own – Help each other Break Administrivia • Signup • Office hours – Monday, Wednesday, Friday – What times work for you? • Final Teams and Applications • Introductions • Discussion