My research proposal slides.
description
Transcript of My research proposal slides.
Present By
BuSaw
St 113953
September 12th 2013
* Multi Agents System Software Development Methodology on
Mobile Operating Systems using JADE
Introduction Background Problem Statement Objective Scope Literature review Methodology
* Outline
Multi Agent System
JADE-LEAP
During the recent years, there is a shift in paradigm from desktop-centric computing to mobile computing due to the popularity of mobile devices such as smart phones and tablets.
So most of the IT companies are also targeting more on mobile users by developing mobile applications.
* Background
Desktop ComputerTablet
Telephone Smart Phone
Typical mobile devices are constrained through their limited resources, such as processing power and memory, user interface capabilities and network connectivity.
To provide users’ dynamic needs better, mobile application developments can be combined with multi agent systems.
Multi-agent system applications involve multiple independent and intelligent software agents interacting in the environment and can solve some problems that are impossible for other monolithic systems to solve.
* Introduction
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.
Most of the mobile applications do not work in peer-to-peer networks without Internet connections.
Recently, there is dramatic increase in Smart phones usage. Most of the IT companies are also targeting more on mobile users by developing mobile applications. Mobile devices with different and incompatible APIs, programming languages, and distribution market places for applications.
The adoption of these multi-agent development tools in mobile phones applications has been scarce due to know-how gap between mobile application development and multi-agent systems.
* Problem statements
*Mobile Devices Tracking Apps
FindMyFriend app for iPhone
Life 360 App for Android
Family-Locator App for Android, Desktop
• Client Based System• Not work peer-to-peer• Not compatible with each other• Not run on the cross platform
To develop a proof of concept location based social tracking application using multi agent system .
To develop and implement above mentioned the Android mobile application using JADE LEAP to be a part of multi agent system.
To analyze the performance of the Multi Agent System run on Android and mobile operating system that support Java.
To design agent messages format and ontologies using FIPA ACL
* Objectives
The scopes of the research study will be as the following: Propose multi agent platform development model
and framework on Android mobile operating system using JADE LEAP.
Implementation of the multi agent system based on the proposed framework as a proof of concept
To explore the future possibilities and applicability of the proposed framework to different kind of mobile applications.
* Scope
*Environment of Software Agents
Agent Technology Speech Act and Agent Communication KQML Description FIPA ACL Multi-agent system Agent on Mobile Devices Understanding of Android Application
Architecture FIPA JADE JADE LEAP in mobile devices
* Literature review
*What is the agent technology?
Agent also known as software agent, is a special software component that is capable of flexible autonomous action in a dynamic multi agent environment.
It behaves like a human agent, working for some clients and in pursuit of its own agenda.
It is a different computing model and paradigm suitable for dynamic and open environments where heterogeneous system interact and operate effectively.
The concept of an agent has found currently in a diverse range of sub-disciplines of information technology, including computer networks, software engineering, artificial intelligence, human-computer interaction, distributed and concurrent systems, mobile systems, telemetric, computer-supported cooperative work, control systems, decision support, information retrieval and management, and electronic commerce.
AutonomyMobile
Proactive
Goal-oriented
Communication
Collaboration
Sociable
Adaptive
Intelligent
Temporal Continuity
Reactive
Agent has lots of properties:
What is the Agent Technology?
*Multi Agent System No agent is an island. Even if an agent system can be just a solitary agent
within an environment, it is still necessary to interact with its users. Therefore, it still considered to be multiple agent.
MAS offers strong models for representing complex and dynamic real-world environments.
Multi agent system is a computer system that is composed of multiple intelligent agents communicating with each other in a dynamic environment.
FIPA (Foundation for Intelligent Physical Agents) founded as a non profit Swiss organization in 1996 that consists of 62 companies and organizations.
Goal To produce software standards specifications for
heterogeneous and interacting agents and promote agent based system.
Platforms - FIPA Implementations Jade (TiLab - Telecom Italy) LEAP (EU -project) BlueJade (HP) FIPA-OS (Nortel - Emorphia) MicroFIPA-OS (HY)
* FIPA
*Platform
Agent Platform
Agent Platform
AgentManagement
System
DirectoryFacilitator
Agent Communication Channel
Agent
Baseline Protocol
Software
Agent Communication Channel
A software framework- that simplifies the implementation of multi-agent systems
Implements Foundation for Intelligent Physical Agents (FIPA).
Fully implemented in Java
- Telecom Italy distributed under LPGL (lesser General Public License Version 2)
The middle-ware for Multi-Agent System (MAS) - target users: agent programmers for MAS
- agent services
- life-cycle, white-page, yellow-page, message transport
- tools for support debugging phase
- remote monitoring agent, dummy agent, sniffer agent
- designed to support scalability
- (from debugging to deployment)
from small scale to large scale
* JADE
JADE is a platform for running agents
To support: An asynchronous agent programming model Communication between agents either on the
same or different platforms Mobility, security, and other utilities Develop custom applications to exploit Agent
metaphor Hook agent framework to JAVA GUI applications
* What is JADE for?
*JADE Agent Platform
18
Network protocol stack
JRE JRE JRE
Jade Main-container Jade Agent Container Jade Agent Container
Jade distributed Agent Platform
App
lica
tion
Age
nt
App
lica
tion
Age
nt
App
lica
tion
Age
nt
App
lica
tion
Age
nt
App
lica
tion
Age
nt
App
lica
tion
Age
nt
App
lica
tion
Age
nt
App
lica
tion
Age
nt
App
lica
tion
Age
nt
Host 1 Host 2 Host 3
*JADE Agent Container
19
Intra-Container Message Transport
(Java events)
White pageservice
AgentManagement
System
Yellow pageservice
DirectoryFacilitator
Agent Communication Channel
Inter-Containers Message Transport
(Java RMI)
Inter-Platforms Message Transport
(IIOP)
local cache of agent addresses
JADE cannot run on small devices because of the complete JADE runtime environment is bigger than the usual memory of handheld devices.
JADE also requires JDK1.4 (or later) while these devices only support Personal Java or MIDP.
Wireless links have different characteristics with respect to fixed network such as high latency, low bandwidth, intermittent connectivity and dynamic IP address assignment that must be taken into account properly.
* JADE LEAP was created to deploy agents on a wide range of devices to solve these problems.
* Weakness of JADE
JADE-LEAP (Lightweight and Extensible Agent Platform) is an extension of JADE platform that can be deployed not only on a heterogeneous network of fixed and mobile devices with various operating systems.
The LEAP add-on was mainly developed the LEAP IST project and is available for download from the JADE web site since March 2005.
* JADE-LEAP
JADE-LEAP is available in different ways corresponding to the two configurations of the Java Micro Edition and the Android Dalvik Java Virtual Machine:
Pjava: to execute JADE-LEAP on handheld devices supporting J2ME CDC or PersonalJava such as PDAs.
Midp: to execute JADE-LEAP on handheld devices supporting MIDP1.0 (or later) only, such as the Java enabled cell phones.
Android: to execute JADE-LEAP on devices supporting Android 2.1 (or later).
Dotnet: to execute JADE-LEAP on PC and servers in the fixed network running Microsoft .NET Framework version 1.1 or later.
* JADE-LEAP
*JADE-LEAP run-time environmentEven though JADE LEAD has different versions,
All of them provide the same APIs for the multi agent application developers.
JADE LEAP offers a layer over a wide variety of devices and connectivity options.
Speech act theory is a linguistic analysis of human communication, which treats communication as action.
Philosopher John Austin in 1962 start distinguished three different aspects of speech acts: Locutionary act (act of making an utterance), illocutionary (i.e. what the speaker intended by
something) Perlocutionary (i.e. the actual effect of the speech
act on the hearer).
* Speech Act Theory
There are two kinds of message-based language for agent communication. KQML ( Knowledge Query Make-up Language) FIPA ACL ( Agent Communication Language)
In this research we will use FIPA ACL for agent communication.
* Agent Communication
Based on speech act theory: messages are actions or communicative acts.
ACL is proposed by FIPA as standard language for agent communication. It become part of FIPA’s open agent architecture.
FIPA-ACL maintains orthogonally with the content language and it is designed to work with any content language and any ontology specification approach.
FIPA Agent Communication Language is an attempt to address KQML shortcomings. The fundamental difference is agents are not allowed to manipulate other agent’s knowledge base directly.
It provides a cleaner and more easier to implement specification compare with KQML.
Only defines primitives for pair-wise agent communications ( agent management primitives are moved to AMS specification).
* FIPA ACL
*FIPA Message Structure
Content
Message
Payload
Envelope TransportInformation
Encoded MessageMessage parametersMessage content
• Create Message Object (ACL message)
• Set performatives
• Set sender and recipients
• Set message attributes
• Fill content (from java object)
* Constructing a Message
*FIPA ACL Parameters
*FIPA ACL Parameters Continued
* FIPA ACL Performatives
* Agent communication Example
INFORM :sender antagent :receiver bob martin :protocol status :co protocol status :conversation_id example6 :reply_with 275 :reply_by wed 3pmconversation_id example6 :reply_with 275 :reply_by wed 3pm :language lisp :ontology ant :content (target (project “1hour”) (platform “computer15”) (author “sean”)) (time “8/07/01 4pm”)
(message “build failed”) (target “compile”) )
Primary IntentInform, Request, Failure,
Refuse, ...
Addressingbroadcast, forwarding, ...
Dialogue Coordinationexpected vs exceptional
response
Detailed action or requestproblem specific
language, ontology, request
* OntologyAn ontology is a description of the concepts and relationships that can exist for an agent or a community of agents
To help well-defined meaning for the message contents and define vocabularies of symbols referring to objects and relationships in the subject domain.
Ontology can be defined independently of the ACL. Popular languages for Ontology are XML, XML Schema, DTD, KIF, RDF, OWL, DAML + OIL, etc.APPLE
Apple Phone
Apple Compan
y
*Smart Phones
iPhone
Nokia
Blackberry
Android OS based Mobile Phones(LG, Samsung, Nenux 4, etc...
In this research will focus on only
• Is an open source Linux-based operating system for mobile devices and tablet computers.
• Developed by the Open Handset Alliance led by Google
• Apps can be downloaded from third-party sites or through online stores such as Google Play
• The advantage of Android being a multi-channel, multi-carrier OS and 79% of the market share and one million new devices activated every day in 2013
*Android
Platform Characteristic
Android Free distribution Programming language:
Java Free development
environment
*Android Application Architecture
Linux Kernel
Android RT Dalvik VM
Android RT
Core Libraries
Android Application
Media
Surface M
Open GL/
SSL
SQLite
SGL
libc
FreetypeWebkit
Libraries
Window M.View
System
Location M. Notification
Activity M. Content M.
Resource M.
Tel. Manager
Package M.
Application Framework
Methodology Overview Proposed of Agent types and functionalities Proposed system architecture Proposed Ontologies for Agent Communication ACL message Model Development Tools Components of multi agent application run on
android Platform Components of multi agent application Window
personal Computer OS Research Plan
* Methodology
*Multi Agent Mobile Social Tracking application System
*Proposed System Architecture
User Agent
Android social tracking app Client
Android Application GUI
Main Container
AMS
Message Broker Agent
DF Agent Platform
Admin GUI
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 RTCore Libraries
Application Framework
Activity M Window P Content PView
System
Package M
Notification M
Location M
Tel M
Resource M
Application LogicJADE LEAP Container
User Agent
GUI
Overview of Proposed System configuration multi agent platform &Android Platform
*Proposed Agent types and functionalities
The MobileUserAgent: It acts on the user behalf. This agent can search location of friends (how far they are from) and it can assign and make notification the location so that mobile user can know and track where is his/her friends are easier.
MessageBrokerAgent : It is in charge of establishing a communication channel between the agents for mobile end users.
InterfaceAgent: The responsibility is to manage communication with mobile user (human) using a graphical user interface.
AdministratorAgent: It has to supervise the overall of Multi Agent system platform like Yellow page service, White page service and agent communication channel and so on.
LocalizationAgent: It is for Geographical localization of the mobile agent.
* Continued
Ontology
KML
Example
* Proposed Ontologies for Agent Communication
*ACL Message Model
* Example of ACL Message Exchange
Mobile User 1 (initiator)-Send a message-Wake up: If message, remember
that you have seen it If no message and seen a
message, send a replyGo back to sleep for 5 secondsMessage Traffic 0-Send 0-Sleep 5 5-Sleep 5 10-Sleep 5 10-Receive 10-Sleep 5 15-Send 15-Sleep 5
Mobile User 2-Not initiator, so don’t send-Wake up: If message, remember that
you have seen it If no message and seen a
message, send a replyGo back to sleep for 10 secondsMessage Traffic 0-Receive 0-Sleep 10 5- 10-Send msg 10-Sleep 10 10- 15-Receive 15-Sleep 10
To create a JADE-based application running on the android operating system, in this research will use:
JADE 4.3 ( the latest version)
JADE-LEAP Add-on for Dalvik virtual machine
Android development tools (SDK)
The Eclipse integrating development environment
To debug and manage agent, our use JADE remote
agent management GUI.
* Development Tools
* Research Plan