Download - Research Final Defense slides
![Page 1: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/1.jpg)
Multi-Agents based Software Development of Mobile Application
Using JADE
By
Bu Saw
Dec 4, 2013
![Page 2: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/2.jpg)
Outlines Ø Introduction Ø Objective Ø Problem Statement Ø Methodology Ø Implementation Ø Results Ø Comparison Ø Discussion Ø Conclusion Ø Recommendation & Future work
![Page 3: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/3.jpg)
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.
![Page 4: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/4.jpg)
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
![Page 5: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/5.jpg)
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.
![Page 6: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/6.jpg)
Agents Communication
FIPA ACL + Ontology
![Page 7: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/7.jpg)
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
![Page 8: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/8.jpg)
Ontology To help well-defined meaning for the message contents and define vocabularies of symbols referring to objects and relationships in the subject domain.
![Page 9: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/9.jpg)
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
![Page 10: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/10.jpg)
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 ���
F r i e nd N i c k name
String AID 0:1 ���
Agent ID Class AID 1 ���
Time
Friend
![Page 11: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/11.jpg)
Location Update Message Example
12/1/13 10:09 PM!0!481! !(INFORM! :sender ( agent-identifier :name [email protected]:1099/JADE )! :receiver (set ( agent-identifier :name [email protected]:1099/JADE ) )!! :content "((IsAt (agent-identifier :name [email protected]: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
![Page 12: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/12.jpg)
Agent Types and Functionalities Agent Name Agent Type 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
![Page 13: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/13.jpg)
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.
![Page 14: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/14.jpg)
System Architecture
User Agent
LocationAgent 360 app Client
Android Application GUI
Main Container
AMS
Message Broker Agent
DF Agent
Platform Admin GUI
ACC
![Page 15: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/15.jpg)
Use-case diagram
![Page 16: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/16.jpg)
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
![Page 17: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/17.jpg)
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.
![Page 18: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/18.jpg)
Ontology Design and Implementation
![Page 19: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/19.jpg)
Ontology Design and Implementation
![Page 20: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/20.jpg)
Android Developer Tools
![Page 21: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/21.jpg)
Android SDT with Eclipse
![Page 22: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/22.jpg)
Executing Agent container
![Page 23: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/23.jpg)
JADE Main Container running
Agent Management System
Directory Facilitator
Location Manager Agent
Remote agent management
![Page 24: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/24.jpg)
Results
![Page 25: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/25.jpg)
LocationAgent 360
![Page 26: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/26.jpg)
Sing up page
![Page 27: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/27.jpg)
Main Page & Home Page of App
![Page 28: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/28.jpg)
Invite Friend menu
![Page 29: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/29.jpg)
Map View menu
![Page 30: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/30.jpg)
Share Location
![Page 31: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/31.jpg)
View Friends Menu
![Page 32: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/32.jpg)
Request Location
![Page 33: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/33.jpg)
Setting Menu
![Page 34: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/34.jpg)
Logout Menu
![Page 35: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/35.jpg)
LocationAgent 360 q LocationAgent 360 is a free smartphone app based
on agent technology
JADE-LEAP+ Android SDK = Agent based application
![Page 36: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/36.jpg)
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.
![Page 37: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/37.jpg)
LocationAgent 360 q We can know when our friends are on their way so that we
can know who are running late.
AIT 200 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.
![Page 38: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/38.jpg)
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
![Page 39: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/39.jpg)
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
![Page 40: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/40.jpg)
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.
![Page 41: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/41.jpg)
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.
![Page 42: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/42.jpg)
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.
![Page 43: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/43.jpg)
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.
![Page 44: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/44.jpg)
Thank you very much!!
![Page 45: Research Final Defense slides](https://reader033.vdocuments.us/reader033/viewer/2022052523/55512d8bb4c905325d8b4b87/html5/thumbnails/45.jpg)
QUESTIONS & ANSWERS!!