This document outlines the development of a location-based social tracking mobile application called LocationAgent 360 using a multi-agent approach. It describes using the JADE-LEAP framework to develop an Android application that allows users to share their location with friends in real-time. Agents communicate using FIPA-ACL messages and ontologies to exchange location data. The application was implemented to demonstrate how a multi-agent system can be used to develop distributed mobile applications without a centralized server.
3. Introduction
q奄 Location based mobile application using multi agent
based approach.
q奄 Using JADE-LEAP, software framework, is a part of
the multi agent system to develop mobile application.
q奄 On Android OS using Android SDK
q奄 For agent communication, using FIPA ACL and
Ontology
q奄 Integration with Google Play services such as Google
map.
4. Objectives
To develop a proof of concept location based social
tracking multi agent system application.
q奄 To develop and implement agent based Android mobile
application using JADE LEAP to be a part of multi agent
system.
q奄 To design a multi agent platform and development
framework for building mobile application across Android
operating system.
q奄 To design agent messages format and ontologies using
FIPA ACL
5. Problem Statements
q奄 Most of the mobile applications are based on client-
server architecture with server doing all of the hard
work and backend data storage.This has heavy privacy
implications with our private data being stored on the
servers.
q奄 Typical mobile application are controlled by server.To
provide users dynamic needs better, multi agent
systems is the best approach to develop mobile
application.
q奄 Most of the location sharing mobile applications do
not work together each others because they do not
support the any open standard for data.
7. FIPA ACL
Parameters & Performatives
Performatives
Function
request
To request an agent to another agent to perform some action.
inform
The sender informs the receiver that a given proposition is true.
refuse
One agent to state to another agent that it will not perform some
action uses it.
con鍖rm
The sender informs the receiver that a given proposition is true,
where the receiver is known to be uncertain about the proposition.
Parameter
Functionalities
:sender
Sender of the message
:receiver
Intended recipient of the message
:content
Content of the message
:in-reply-to
Whether the sender expects a reply and if so, an identi鍖er for the
reply
:reply-with
Reference to the :reply-with parameter
8. Ontology
To help well-de鍖ned meaning for the message contents
and de鍖ne vocabularies of symbols referring to objects
and relationships in the subject domain.
9. Ontology Class
Slot name
Type
Allowed/ Values
classes
Cardinality
Default
location
Class
Location
1:1
Time
Class
Time
1:1
Slot name
Type
Allowed/Values
classes
Cardinality
Default
location name
string
1:1
longitude
Floating point
Latitude
Floating point
Arrival
Location
10. Ontology Class
Slot name
Type
Allowed/ Values
classes
Cardinality
Default
Time
Integer
Slot name
Type
Allowed/ Values
classes
Cardinality
Default
Friend name
String
AID
1
Friend Nick
name
String
AID
0:1
Agent ID
Class
AID
1
Time
Friend
12. Agent Types and Functionalities
Agent Name
AgentType
Function
Mobile User Agent
Intentional agent
Review and receive data
Interface Agent
Reactive agent
IHM (interface home
machine) interface
Administrator Agent
Intentional agent
Supervision of MAS system
platform
Location Subscription
Manager Agent
Reactive agent
Keeps record of all the
mobile user agents on the
MAS platform.
Message Broker Agent
Intentional agent
Supervision
Sending and receiving
message between agents
Localization Agent
Adaptive agent
Geographical localization of
the mobile agent
13. Activity
Main Window Activity
Home Page of app.
LoginActivity
User has to login to enter the app. It needs username and
password. It is for security of user.
RequestActivity
User can request friend to view friends location on app.
MapViewActivity
User can view the location of himself and his friends location.Also
user can know how many kilor meters far from he and his friend
location.
InviteActiviy
User can invite his friends on app. But user should know his friend
email address.
ViewActivity
User can view lists of his friends who are friends on app. User has
authorization to remove their friends and also user can notify their
friends location.
FrienddetailActivity
User can see not only the friends lists but also the detail of friends
information. In the same way, User can set noti鍖cation of their
friends and can remove their friends.
SharelocationActivity
User can share their location.
SigninActivity
User are already member of app. User need to sign in only using his
email address and password to enter the app.
SingUpAcitiviy
If user are new user for this app. User has to sing up 鍖rst as user of
app.
LogoutActivity
User can logout after using the app.
16. Network/Internet
OS Kernel Linux Kernel
OS Window/Mac/Linux
JAVA SE
JADE Main Container
AMS DF
ACC
Android RT
Dalvik VM
Media
Framework
Surface
Manager
Free Type
Open GL/
ES
SSL
SQLite
SGL
WebKit
Libc
Android RT
Core Libraries
Application Framework
Activity M Window P Content P
View
System
Package
M
Notification
M
Location
M
Tel
M
Resource
M
Application Logic
JADE LEAP Container
User Agent
GUI
17. Development Tools
則р JADE 4.3 ( the latest version)
則р JADE-LEAP Add-on for Dalvik virtual machine
則р Android development tools (SDK)
則р SQLite
則р The Eclipse integrating development environment
則р To debug and manage agent, our use JADE remote agent
management GUI.
35. LocationAgent 360
q奄 LocationAgent 360 is a free smartphone app based
on agent technology
JADE-LEAP+ Android SDK = Agent based application
36. LocationAgent 360
q奄 To keep families and close friends connected stay in sync
throughout their busy day.
q奄 We can see where our family and friends are on a private
map, stay in touch with group get help in an emergency.
37. LocationAgent 360
q奄 We can know when our friends are on their way so that we
can know who are running late.
AIT200 m
q奄 We can notify our location and our friend location so that we
can know easily what time our friend arrive home and leave
from home.
q奄 Using LocationAgent360 is not only sharing location each
other but also save for emergency case and time consuming.
38. Comparison
Life 360
FindMyFriend
LocationAgent 360
Android app
iOS app
Agent based android
app
Android 2.1 or later
iOS 5.0 or later
iOS 5.0 or later
Android 2.3 or later
Sign in with Google account
Sign in with Apple ID
(Need to have Apple ID)
Sign in with any email
like Gmail, Hotmail,
yahoo mail and etc.
Client-Server based system
Client-Server based system
Intelligent multi agent
system
Every information is stored
in their server.
Save iCloud your data
Store information in
mobile devices such as
SQLite.
Provide one language
Provide 31 languages
Provide one language
Closed system
Closed system
Open system
則р Free
則р Commercial (premium
app) Work only in USA
Free
Free
39. Comparison
Life 360
FindMyFriend
LocationAgent 360
Only work between
life360 Client
Only work between
FindMyFriend Client
Interpretabilities
(Work on any FIPA
complaint agent system and
the only requirement is the
other agent can understand
ACL messages and ontology)
Property for developer
Property for developer
Extendable for developer
-
-
Limited features available
Provide Androids and
iOS. Not Symbian OS and
Window OS.
Provide only iOS devices
Such as iPhone, iPod, iPad
and etc. Not provide
other OS like android,
window etc.
Provide Android OS. Not
provide iOS and Window etc.
Not working after iOS 7
update
Server control
Server control
JADE main container
coordinate. Automous /
proactive / reactive/dynamic
40. Discussion
q奄 JADE platform supports efficient and transparent messaging
over different platforms (JavaSE, JavaME, .NET,ANDROID).
q奄 It supports semantic rich communication via implementation
of FIPA ACL specifications for performatives, protocols and
ontologies.The use of ontologies in communication messages
allows extension of application features.
q奄 JADE multiagent platform has Peer-to-Peer abilities and like
others P2P system. It needs some coordinator agents (eg. DF,
AMS ).
q奄 There is no dependence on proprietary commercial services
like GoogleHangoutService.
41. Limitation
q奄 Need Google(Gmail) account and have to register as
Google developer to use officially Google service and
Google map
q奄 To check all of the validity emails , we can use Oauth or
OpenID, open standards for all email servers.
q奄 Limited features implementation.
q奄 Currently only implemented on Android OS.
42. Conclusion
q奄 Develop and implement agent message format and
ontologies to be used in LocationAgent 360.
q奄 This application enables location based distributed multi-
agent systems in which personal agents running on mobile
deices can communicate with other agents to share
location without the need for a centralized server
orchestrating every interaction.
q奄 The application design merges multiagent-based JADE-LEAP
platform with latest Android Application Code and Google
Play API (for location detection and map services).
q奄 It is a good proof of concept and a starting point to develop
more sophisticated applications based on mobile user
agents that learn about user preferences and negotiate with
other agents to offer more services in different
environments, different agents and their respective
behaviors.
43. Recommendation Future Work
q奄 Implement and develop agent based mobile application run
on different operation system such as Window, Symbian OS
and even MIDP enable feature phones (eg. Nokia Asha
phones).
q奄 The ontology designed in this research is limited to location
sharing and notification features with some social abilities.
Ontology can be extended to further support more use
cases and add features by integrating with all other available
data and information.