230 likes | 373 Views
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. Overview of Presentation. Motivations Related Work J2ME Agent Factory
E N D
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
Overview of Presentation • Motivations • Related Work • J2ME • Agent Factory • Design of AFME • Agnostic Communication • Message Transport and Migration Services • Conclusions
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.
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.
Related Work • JADE-LEAP • Agent Middleware framework • MicroFIPA-OS • Embedded FIPA infrastructure • 3APL-M • Cognitive Agent Framework / Incorporates prolog engine
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
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.
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
Agent Factory • Cohesive Framework for the development of Multi-Agent Systems • Comprises four layers • Agent Programming language • Runtime environment • Integrated Development Environment • Development Methodology
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
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
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
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
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.
Agnostic Communication • AFME comprises a number of system components • Perceptors, Actuators, Modules, Servies
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
Message Transport Service • GPRS / G3 firewall • Intermittent polling / Tranparent from standard evironment • Two modes: synchronous an asynchronous
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
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.
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
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
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
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