490dp introduction robert grimm. the computer for the 21 st century “the most profound...

23
490dp Introduction Robert Grimm

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

490dpIntroduction

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 evaluatedistributed / 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