Final Defense slide of my research.
-
Upload
bu-sawoo -
Category
Technology
-
view
338 -
download
0
description
Transcript of Final Defense slide of my research.
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 ���
F r i e nd N i c k 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 [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
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
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
Map View 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.
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.
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!!