Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Development of agent-based, peer-to-peer mobile applications on ANDROID with JADE
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Development of agent-based, peer-to-peer mobile applications on ANDROID with JADE


[attachment=21201]

INTRODUCTION
JADE ([1], [2], [3]),is a popular Open Source framework that
facilitates the development of interoperable intelligent multi-agent
systems. For instance British Telecom uses JADE as the core
platform for mPower [5], a multi-agent system that is used by BT
engineers to support cooperation between mobile workers and
team-based job management. Telecom Italia has currently
deployed in the field two mission critical applications that have a
direct influence on the work of thousands of technicians and
potentially millions of customers. The first one called “Network
Neutral Element Manager” implements a mediation layer between
network elements and OSS systems [15]. The second one, known as
“Wizard”, provides step-by-step guidance to technicians in a
nomadic environment, performing maintenance operations in the
field [18].
.
The JADE design choice and its modular architecture allowed
JADE to fit the constraints of mobile environments with limited
resources in terms of required memory and processing power. The
adoption of JADE on mobile environment is depicted for example
in [6], [12], [13], [19].
ANDROID [9] is the new mobile platform delivered by Google
and the Open Handset Alliance [10] at November 2007 based on
Linux OS and JAVA programming language. The rationale of the
ANDROID Platform is “breaking down the barriers to building
new and innovative applications”, particularly in the field of
social and peer-to-peer networks.
On the other hand JADE is a JAVA framework that implements
the agent programming paradigm rooted on peer-to-peer ideas and
communication patterns. Currently JADE works on a network of
heterogeneous hosts, including mobile terminals and PDA and is
conceived for managing an environment with peers that can
appear and disappear according to the application specific
scenario and that can communicate in asynchronous and
symmetric way.
Moreover JADE implements FIPA [16] specifications in order to
support very expressive and complex communications. In
particular the FIPA-ACL Communicative Act Library
Specification allows to give semantics to the communication
without taking into account the message content and the FIPA
Interaction Protocol Specifications allows to build both simple
interaction (i.e. request-response) and more complex ones (i.e.
contract net useful for negotiating tasks among a population of
agents).



ANDROID

The current situation of the landscape for mobile application
development is quite fragmentized. In Europe the main focus has
been on two operating systems, Windows Mobile and Symbian,
whereas Palm and Brew have reached some popularity in the US
and Linux has made some recent impact in Asia in particular with
two projets LiMo [7] and OpenMoko [8].
As a consequence those aiming at developing a mobile application
for the mass market have followed an other direction, Java, in its
two JavaMe flavours: CDC (Foundation and Personal Profile) and
CLDC (MIDP).
Hence, while Java, and in particular the MIDP profile, is almost a
de-facto standard for low cost mobile phones applications,
particularly games, it seems to be clear that there are a lot of
limitations and flaws in it.
These flaws come out particularly when you try to develop
applications that require to manage device related resources (i.e.
contacts, file system, external event like incoming call, etc.) or to
develop a user appealing and responsive GUI.
In addiction Java itself is extremely fragmented and certainly
failed to live up to its promise (write once, run everywhere) in the
mobile world. Even if there is a common standard, such as
JavaME, the implementations are vastly different across
manufacturers and often incompatible.
Moreover it is very likely that mobile applications in the coming
years will require to manage other kind of resources like GPS API
for localization issues, RFID tag readers, in order to exchange
information with physical tagged objects, and a variety of APIs to
exploit services like search engines, maps, social networks and so
on.
In this scenario Google and the Open Handset Alliance released at
November 2007 with Apache v2 license, the ANDROID SDK, the
early access software development kit of the new ANDROID
Platform.
ANDROID seems to address at least some of the previous issues
and it candidates itself to become an open platform with a Linux
based OS and a JAVA based programming language.
ANDROID introduces a completely new Virtual Machine called
Dalvik, particularly optimized for low memory requirement and
designed to allow multiple VM instances to run at once. That
provides an execution environment where each application runs in
its own Linux process.
In addiction, Dalvik, provides access to core mobile device
functionality. In particular on top of a JavaSE-like platform it
provides a set of new ANDROID specific API by means of which
it is possible to interact with the ANDROID Operating System,
control the device hardware and develop ANDROID GUI.
According to these features and considering its less restrictive
license, Dalvik is a good candidate to become a de facto standard
in the mobile market, reducing the existing fragmentation in the
Java ME platform.
Moreover ANDROID gives support for a bunch of Optional API
(i.e. Location API, Media API..) and provides built-in
components that offer APIs related to some Google services like
Google Maps and Gtalk.
The Android application model includes four building blocks:
Activity, Intent Receiver, Service and Content Provider that
provide abstractions to support developers to build user interfaces,
manage platform or application events, build background services
and access all kind of data in a trasparent way. For details see [9].
It is worth to mention a very important feature of Android: the
application process’s lifetime is not directly controlled by the
application itself. As a matter of fact it is determined by the
system by analysing what parts of the application the system
knows are running, how important they are for the user and how
much total memory is still available.

JADE

JADE is a popular open source middleware conceived to facilitate
the development of distributed applications based on the agentoriented
paradigm. Here we give only a brief overview of JADE
architecture and functionalities, for further details see [1], [2]
The JADE architecture is firmly rooted in peer-to-peer ideas and
communication patterns. Actually the JADE architetcure can be
referred as “hybrid peer-to-peer” because the communication
among entities is peer-to-peer but the service or peer discovery is
centralized.


JADE agents for the mobile environment
As already mentioned, the JADE run-time can be executed on a
wide class of devices ranging from servers to cell phones, for the
latter the only requirement being the availability of Java MIDP1.0
(or later versions). In order to properly address the memory and
processing power limitations of mobile devices and the
characteristics of wireless networks (GPRS in particular) in terms
of bandwidth, latency, intermittent connectivity and IP addresses
variability, JADE includes a specific module optimized for a
mobile deployment environment.