Intelligent Delivery of Multimedia Content in a Device

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
Perception
Manager
Services
AFME comprises a number of system
components
– Perceptors, Actuators, Modules, Servies
Actuators

Modules
Affect
Manager
Perceptors
AGENT
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
TCP

Mailbox
Embedded
Platform
HTTP
Embedded
Platform
Mailbox
Embedded
Platform
Standard
Platform
Firewall
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
