Research Final Defense slides.

45
Multi-Agents based Software Development of Mobile Application Using JADE By Bu Saw Dec 4, 2013

description

My Final Defense Slides. Hope to get some knowledge. ;)

Transcript of Research Final Defense slides.

Page 1: Research Final Defense slides.

Multi-Agents based Software Development of Mobile Application

Using JADE

By

Bu Saw

Dec 4, 2013

Page 2: Research Final Defense slides.

Outlines Ø  Introduction Ø Objective Ø Problem Statement Ø Methodology Ø  Implementation Ø Results Ø Comparison Ø Discussion Ø Conclusion Ø Recommendation & Future work

Page 3: Research Final Defense slides.

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.

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.

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.

Agents Communication

FIPA ACL + Ontology

Page 7: Research Final Defense slides.

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.

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.

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.

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.

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.

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.

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.

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.

Use-case diagram

Page 16: Research Final Defense slides.

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.

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.

Ontology Design and Implementation

Page 19: Research Final Defense slides.

Ontology Design and Implementation

Page 20: Research Final Defense slides.

Android Developer Tools

Page 21: Research Final Defense slides.

Android SDT with Eclipse

Page 22: Research Final Defense slides.

Executing Agent container

Page 23: Research Final Defense slides.

JADE Main Container running

Agent Management System

Directory Facilitator

Location Manager Agent

Remote agent management

Page 24: Research Final Defense slides.

Results

Page 25: Research Final Defense slides.

LocationAgent 360

Page 26: Research Final Defense slides.

Sing up page

Page 27: Research Final Defense slides.

Main Page & Home Page of App

Page 28: Research Final Defense slides.

Invite Friend menu

Page 29: Research Final Defense slides.

Map View menu

Page 30: Research Final Defense slides.

Share Location

Page 31: Research Final Defense slides.

View Friends Menu

Page 32: Research Final Defense slides.

Request Location

Page 33: Research Final Defense slides.

Setting Menu

Page 34: Research Final Defense slides.

Logout Menu

Page 35: Research Final Defense slides.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Thank you very much!!

Page 45: Research Final Defense slides.

QUESTIONS & ANSWERS!!