SlideShare a Scribd company logo
1 of 45
Download to read offline
Multi-Agents based Software
Development of Mobile Application
Using JADE
By
Bu Saw
Dec 4, 2013
Outlines
	

Ø Introduction	

Ø Objective 	

Ø Problem Statement	

Ø Methodology	

Ø Implementation	

Ø Results	

Ø Comparison	

Ø Discussion	

Ø Conclusion	

Ø Recommendation & Future work
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.
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
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.
Agents Communication	

FIPA ACL + Ontology
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. 	

confirm 	

 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 identifier for the
reply	

:reply-with	

 Reference to the :reply-with parameter
Ontology
To help well-defined meaning for the message contents
and define vocabularies of symbols referring to objects
and relationships in the subject domain.
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
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
Location Update Message Example
12/1/13 10:09 PM!
0!
481!
 !
(INFORM!
:sender ( agent-identifier :name busawoo-gmail-
com@192.168.7.120:1099/JADE )!
:receiver (set ( agent-identifier :name busawoo-hotmail-
com@192.168.7.120:1099/JADE ) )!
!
:content ((IsAt (agent-identifier :name busawoo-gmail-
com@192.168.7.120:1099/JADE) (Arrival :location
(Location :locationname AIT :logitude 14.076335 :latitude
100.61456) :time (Time :arrivaltime 1385910564401)))) !
!
:language fipa-sl !
:ontology Location-Ontology !
:conversation-id __location__ )!
 !
 !
Begin message structure
Communication act type
Message Parameter
Message
Content
Expression
Parameter
Expression
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	
  
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 notification 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 first as user of
app. 	

LogoutActivity	

 User can logout after using the app.
System Architecture
User Agent
LocationAgent 360 app
Client
Android Application GUI
Main Container
AMS
Message Broker
Agent
DF
Agent
Platform
Admin GUI
ACC
Use-case diagram
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
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.
Ontology Design and Implementation
Ontology Design and Implementation
Android Developer Tools
Android SDT with Eclipse
Executing Agent container
JADE Main Container running
Agent Management
System
Directory Facilitator
Location Manager
Agent
Remote agent management
Results
LocationAgent 360
Sing up page
Main Page  Home Page of App
Invite Friend menu
MapView menu
Share Location
View Friends Menu
Request Location
Setting Menu
Logout Menu
LocationAgent 360
q  LocationAgent 360 is a free smartphone app based
on agent technology
JADE-LEAP+ Android SDK = Agent based application
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.
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.
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	
  
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	
  
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.
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.
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.
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.
Thank you very much!!
QUESTIONS  ANSWERS!!

More Related Content

Similar to Research Final Defense slides.

Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programmingPERKYTORIALS
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathonmarvin337
 
Part 2 android application development 101
Part 2 android application development 101Part 2 android application development 101
Part 2 android application development 101Michael Angelo Rivera
 
Android Training Chandigarh.docx
Android Training Chandigarh.docxAndroid Training Chandigarh.docx
Android Training Chandigarh.docxDEvanshu Sharma
 
All about agents jade
All about agents jadeAll about agents jade
All about agents jadeAryan Rathore
 
Android training in Hyderabad
Android training in HyderabadAndroid training in Hyderabad
Android training in HyderabadHariprasad P
 
Nativa Android Applications development
Nativa Android Applications developmentNativa Android Applications development
Nativa Android Applications developmentAlfredo Morresi
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...RIA RUI Society
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A NutshellTed Chien
 
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...Ted Chien
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Marcel de Vries
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21dxsaki
 
Doddanna_B_Java_Android_Trnd_EC_70%
Doddanna_B_Java_Android_Trnd_EC_70%Doddanna_B_Java_Android_Trnd_EC_70%
Doddanna_B_Java_Android_Trnd_EC_70%Doddanna B
 

Similar to Research Final Defense slides. (20)

Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
 
Android Deep Dive
Android Deep DiveAndroid Deep Dive
Android Deep Dive
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 
Resume_Dubai
Resume_DubaiResume_Dubai
Resume_Dubai
 
Saurabh_CV
Saurabh_CVSaurabh_CV
Saurabh_CV
 
Part 2 android application development 101
Part 2 android application development 101Part 2 android application development 101
Part 2 android application development 101
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Android Training Chandigarh.docx
Android Training Chandigarh.docxAndroid Training Chandigarh.docx
Android Training Chandigarh.docx
 
All about agents jade
All about agents jadeAll about agents jade
All about agents jade
 
Android Introduction by Kajal
Android Introduction by KajalAndroid Introduction by Kajal
Android Introduction by Kajal
 
Android training in Hyderabad
Android training in HyderabadAndroid training in Hyderabad
Android training in Hyderabad
 
Nativa Android Applications development
Nativa Android Applications developmentNativa Android Applications development
Nativa Android Applications development
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
 
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...
 
Gopi_Android_Resume (1)
Gopi_Android_Resume (1)Gopi_Android_Resume (1)
Gopi_Android_Resume (1)
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21
 
PramodTaleCV
PramodTaleCVPramodTaleCV
PramodTaleCV
 
Doddanna_B_Java_Android_Trnd_EC_70%
Doddanna_B_Java_Android_Trnd_EC_70%Doddanna_B_Java_Android_Trnd_EC_70%
Doddanna_B_Java_Android_Trnd_EC_70%
 

Recently uploaded

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Research Final Defense slides.

  • 1. Multi-Agents based Software Development of Mobile Application Using JADE By Bu Saw Dec 4, 2013
  • 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. confirm 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 identifier for the reply :reply-with Reference to the :reply-with parameter
  • 8. Ontology To help well-defined meaning for the message contents and define 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
  • 11. Location Update Message Example 12/1/13 10:09 PM! 0! 481!  ! (INFORM! :sender ( agent-identifier :name busawoo-gmail- com@192.168.7.120:1099/JADE )! :receiver (set ( agent-identifier :name busawoo-hotmail- com@192.168.7.120:1099/JADE ) )! ! :content ((IsAt (agent-identifier :name busawoo-gmail- com@192.168.7.120:1099/JADE) (Arrival :location (Location :locationname AIT :logitude 14.076335 :latitude 100.61456) :time (Time :arrivaltime 1385910564401)))) ! ! :language fipa-sl ! :ontology Location-Ontology ! :conversation-id __location__ )!  !  ! Begin message structure Communication act type Message Parameter Message Content Expression Parameter Expression
  • 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 notification 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 first as user of app. LogoutActivity User can logout after using the app.
  • 14. System Architecture User Agent LocationAgent 360 app Client Android Application GUI Main Container AMS Message Broker Agent DF Agent Platform Admin GUI ACC
  • 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.
  • 18. Ontology Design and Implementation
  • 19. Ontology Design and Implementation
  • 21. Android SDT with Eclipse
  • 23. JADE Main Container running Agent Management System Directory Facilitator Location Manager Agent Remote agent management
  • 27. Main Page Home Page of App
  • 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.
  • 44. Thank you very much!!