agents on handheld devices - yonsei
TRANSCRIPT
1 Agents on Handheld Devices
Agents on Handheld DevicesSoftware Agent Technology – 05.04.2004
Mikko Laukkanen
TeliaSonera Finland
Agents on Handheld Devices2
General Introduction
• The agents are on their way to mobile devices
• Points to be considered– Limitations of the handheld device (both hardware and software)– The (nomadic) environment (wireless networks, new parameters, such
as location-awareness)
• Application areas– Nomadic environments stimulate application areas for agents residing
on the mobile device
• What about the role of FIPA…?
Agents on Handheld Devices3
Some Personal Views...
Many definitions for an agent in the literature...
...So yet another definition is quite useless!
• Agent-like applications or agents?- Instead of talking about agents let’s talk about software that
includes agent-like features- Reactive, proactive, autonomous, collaborative, ...
• What about agents versus objects?- Software paradigm differencies- Communication differencies- Agents can be built of objects...
Agents on Handheld Devices4
About this Presentation
• Four main parts
– Nomadic environments
– Mobile devices
– Agents and agent platforms in nomadic environments
– Examples of agent platforms and agent systems
Agents on Handheld Devices5
Nomadic Environments
Agents on Handheld Devices6
From Stationary Environments...
Agents on Handheld Devices7
... To Nomadic Environments...
Agents on Handheld Devices8
... And Ad-Hoc Environments
Agents on Handheld Devices9
Where Are We Today...
• (Most of the) mobile terminals are still quite limited
• Only a few access networks
• Terminals capable of supporting only a single connection at a time
• Only a few services
• Many things are done by hand
Agents on Handheld Devices10
...And What Will the Future Be Like?
• Many different mobile terminals– Varying capabilities in terms of resolution, screen size, input methods,
processing power, connectivity
– Smart phones, PDAs, tablet computers, laptops, desktops, …
• Multiple (overlapping) access networks– GSM, HSCSD, GPRS, EDGE, UMTS, Bluetooth, WLAN, ...
• 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, …
Agents on Handheld Devices11
Challenges in the Future’s 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
Agents on Handheld Devices12
Mobile Devices
Agents on Handheld Devices13
What are Mobile Devices?
• Pocket-sized, network connectivity, and API
• Current ”battle” in mobile device market: – Microsoft against others...– 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
Agents on Handheld Devices14
Mobile Device Categorization
Operating System ProgrammingEnvironment
PocketPCPocketPC
PalmOSPalmOS
SymbianSymbian
MS .NETMS .NET
J2MEJ2ME
J2SEJ2SE
NativeNativeLinuxLinux
ProgrammingLanguage
JavaJava
C#C#
J#J#
C/C++C/C++
Agents on Handheld Devices15
Java 2 Standard and Micro Edition
Agents on Handheld Devices16
Symbian
• J2ME Midlets and C++ native applications
Nokia EricssonSeries 40 Series 60 UIQ
9210i 7650 3650 P800/P900
Agents on Handheld Devices17
PalmOS
• J2ME Midlets
Palm m515 Handspring Treo Kyocera
Agents on Handheld Devices18
Linux
• J2SE, J2ME, Native applications
Compaq iPAQ Sharp Zaurus
Agents on Handheld Devices19
Microsoft .NET Compact Framework
codeweb pages
.NET Framework.NET Framework
ASP.NETASP.NET
Visual Studio.NETVisual Studio.NET
.NET CompactFramework
.NET CompactFramework
Agents on Handheld Devices20
PocketPC
• Microsoft Windows-powered devices
• .NET Compact Framework available on PocketPC and PocketPC Phone Edition
PocketPC PocketPC Phone Edition Smartphone
Agents on Handheld Devices21
Limitations 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 devicesincrease, the ”resource gap” between mobile and stationary devices will always be there
Agents on Handheld Devices22
Agents and Agent Platforms in Nomadic Environments and Mobile
Terminals
Agents on Handheld Devices23
Why 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 descriptions and service discovery– Directory services (Directory Facilitator, DF, in FIPA terminology)
Agents on Handheld Devices24
Possible 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!
• Issues to consider:– The “killer-application” still to come (if even ever comes...)– However, what is not possible today, maybe possible tomorrow– Agents in ad-hoc environments – interesting possibilities?– Agent-term should not be over-stressed in applications
Agents on Handheld Devices25
Example 1: Personal User Agent
• Runs on user’s 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
• Issues to consider– Privacy (user profile and preference information)– Acceptance and trust– Security
Agents on Handheld Devices26
Example 2: 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...
Agents on Handheld Devices27
Example 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– Cooperation – ask for help from other agents or help other
agents, if needed
• Based on the QoS information the agents control the content adaptation process
Agents on Handheld Devices28
Reality 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!
Agents on Handheld Devices29
Example Agent Platforms
Agents on Handheld Devices30
MicroFIPA-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
Agents on Handheld Devices31
Supported 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
Agents on Handheld Devices32
MicroFIPA-OS Architecture
Agent
Task-layer
Conversation-layer
Messaging-layer
Multiplexer
HTTP Proprietary
Threadpool
Respool
Agents on Handheld Devices33
MicroFIPA-OS Partial Mode
• Agent platform on the mobile device may be either complete or a part of another platform
Fixed networkWireless network
ServiceAgents
FIPA-compliant Transport
Server-side
FIPA-compliant Transport
TerminalAgents
MicroFIPA-OS Agent Platform
Mobile device
FIPA-OS Agent Platform
Agents on Handheld Devices34
MicroFIPA-OS Partial Mode
• Agent platform on the mobile device may be either complete or a part of another platform
ServiceAgents
FIPA-compliant Transport
Server-side
FIPA-compliant Transport
TerminalAgents
MicroFIPA-OS Agent Platform
Mobile device
Fixed networkWireless network
Internal Transport FIPA-compliantTransport
FIPA-OS Agent Platform
Fixed network part
Internal Transport
TerminalAgents
MicroFIPA-OS Agent Platform
Mobile deviceServiceAgents
FIPA-compliant Transport
Server-side
FIPA-OS Agent Platform
FIPA-OS Agent Platform
Agents on Handheld Devices35
JADE-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
Agents on Handheld Devices36
JADE-LEAP and MicroFIPA-OS, comparison
• Outcome of LEAP
• Based on JADE
• Different profiles
• Supports large variety of devices
• Main container + zero to many other containers
• Outcome of CRUMPET• Based on FIPA-OS• Lightweight components• Targeted mainly at Compaq
iPAQ handheld computers• Partial-mode: from full
platform to Access Node + partial client
Differences between JADE-LEAP and MicroFIPA-OS
originate from the goals of the projects they are
developed within
JADE-LEAP MicroFIPA-OS
Agents on Handheld Devices37
Which 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– If Java-phones are to be supported, JADE-LEAP is the only
option
• JADE-LEAP has a larger (and active) community behind it
• MicroFIPA-OS nor FIPA-OS are not developed anymore, and finding support for them may be hard...
Agents on Handheld Devices38
Example Agent Systems
Agents on Handheld Devices39
The 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
Agents on Handheld Devices40
The CRUMPET Architecture
Agents on Handheld Devices41
CRUMPET Workpackages
• WP0 (Management)– QMUL
• WP1 (Services)– Fraunhofer FIT, EML, Emorphia
• WP2 (MicroFIPA-OS)– University of Helsinki, Sonera
• WP3 (Nomadic Application Support)– Sonera
• WP4 (Trials)– Portugal Telecom, Fraunhofer FIT, EML, Sonera
Agents on Handheld Devices42
WP3, Nomadic Application Support
Agents on Handheld Devices43
WP3, Nomadic Application Support, cont’d
Agents on Handheld Devices44
The Control and Monitor Agents
11%
• 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
Agents on Handheld Devices45
The User Agent – Showing the Content Based on Device
• The more capable device, the more features the user interface can have
• The User Agent takes care of identifying the output device, translating this information into agent communication language, and providing this information to other agents
• Manages user profiles
Agents on Handheld Devices46
Device Independence - Example
55 %
Agents on Handheld Devices47
The 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
Agents on Handheld Devices48
CRUMPET Services
User modeling, localized services
Sights, hotels, restaurants, ...
Location-based services
Agents on Handheld Devices49
The 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
Agents on Handheld Devices50
Discussion and Future Visions
Agents on Handheld Devices51
Discussion
• Agent(s) or agent platform on handheld?– 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 handheld?– Depends on the application area
• Would an interface to an agent be enough?– On really low-end device this may be the only option
Agents on Handheld Devices52
Discussion, cont’d
• The ”killer-application” for agents in mobile devices?
• Agents and Web Services• Agents and Semantic Web
Agents and Semantic Web Services?
Agents on Handheld Devices53
Future Visions
• Mobile devices– More powerful devices– Mobile phones and PDA devices will converge
• Service environment and content– Ambient computing– Grid computing
• 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...?
Agents on Handheld Devices54
Conclusions
• 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 still quite immature– MicroFIPA-OS and JADE-LEAP
• To date, only a few projects about agents on mobile devices– CRUMPET and LEAP
Agents on Handheld Devices55
References
• 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.
Agents on Handheld Devices56
References, cont’d
• 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 (ISA’02), pages 99–104, Cancun, Mexico, May 2002.
• Mikko Laukkanen, Heikki Helin and Heimo Laamanen. Tourists on the Move. In Matthias Klusch and SaschaOssowski 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)
Agents on Handheld Devices57
URLs for Further Information
• FIPA-OS - http://fipa-os.sf.net
• MicroFIPA-OS - http://www.cs.Helsinki.FI/group/crumpet/mfos/
• CRUMPET project - http://www.ist-crumpet.org
• JADE - http://sharon.cselt.it/projects/jade/
• JADE-LEAP and LEAP project - http://leap.crm-paris.com/
• FIPA - http://www.fipa.org
• My related publications – http://www.cs.helsinki.fi/u/mtlaukka/publications
Agents on Handheld Devices58
Thank you!
Question & Comments?