Title: Mobile Computing PSV3 2001 Fall Uppsala University Dept. Informaation Science Kenji Taguchi
1Mobile Computing(PSV3)2001 FallUppsala
UniversityDept. Informaation ScienceKenji
Taguchi
2Introduction (1)
- Name Kenji Taguchi
- Birth Tokyo, Japan
- Research Interests in General
- Formal Methods,
- Formal Theory on Mobile Computation
- More info on myself
- http//www.dis.uu.se/kenjit/
- Kenji.Taguchi_at_dis.uu.se
3Introduction (2)
- In Industry 12 years
- Research Institute for Artificial Intelligence
- Implementations of expert systems and their
shells (mainly in charge of the design and
implementation of inference engine) - Consulting firm
- Feasibility studies on AI systems (various expert
systems such as scheduling, process control and
autonomous intelligent robot, etc) - Software Company
- Research and Development of AI systems (machine
learning, rule compiler), program synthesis and
transformation and formal methods - In Academia 5th year (full-time)
4Goal of the course
- To study
- a new programming paradigm,
- its underlying notions,
- programming models and styles
- for mobile agents and web programming
5The topics which are not dealt with in this course
- AI related issues
- problem solving by intelligent agents
- agent interactions
- Mobile phones
- hardware devices
- protocols
6Course Structure
- Lectures
- Introductory explanation on topics
- Seminars
- Readings and discussions
- Lab works
- programming
7Background knowledge (1)
- There are no well-established theories, models
and programming languages for world-wide
computing systems and mobile agents systems. - Neither real-world applications nor de facto
standards whatsoever. - I should remind you that this course is very
experimental. - So you must read some recent articles written by
leading researchers - and use very experimental programming languages
8Background knowledge (2)
- Some formal theories exist
- For instance,
- Ambient calculus (L. Cardelli and A. Gordon)
- Are they well-establised theories? No. But this
will be answered in future (maybe in the next 10
years). - Those are highly theoretical, so we wont study
them in this course.
9Why should we study this course?
- Maybe this form of computation will prevail the
world in near future! - Some Future Prospect
- Mobile Phones Java mobile (web) agents
- would provide various intelligent web-based
assistances for - travel booking,
- information retrieval,
- etc.,
10Course Pre-requisites
- We will use Aglets (Java API) for lab. work.
- Knowledge on Java is essential
- If you are an expert on Java programming, you are
perfectly fitted in this course! - Knowledge on programming environment is also a
must - Unix, emacs, shells, etc.,
- Knowledge on HTML is also required
11Seminars (1)
- World Wide Computing
- L. Cardelli,
- Wide Area Computation,
- ICALP99 LNCS1644, Springer, 99, pp10-24
- Mobile agents
- J. White,
- Mobile Agents White Paper,
- General Magic, 1996
12Seminars (2)
- Web Computing
- L. Cardelli, R. Davies,
- Service Combinators for Web Computing,
- IEEE Transactions on Software Engineering, Vol
25, No 3, 1999, pp309-306 - Web Language
- T. Kistler, H. Marais,
- WebL - A Programming Language for the Web
- SRC Technical Note
13Lab Works
- You will study
- Aglets (Java API) for programming mobile agents
systems - Web Language for programming web
- You are divided into groups (2 to 3 members)
- Small assignments must be completed by each group
14Grading
- Lab. work (compulsory)
- Anyone who does not participate in lab. work will
automatically fail - Participation of seminars
- Final Exams
15What is mobile computing?
- Everyday life, mobile computing appears in many
forms - mobile phones,
- personal digital assistants (PDA),
- personal computers.
- Those are mainly hardware devices (supported by
software system).
16Whats out there?
- Web
- So dominant.
- e-commerce
- Web-based world wide commerce
- Information Retrieval
- search information on the web
17Wish lists (1)
- I want to carry my PC to everywhere I go. Once
it is plugged into a remote network, I would like
to use the PC as well as all environments
(applications, data, etc) which are provided by
servers in the original network.
18Wish lists (1-1)
Firewall
NetworkB
networkA
Server
Server
PC
PC
19Wish lists (1-2)
- Current technology
- How to connect a PC to another network
- DHCP (Dynamic Host Configuration Protocol)
- How to use applications and data on a remote
server - Remote rogin, file transfer
20Wish lists (2)
- I want my program to find infomation
automatically which I am looking for on the web.
21Wish lists (2-1)
World Wide Web
Lycos
PC
Yahoo
Web Browser
Search Engines
22Wish lists (2-2)
World Wide Web
Yahoo
Search Engines
robots
23Wish lists (2-3)
- Current technology
- Robots (Crawlers) on the web
- a program that automatically traverses the Webs
hypertext structure by retrieving a document and
recursively retrieving all documents that are
referenced. - not for a personal use
- this is for search engines such as Yahoo and
Lycos, etc. - Perhaps, a program which mimics manual operations
of the web browser will serve as a personal
search engine.
24Some history of Computer Science
- What were there before the Web?
- Network (remote) programming
- Socket
- Remote Procedural Call (RPC)
25History of remote programming (network
programming) (1)
- Communication between processes
- Socket
processB
processA
Local Kernel (OS)
Remote Kernel (OS)
26History of remote programming (network
programming) (2)
- RPC (Remote Procedural Calls)
Client function
Server function
Local Kernel (OS)
Remote Kernel (OS)
27Remote programming to Mobile computing
- Mobile computing is usually discussed at more
abstract level
28Layers of Mobile Computing
Development Methods
29Metaphors in computing
- Object-Orientation
- Everything is an object. Interactions between
them are achieved by message passing. - Mobile agents
- An agent (program) will travel around the network
to accomplish a task
30Evolution of mobility
- Mobile codes
- Mobile threads
- Mobile processes
- Mobile (Migratory) applications
31Mobile codes (1)
Remote Computer
E.g., Down-loading mechanism of Java
Local Computer
Remark Java cannot send a code to a remote host.
32Mobile codes (2)
Remote Computer C
Remote Computer B
Remote Computer A
Remote Computer D
Local Computer
Remark Codes can move around the network.
33Mobile Threads
34Mobile Processes
35Mobile Applications
application
Remote Computer B
Remote Computer A
application
Remote Computer C
application
An application itself roams around the network
36Computational models and programming languages
- Computational models
- Canonical form of computation
- The lambda calculus,
- Abstract Machines (Turing machine,etc)
- Logic,
- Process Algebras (CCS, CSP, the pi calculus),
Mobile Calculi (Ambients, etc) - Programming languages
- How to program computers
- consists of
- data structures
- control structures
- loop, if then else, while
- other primitive constructs
- parallel
37Computational models vs Programming Languages
- The lambda calculus Functional
Programming Languages - Standard ML, Lisp, etc.,
- Logic Logic Programming Languages
- Prolog
- The pi calculus Process-oriented Programming
Languages - PICT
38To Do List for Today
- Please purchase a collection of articles at the
Student Office (Expedition), - Please send me an e-mail about your group. The
group must consists of 2 to 3 members, - Read an article Wide Area Computation carefully
and prepare for the discussion until the next
seminar, - Check out whether you have an account in the
computer lab.