Download presentation
Presentation is loading. Please wait.
1
Agent Factory Micro Edition: A Framework for Ambient Applications C. Muldoon, G.M.P. O’ Hare, R.W. Collier, M.J. O’ Grady http://prism.ucd.ie School of Computer Science and Informatics, University College Dublin
2
Overview of Presentation Motivations Related Work J2ME Agent Factory Design of AFME Agnostic Communication Message Transport and Migration Services Conclusions
3
Motivations According to the W3C, there are now more mobile phones than desktop machines. The rate of growth in the mobile phone market is increasing faster than the desktop market, particularly in developing countries. The potential for deploying Java based agent frameworks is greater for the mobile market because most phones come with a J2ME JVM. Traditional Agent Platforms were develop for desktop environments.
4
Motivations There is a need for small footprint agent systems that address the memory and performance constraints of mobile devices. The BDI model of agency was specifically designed to facilitate the development of resource constrained agents. –Agents cannot achieve all of their desires. –They fix upon a subset known as their intentions The BDI model is sometimes criticised for being inefficient but this is often due to the algorithms used rather than a problem with the model itself.
5
Related Work JADE-LEAP –Agent Middleware framework MicroFIPA-OS –Embedded FIPA infrastructure 3APL-M –Cognitive Agent Framework / Incorporates prolog engine
6
AFME Technologies CLDC 1.0 / MIDP 1.0 Personal Digital Assistants (PDAs) –IBM J9 JVM –HP iPAQ H5450 / Bluetooth Enabled 2.5G / 3G Smart Phones –Nokia 3660 / 6230 / 6630 –Sony Ericsson P800 / P900 / P910
7
J2ME Java Platform divided into three editions –Enterprise Edition, Standard Edition and Mobile Edition One size fits all created problems –Limited capabilities for high end servers –Extraneous requirements for mobile devices J2ME comprises two configurations and a number of profiles. –CLDC / MIDP –CDC / Personal Profile Developers can now target specific markets but the write once run anywhere objective is not really feasible anymore, particularly with CLDC.
8
J2ME Differences between CLDC 1.0 / MIDP 1.0 and J2SE –May not have file system API –Different GUI package –No support for dynamic class loading or introspection –Different API for networking –No floating point numbers –Severely limited standard libraries; only about 80 classes –Different JVM specifications and application life cycle model
9
Agent Factory Cohesive Framework for the development of Multi-Agent Systems Comprises four layers –Agent Programming language –Runtime environment –Integrated Development Environment –Development Methodology
10
Agent Oriented Development Facilitates the direct programming of agents in a language whose semantics capture a theory of rational agency The Agent Factory Agent Programming Language is loosely based on Shoham’s AGENT0 Agents use the intentional stance from an internal perspective to reason about their environment and goals Based on a formalism of Belief and Commitment
11
Why AFME? Agent Factory was developed in J2SE and is heavily dependent on classes and APIs not present in CLDC/MIDP Different Application lifecycle model. Applications must be packaged as MIDlets Different compiler required The footprint of the framework had to be reduced for embedded systems
12
Design of AFME Design strongly influenced by the Law of Demeter –Specifies the coding guideline “Only talk to your immediate friends” –Dictates the communication structure with the system Popularised by Grady Booch and James Rumbaugh Following the law leads to good style for object oriented development Reduces the footprint of the software by minimising code duplication Simplifies the message passing structure within the system
13
Design of AFME AFME does not blindly follow the law but uses consistently to remove accessor methods Rather than asking an object for data to perform an operation ask the object to perform the operation itself. This results in hiding implementation details and protect data encapsulation
14
Problems with Accessors They expose an objects state Violate the precepts of Object-Oriented development Reduce the maintainability of the software and increase the entropy or movement of information within the system The developer should think declaratively rather than procedurally when developing objects Objects should be created in terms of their capabilities. The focus of design should be on the messages passed between objects.
15
Agnostic Communication AFME comprises a number of system components –Perceptors, Actuators, Modules, Servies
16
Agnostic Communication In the Standard framework these components contain direct references to each other AFME decouples these units Communication faciltated through First Order Structures Provides symbolic representation of information content –Differs from the notion of an interface. No types specified
17
Message Transport Service GPRS / G3 firewall Intermittent polling / Tranparent from standard evironment Two modes: synchronous an asynchronous
18
Migration Support for weak migration Strong migration not possible due to limitations of the JVM specification. –Java prevents a developer gaining access to processor specific information to facilitate platform independent development. –Classes must be pre-verified therefore cannot use dynamic class loading
19
Uses of Migration Bandwidth –Sometimes it is better to send the computation to the data rather than the data to the computation –This will be the case if the result set of a query is greater than the size of the agent In mobile computing devices the user will not always be connected to a network. Mobile agents are more adaptive than static agents –If something is going wrong at one location, they can move to a different location and continue processing.
20
Migration Migration Server –Required because of service provider firewall Mutation –Different agent design for interacting with FIPA yellow and white page services –Agent maintains beliefs about where platform specific commitment rule may be obtained –Destination platform specifies its type. The migration process is transparent from the source perspective Agents not coupled to services or modules
21
AFME Mental State Debugger Enables the direct debugging of the agent’s mental state Provides functionality to step through the reasoning process Similar functionality to the desktop debugger but customised for MIDP
22
Conclusions Developed a framework for the construction of intentional agents for mobile devices Improved the efficiency of the control algorithm. Used the law of demeter to avoid accessor methods and to improve the coding style. Improved the maintainability of the software Reduced the footprint of the system With a Jar size of 85k probably the smallest FIPA compliant agent platform in the world
23
And Finally More Information can be obtained at http://prism.ucd.ie AFME is an open source project Agent Factory / AFME may be downloaded from http://agentfactory.sourceforge.net
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.