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

boorishadamantΤεχνίτη Νοημοσύνη και Ρομποτική

29 Οκτ 2013 (πριν από 3 χρόνια και 5 μήνες)

83 εμφανίσεις

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