Intelligent Delivery of Multimedia Content in a Device Aware ...

boorishadamantAI and Robotics

Oct 29, 2013 (3 years and 7 days ago)


Agent Factory Micro Edition: A
Framework for Ambient

C. Muldoon, G.M.P. O’ Hare, R.W. Collier, M.J. O’ Grady

School of Computer Science and Informatics,

University College Dublin

Overview of Presentation


Related Work


Agent Factory

Design of AFME

Agnostic Communication

Message Transport and Migration Services



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

Traditional Agent Platforms were develop for
desktop environments.


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 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


Agent Middleware framework


Embedded FIPA infrastructure


Cognitive Agent Framework / Incorporates
prolog engine

AFME Technologies

/ MIDP 1.0

Personal Digital Assistants (PDAs)


HP iPAQ H5450 / Bluetooth Enabled

2.5G / 3G Smart Phones

Nokia 3660 / 6230 / 6630

Sony Ericsson P800 / P900 / P910


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


CDC / Personal Profile

Developers can now target specific markets but the
write once run anywhere objective is not really
feasible anymore, particularly with CLDC.


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

Agents use the intentional stance from an
internal perspective to reason about their
environment and goals

Based on a formalism of Belief and


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

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

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

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

Provides symbolic representation of
information content

Differs from the notion of an interface. No types

Message Transport Service

GPRS / G3 firewall

Intermittent polling / Tranparent from standard

Two modes: synchronous an asynchronous


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

Classes must be pre
verified therefore
cannot use dynamic class loading

Uses of Migration


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 Server

Required because of service provider firewall


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

Similar functionality to the
desktop debugger but
customised for MIDP


Developed a framework for the construction
of intentional agents for mobile devices

Improved the efficiency of the control

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

AFME is an open source project

Agent Factory / AFME may be
downloaded from