Title: Mikko Laukkanen
1Agents on Mobile Devices
- Mikko Laukkanen
- Mikko.Laukkanen_at_teliasonera.com
2General introduction
- The agents are on their way to mobile devices
- Points to be considered
- Limitations of the mobile device (both hardware
and software) - The (nomadic) environment (wireless networks, new
parameters, such as context awareness) - Application areas
- Nomadic environments stimulate application areas
for agents residing on the mobile device
3About this presentation
- Five main parts or perspectives
- Nomadic environments
- Characteristics, challenges
- Mobile devices
- Characteristics, operating systems, programming
environments - Agents and agent platforms in nomadic
environments - Challenges, use cases
- Examples of agent platforms and agent systems
- MicroFIPA-OS, JADE-LEAP, CASCOM platform
- Standardization work on the area
4 5From stationary environments...
6... To nomadic environments...
7... And peer-to-peer (ad-hoc) environments
8Where are we today...
- Mobile devices used in nomadic environments are
still quite limited - Only a few access networks available
- Only a few services available (especially aimed
to be used in nomadic environments) - Many things are done by hand...
9...And what will (or should?) the future be like?
- Many different mobile devices
- Varying capabilities in terms of resolution,
screen size, input methods, processing power,
connectivity (this is already happening) - Smart phones, PDAs, tablet computers, laptops,
desktops, - Multiple (overlapping) access networks
- GSM, HSCSD, GPRS, EDGE, UTMS, Bluetooth, WLAN,
... (this is also already happening) - High number of services available for nomadic
users - Services and the availability of services will
depend on the state of the environment - More parameters affecting the availability of the
just-on-time services than in the stationary
environments - QoS of the data communication, positioning, time,
user interests,
10Challenges in the nomadic environments
- Nomadic environments enable new ways to access
services ? anywhere, at any time, and using any
device - Challenges that need to be addressed
- Varying QoS of the wireless networks
- Limitations of mobile devices
- Contextual variability (location, time, user
preferences, ...) - Adaptivity in the nomadic environment is the key
issue!
11 12What are actually mobile devices?
- Pocket-sized, network connectivity, and API for
programming - Current battle in mobile device market
- Microsoft (Windows Mobile) against others
(Symbian OS, Linux)... - PDA devices will include mobile phone
capabilities... - Mobile phones will include PDA-like
capabilities... - ? PDAPhone?
- Mobile devices for agents?
- Personal devices
- Wearable devices
- Embedded and consumer devices
13Limitations of the mobile devices
- Essential limitations
- Computing power
- Amount of memory and storage space
- Connectivity
- Battery life
- Other limitations
- Screen size and resolution
- Input/output
- The fact is that although the capabilities of the
mobile devices increase, the resource gap
between mobile and stationary devices will always
be there
14Mobile device categorization
ProgrammingLanguage
ProgrammingEnvironment
Operating System
C
J
PocketPC
MS .NET
Java
Palm OS
J2ME
C/C
J2SE
Symbian OS
Native
Linux
15Java 2 standard and micro edition
16Microsoft .NET compact framework
Visual Studio.NET
.NET Framework
code
web pages
ASP.NET
.NET CompactFramework
17Symbian OS
- J2ME Midlets and C native applications
- Examples
Nokia
Ericsson Series 40
Series 60 Series 80 UIQ
6290 6680
9500 P990i
18Palm OS
Palm m515 Handspring Treo
Kyocera
19Linux
- J2SE, J2ME, native applications
- Examples
HP iPAQ Sharp Zaurus
20PocketPC (Windows Mobile)
- Microsoft Windows-powered devices
- .NET Compact Framework available on PocketPC and
PocketPC Phone Edition
PocketPC PocketPC Phone Edition
Smartphone
21- Agents and Agent Platforms in Nomadic
Environments and Mobile Devices
22Why agents in mobile devices and nomadic
environments?
- Agents offer several features that could help
solving the problems faced in the nomadic
environments - Reactivity
- Proactivity
- Coordination
- Autonomy
- Service discovery, service composition, and
(automatic) service execution - Semantic service descriptions for agents to
consume - Directory services for agents to discover
services - Planning agents for composing services from the
available ones - Executor agents to run the composed services
23Possible application areas
- Traditional agent application may not be wise to
port on to handheld devices - Agents in nomadic environments
- Agents could be used in making both end-users
and applications life easier? - Controlling network connections, enabling
adaptation, ? - Agents in ad-hoc networking and service access
- In ad-hoc environment handheld devices may have
to cope on their own!
24Example 1 personal user agent
- Runs on users mobile device and helps user for
instance by - Monitoring the environment and informing about
interesting things - Filtering out irrelevant information from the
environment - Organizing information, such as email messages
and calendar appointments - Collaborating with other users User Agents
- Proactively preparing things for the user while
the device is connected to the network
25Example 2 peer-to-peer (ad-hoc) environments
- In ad-hoc environment we cannot rely on static
information about services! - Agents in ad-hoc environment have to dynamically
find each other and the (currently) available
services - Example scenario finding the quickest way to the
destination in a foreign place - The street network is not known
- No Internet access available
- Only ad-hoc networking possible
- Fortunately there are other agents available
providing help...
26Example 3 multiagent system as an adaptive
middleware?
- Agents on the mobile device (or in the wireless
network elements) and in the fixed network
collaborate to be able to know the network
quality of service of the wireless network - Software agent methodology provides attractive
features - Reactivity sense changes in wireless network
parameters - Autonomous decide what needs to be done and how
- Pro-activeness act (in advance) if needed
- Co-operation ask for help from other agents or
help other agents, if needed - Based on the QoS information the agents control
the content adaptation process
27Reality check....
- Using software agents is one way of doing this,
not necessarely the best in terms of
performance... - ...But the issue is if the software agents as a
methodology provides better tools for the
development of this kind of middleware!
28 29MicroFIPA-OS agent platform
- Scaled-down version of FIPA-OS agent platform
- Lightweight
- Complies with the API of FIPA-OS
- Targeted at medium to high-end mobile devices
capable of running PersonalJava or J2SE - FIPA-compliant HTTP and proprietary socket based
communication - Can be built as self-contained platform or as a
part of another platform - Developed by University of Helsinki within
CRUMPET project - Open-source
30Supported devices
- Target device is Compaq iPAQ H3630, but
- it runs on Java-enabled devices such as
- Cassiopeia E115
- Psion Series 5
- and many other devices
- MicroFIPA-OS is PersonalJava compatible
- PersonalJava is supported in the J2ME with the
Personal profile
31MicroFIPA-OS partial mode
- Agent platform on the mobile device may be either
complete or a part of another platform
Fixed network
Wireless network
Mobile device
Server-side
Terminal Agents
Service Agents
MicroFIPA-OS Agent Platform
FIPA-OS Agent Platform
FIPA-compliant transport
FIPA-compliant transport
32MicroFIPA-OS partial mode
- Agent platform on the mobile device may be either
complete or a part of another platform
Fixed network
Wireless network
Mobile device
Server-side
Terminal Agents
Service Agents
MicroFIPA-OS Agent Platform
FIPA-OS Agent Platform
FIPA-compliant transport
FIPA-compliant Transport
Mobile device
Terminal Agents
Server-side
Service Agents
Fixed network part
FIPA-OS Agent Platform
MicroFIPA-OS Agent Platform
FIPA-OS Agent Platform
Internal transport
FIPA-compliant transport
Internal transport
FIPA-compliant transport
33JADE-LEAP agent platform
- Extension to JADE (special container within JADE)
- Target devices
- Java MIDP-capable phones
- PDA devices
- Smallest available platform in terms of footprint
size - Proprietary device-initiated and socket based
communication channel with main container - Developed within LEAP project
- Open-source
34CASCOM agent platform
- Based on JADE/LEAP, but modified to meet the
requirements of peer-to-peer environments - Split containers replaced by full standalone
agent platforms suitable for mobile devices -gt
MIDP Stand-alone version of JADE/LEAP
JADE/LEAP split container model
CASCOM model
35CASCOM agent platform
- HTTP as transport protocol
- Based on JADEs HTTP implementation
- Changes needed for MIDP implementation
- Bit-efficient message envelope
- Based on existing implementation
- Bit-efficient ACL
- Based on existing implementation
36Which one to choose then...?
- Experience with JADE ? choose JADE-LEAP
- Experience with FIPA-OS ? choose MicroFIPA-OS
- No experience with either ? choose JADE-LEAP
(IMHO) - Depends on the target device and target
environment - If Java-phones are to be supported, JADE-LEAP is
the only option - If peer-to-peer environments are to be supported,
CASCOM platform is the only option - JADE-LEAP has largest community behind it and is
perhaps most actively developed - CASCOM platform is currently being developed,
first prototypes are ready (yet not in public)
37- Example Agent Systems and Projects
38The CRUMPET project
- Creation of User-friendly Mobile services
Personalised for Tourism - EU IST 5th framework project
- Partners QMUL, Emorphia, Nortel Networks, EML,
Fraunhofer FIT, PTIN, Sonera, University of
Helsinki - Two main objectives
- To implement, validate and trial context-aware
tourism-related value-added services for nomadic
users - To evaluate agent technology in terms of
user-acceptability, performance and best-practice
as a suitable approach for fast creation of
robust, scalable, seamlessly accessible nomadic
services
39The CRUMPET architecture
40Nomadic application support
41The Control and Monitor agents
- Provides information about QoS by monitoring
network connections - QoS can be acquired in two ways by requesting it
or subscribing to changes - Throughput, RTT,
- Enables roaming between different network
technologies - Manages connections both by request or
autonomously - Provides means for efficient agent messaging in
nomadic environments - Bit-efficient encoding of the agent messages
- Wireless message transport protocol
42User agent and content adaptation - Example
43The Content Adaptation Agent
- Device adaptation formats the content based on
the device capabilities - QoS adaptation is based on the network QoS and
user preferences - Adaptation process is separated in two phases,
because - Sometimes only device adaptation is possible
- It may not be possible to get the QoS for the
wireless link - Normal transcoding (web) proxy can be used in QoS
adaptation - Services should be allowed to format the content
by themselves, if they prefer doing so doing
device adaptation twice does not make sense
44CRUMPET services
User modeling, localized services
Sights, hotels, restaurants, ...
Location-based services
45The LEAP project
- Lightweight Extensible Agent Platform
- EU IST 5th framework project
- Partners Motorola, ADAC, Broadcom, BT, Telecom
Italia Lab, University of Parma, Siemens. - Addresses the need for open infrastructures and
services which support dynamic, mobile
enterprises - Knowledge management, decentralised work
co-ordination, and travel management
46The CASCOM project
Main objective
To develop, implement, validate, and trial of
agent-based service coordination infrastructure
for innovative Semantic Web service discovery,
composition, execution across mobile and fixed
P2P service networks.
Driving vision
Ubiquitous business application services are
flexibly coordinated and pervasively provided to
the mobile worker/user by intelligent agents in
dynamically changing contexts of open,
large-scale, and pervasive environments.
At the end of the project there will be a fully
functional proof-of-concept system showing how
business application services for mobile users
and workers can be developed using secure
agent-based intelligent P2P approach
47The CASCOM project general approach
Seamless mobility
Semantics Agents
P2P Technologies
48 49FIPA IEEE Standards Committee
- FIPA is an IEEE Computer Society standards
organization that promotes agent-based technology
and the interoperability of its standards with
other technologies - Currently four working groups (all quite relevant
for agents in mobile devices) - Agents and Web Services Interoperability Working
Group (AWSI WG) - Human-Agent Communications Working Group (HAC WG)
- Mobile Agents Working Group (MA WG)
- P2P Nomadic Agents Working Group (P2PNA WG)
- One study group
- Review of FIPA Specification Study Group (ROFS SG)
50P2P Nomadic Agents Working Group (P2PNA WG)
- Defines a specification for agents capable of
running on small or embedded devices, and to
support distributed implementation of
applications over a pure P2P network - Heavily influenced by the CASCOM project
- First draft specs should come out in these days
- Reference implementation of an agent platform
will come out in June 2006 - Whole working group will complete by the end of
2006
51Eearlier relevant FIPA specifications
- Standard specifications
- FIPA Nomadic Application Support Specification
- FIPA ACL Message Representation in Bit-Efficient
Specification - FIPA Agent Message Transport Envelope
Representation in Bit Efficient Specification - FIPA Device Ontology Specification
- FIPA Quality of Service Specification
- Experimental specifications
- FIPA Personal Assistant Specification
- FIPA Message Buffering Service Specification
- FIPA Agent Message Transport Protocol for WAP
Specification
52- Discussion and Future Visions
53Discussion
- Agent(s) or agent platform on a mobile device?
- Running platform requires resources, but should
not consume most of them - Agent execution brings in overhead
- Should we really run agents or just services?
- Why do we need agents on the mobile device?
- Depends on the application area
- Would an interface to an agent be enough?
- On really low-end device this may be the only
option!
54Discussion, contd
- The killer-application for agents in mobile
devices? - Agents and Web Services
- Agents and Semantic Web
- In the scope of CASCOM project
- Will be the topic of next lecture
Agents and Semantic Web Services?
55Future visions
- Mobile devices
- More powerful devices
- Mobile phones and PDA devices will converge
- Service environment and content
- Context-aware ambient computing
- Wireless networks
- More bandwidth
- Agents
- Mobile devices will run software, and
- Agents will be there, at least at a conceptual
level, maybe even as a integrated service...?
56Conclusions
- The move towards nomadic environments
- Implies a move from stationary to dynamic
environment, where the QoS of the wireless
network may change rapidly - New parameters to take into consideration
location, move, just-on-time-typed services, ... - Software agents or agent-like software will play
a role in managing and controlling mobile devices
in nomadic environments - Mobile devices are already now capable of hosting
agents and agent platforms, and in the future the
devices will get even more powerful - Tools and languages are maturing
- MicroFIPA-OS, JADE-LEAP, and CASCOM platforms
- To date, a few projects about agents on mobile
devices (but not too many...) - CRUMPET, LEAP, CASCOM
57References
- Heikki Helin, Heimo Laamanen, and Mikko
Laukkanen. Software Agent Framework for Nomadic
Computing. In Proceedings of the First Asian
International Mobile Computing Conference
(AMOC2000), pages 83-92, Penang, Malaysia,
November 2000. - Heikki Helin and Mikko Laukkanen. Towards
Efficient and Reliable Agent Communication in
Wireless Environments. In Matthias Klush and
Franco Zambonelli, editors, Cooperative
Information Agents V, Proceedings of the 5th
International Workshop (CIA-2001), number 2182 in
Lecture Notes in Artifical Intelligence, pages
258-263. Springer-Verlag Heidelberg, Germany,
September 2001. Â - Mikko Laukkanen, Sasu Tarkoma, and Jani Leinonen.
FIPA-OS Agent Platform for Small-Footprint
Devices. In John-Jules Meyer and Milind Tambe,
editors, Intelligent Agents VIII, Proceedings of
the Eighth International Workshop on Agent
Theories, Architectures, and Languages
(ATAL-2001), number 2333 in Lecture Notes in
Artificial Intelligence, pages 447-460.
Springer-Verlag Berlin, Germany, August 2001. - Mikko Laukkanen, Heikki Helin, and Heimo
Laamanen. Supporting Nomadic Agent-Based
Applications in the FIPA Agent Architecture. In
C. Castelfranchi and W. L. Johnson, editors,
Proceedings of the First International Joint
Conference on Autonomous Agents Multi-Agent
Systems (AAMAS 2002), Bologna, Italy. pages
1348-1355. ACM Press, New York, NY, USA, Jul.
2002. - Sasu Tarkoma and Mikko Laukkanen. Supporting
Software Agents on Small Devices. In C.
Castelfranchi and W. L. Johnson, editors,
Proceedings of the First International Joint
Conference on Autonomous Agents and Multi-Agent
Systems (AAMAS-2002), Bologna, Italy. pp.
565-566. ACM Press, New York, NY, USA, Jul. 2002.
Presented as Poster.
58References, contd
- Heikki Helin and Mikko Laukkanen. Efficient Agent
Communication in Slow Wireless Networks. In A.
Zemliak and N. E. Mastorakis, editors, Advances
in Information Science and Soft Computing,
Proceedings of the 2nd WSEAS International
Conference on Information Science and
Applications (ISA02), pages 99104, Cancun,
Mexico, May 2002. - Mikko Laukkanen, Heikki Helin and Heimo Laamanen.
Tourists on the Move. In Matthias Klusch and
Sascha Ossowski and Onn Shehory , editors,
Cooperative Information Agents VI, Proceedings of
the 6th International Workshop (CIA-2002), number
2446 in Lecture Notes in Artifical Intelligence,
pages 36-50, September 2002, Madrid, Spain.
Springer-Verlag Heidelberg, Germany. - Heikki Helin and Mikko Laukkanen. Performance
Analysis of Software Agent Communication in Slow
Wireless Networks. In Proceedings of the 11th
International Conference on Computer
Communications and Networks. Miami, Florida, USA,
Oct. 2002. - Federico Bergenti and Agostino Poggi. LEAP A
FIPA Platform for Handheld and Mobile Devices. In
John-Jules Meyer and Milind Tambe, editors,
Intelligent Agents VIII, Proceedings of the
Eighth International Workshop on Agent Theories,
Architectures, and Languages (ATAL-2001), number
2333 in Lecture Notes in Artificial Intelligence,
pages 436-446. Springer-Verlag Berlin, Germany,
August 2001. - Giovanni Adorni, Federico Bergenti, Agostino
Poggi, and Giovanni Rimassa Enabling FIPA Agents
on Small Devices. In Matthias Klush and Franco
Zambonelli, editors, Cooperative Information
Agents V, Proceedings of the 5th International
Workshop (CIA-2001), number 2182 in Lecture Notes
in Artifical Intelligence, pages 248-257.
Springer-Verlag Heidelberg, Germany, September
2001. - Federico Bergenti, Agostino Poggi, Bernard Burg,
and Giovanni Caire. Deploying FIPA-Compliant
Systems on Handheld Devices. IEEE Internet
Computing 5(4) 20-25 (2001)
59URLs for Further Information
- FIPA-OS and MicroFIPA-OS - http//fipa-os.sourcefo
rge.net/index.htm - CRUMPET project - http//www.elec.qmul.ac.uk/crump
et/ - JADE - http//jade.tilab.com/
- JADE-LEAP and LEAP project - http//leap.crm-paris
.com/ - CASCOM project http//www.ist-cascom.org/
- FIPA - http//www.fipa.org
- My related publications http//www.cs.helsinki.fi
/u/mtlaukka/publications
60- Thank You!
- Questions / Comments ?