Mobile Computing PSV3 2001 Fall Uppsala University Dept. Informaation Science Kenji Taguchi - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Mobile Computing PSV3 2001 Fall Uppsala University Dept. Informaation Science Kenji Taguchi

Description:

Research and Development of AI systems (machine learning, rule compiler) ... T. Kistler, H. Marais, 'WebL - A Programming Language for the Web' SRC Technical Note ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 39
Provided by: user62
Category:

less

Transcript and Presenter's Notes

Title: Mobile Computing PSV3 2001 Fall Uppsala University Dept. Informaation Science Kenji Taguchi


1
Mobile Computing(PSV3)2001 FallUppsala
UniversityDept. Informaation ScienceKenji
Taguchi
2
Introduction (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

3
Introduction (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)

4
Goal of the course
  • To study
  • a new programming paradigm,
  • its underlying notions,
  • programming models and styles
  • for mobile agents and web programming

5
The topics which are not dealt with in this course
  • AI related issues
  • problem solving by intelligent agents
  • agent interactions
  • Mobile phones
  • hardware devices
  • protocols

6
Course Structure
  • Lectures
  • Introductory explanation on topics
  • Seminars
  • Readings and discussions
  • Lab works
  • programming

7
Background 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

8
Background 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.

9
Why 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.,

10
Course 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

11
Seminars (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

12
Seminars (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

13
Lab 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

14
Grading
  • Lab. work (compulsory)
  • Anyone who does not participate in lab. work will
    automatically fail
  • Participation of seminars
  • Final Exams

15
What 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).

16
Whats out there?
  • Web
  • So dominant.
  • e-commerce
  • Web-based world wide commerce
  • Information Retrieval
  • search information on the web

17
Wish 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.

18
Wish lists (1-1)
Firewall
NetworkB
networkA
Server
Server
PC
PC
19
Wish 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

20
Wish lists (2)
  • I want my program to find infomation
    automatically which I am looking for on the web.

21
Wish lists (2-1)
World Wide Web
Lycos
PC
Yahoo
Web Browser
Search Engines
22
Wish lists (2-2)
World Wide Web
Yahoo
Search Engines
robots
23
Wish 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.

24
Some history of Computer Science
  • What were there before the Web?
  • Network (remote) programming
  • Socket
  • Remote Procedural Call (RPC)

25
History of remote programming (network
programming) (1)
  • Communication between processes
  • Socket

processB
processA
Local Kernel (OS)
Remote Kernel (OS)
26
History of remote programming (network
programming) (2)
  • RPC (Remote Procedural Calls)

Client function
Server function
Local Kernel (OS)
Remote Kernel (OS)
27
Remote programming to Mobile computing
  • Mobile computing is usually discussed at more
    abstract level

28
Layers of Mobile Computing
Development Methods
29
Metaphors 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

30
Evolution of mobility
  • Mobile codes
  • Mobile threads
  • Mobile processes
  • Mobile (Migratory) applications

31
Mobile codes (1)
Remote Computer
E.g., Down-loading mechanism of Java
Local Computer
Remark Java cannot send a code to a remote host.
32
Mobile codes (2)
Remote Computer C
Remote Computer B
Remote Computer A
Remote Computer D
Local Computer
Remark Codes can move around the network.
33
Mobile Threads
34
Mobile Processes
35
Mobile Applications
application
Remote Computer B
Remote Computer A
application
Remote Computer C
application
An application itself roams around the network
36
Computational 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

37
Computational 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

38
To 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.
Write a Comment
User Comments (0)
About PowerShow.com