Agents on Mobile Devices :December 2, 2008 Mikko Laukkanen
Mikko.Laukkanen@teliasonera.com Agents on Mobile Devices
General introduction :December 2, 2008 2 General 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
About this presentation :December 2, 2008 3 About 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
Slide 4:December 2, 2008 4 Nomadic Environments
From stationary environments... :December 2, 2008 5 From stationary environments...
... To nomadic environments... :December 2, 2008 6 ... To nomadic environments...
... And peer-to-peer (ad-hoc) environments :December 2, 2008 7 ... And peer-to-peer (ad-hoc) environments
Where are we today... :December 2, 2008 8 Where 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...
...And what will (or should?) the future be like? :December 2, 2008 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, …
Challenges in the nomadic environments :December 2, 2008 10 Challenges 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!
Slide 11:December 2, 2008 11 Mobile Devices
What are actually mobile devices? :December 2, 2008 12 What 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
Limitations of the mobile devices :December 2, 2008 13 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 devices increase, the ”resource gap” between mobile and stationary devices will always be there
Mobile device categorization :December 2, 2008 14 Mobile device categorization Operating System ProgrammingEnvironment PocketPC Palm OS Symbian OS MS .NET J2ME J2SE Native Linux ProgrammingLanguage Java C# J# C/C++
Java 2 standard and micro edition :December 2, 2008 15 Java 2 standard and micro edition
Microsoft .NET compact framework :December 2, 2008 16 Microsoft .NET compact framework code web pages .NET Framework ASP.NET Visual Studio.NET .NET CompactFramework
Symbian OS :December 2, 2008 17 Symbian OS J2ME Midlets and C++ native applications
Examples: Nokia Ericsson
Series 40 Series 60 Series 80 UIQ
6290 6680 9500 P990i
Palm OS :December 2, 2008 18 Palm OS Palm m515 Handspring Treo Kyocera J2ME Midlets
Examples:
Linux :December 2, 2008 19 Linux J2SE, J2ME, native applications
Examples: HP iPAQ Sharp Zaurus
PocketPC (Windows Mobile) :December 2, 2008 20 PocketPC (Windows Mobile) Microsoft Windows-powered devices
.NET Compact Framework available on PocketPC and PocketPC Phone Edition PocketPC PocketPC Phone Edition Smartphone
Slide 21:December 2, 2008 21 Agents and Agent Platforms in Nomadic Environments and Mobile Devices
Why agents in mobile devices and nomadic environments? :December 2, 2008 22 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 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
Possible application areas :December 2, 2008 23 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!
Example 1: personal user agent :December 2, 2008 24 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
Example 2: peer-to-peer (ad-hoc) environments :December 2, 2008 25 Example 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...
Example 3: multiagent system as an adaptive middleware? :December 2, 2008 26 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
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
Reality check.... :December 2, 2008 27 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!
Slide 28:December 2, 2008 28 Example Agent Platforms
MicroFIPA-OS agent platform :December 2, 2008 29 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
Supported devices :December 2, 2008 30 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
MicroFIPA-OS partial mode :December 2, 2008 31 MicroFIPA-OS partial mode Agent platform on the mobile device may be either complete or a part of another platform Service
Agents FIPA-compliant transport Server-side FIPA-compliant transport Terminal
Agents MicroFIPA-OS Agent Platform Mobile device Fixed network Wireless network FIPA-OS Agent Platform
MicroFIPA-OS partial mode :December 2, 2008 32 MicroFIPA-OS partial mode Agent platform on the mobile device may be either complete or a part of another platform Service
Agents FIPA-compliant transport Server-side FIPA-compliant Transport Terminal
Agents MicroFIPA-OS Agent Platform Mobile device Fixed network Wireless network Internal transport FIPA-compliant
transport FIPA-OS Agent Platform Fixed network part Internal transport Terminal
Agents MicroFIPA-OS Agent Platform Mobile device Service
Agents FIPA-compliant transport Server-side FIPA-OS Agent Platform FIPA-OS Agent Platform
JADE-LEAP agent platform :December 2, 2008 33 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
CASCOM agent platform :December 2, 2008 34 CASCOM 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 -> MIDP ”Stand-alone” version of JADE/LEAP JADE/LEAP split container model CASCOM model
CASCOM agent platform :December 2, 2008 35 CASCOM agent platform HTTP as transport protocol
Based on JADE’s HTTP implementation
Changes needed for MIDP implementation
Bit-efficient message envelope
Based on existing implementation
Bit-efficient ACL
Based on existing implementation
Which one to choose then...? :December 2, 2008 36 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 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)
Slide 37:December 2, 2008 37 Example Agent Systems and Projects
The CRUMPET project :December 2, 2008 38 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
The CRUMPET architecture :December 2, 2008 39 The CRUMPET architecture
Nomadic application support :December 2, 2008 40 Nomadic application support
The Control and Monitor agents :December 2, 2008 41 The 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
User agent and content adaptation - Example :December 2, 2008 42 User agent and content adaptation - Example
The Content Adaptation Agent :December 2, 2008 43 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
CRUMPET services :December 2, 2008 44 CRUMPET services User modeling, localized services Sights, hotels, restaurants, ... Location-based services
The LEAP project :December 2, 2008 45 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
The CASCOM project :December 2, 2008 46 The CASCOM project 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. Main objective Driving vision 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 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.
The CASCOM project – general approach :December 2, 2008 47 The CASCOM project – general approach Seamless mobility P2P Technologies Semantics + Agents
Slide 48:December 2, 2008 48 Standardization Work
FIPA IEEE Standards Committee :December 2, 2008 49 FIPA 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)
P2P Nomadic Agents Working Group (P2PNA WG) :December 2, 2008 50 P2P 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
Eearlier relevant FIPA specifications :December 2, 2008 51 Eearlier 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
Slide 52:December 2, 2008 52 Discussion and Future Visions
Discussion :December 2, 2008 53 Discussion 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!
Discussion, cont’d :December 2, 2008 54 Discussion, cont’d 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?
Future visions :December 2, 2008 55 Future 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...?
Conclusions :December 2, 2008 56 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 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
References :December 2, 2008 57 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.
References, cont’d :December 2, 2008 58 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 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)
URLs for Further Information :December 2, 2008 59 URLs for Further Information FIPA-OS and MicroFIPA-OS - http://fipa-os.sourceforge.net/index.htm
CRUMPET project - http://www.elec.qmul.ac.uk/crumpet/
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
Slide 60:December 2, 2008 60 Thank You!
Questions / Comments ?