Outline : Motivation & background Mobile agents and enterprise computing Algebra of itineraries...

24
Outline Outline : : • Motivation & background • Mobile agents and enterprise computing • Algebra of itineraries • Implementation and applications • Demo Scripting Scripting Mobile Agents to Mobile Agents to Support Support Enterprise Enterprise Applications Applications
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Outline : Motivation & background Mobile agents and enterprise computing Algebra of itineraries...

OutlineOutline::• Motivation & background• Mobile agents and enterprise

computing• Algebra of itineraries• Implementation and applications• Demo

Scripting Scripting Mobile Agents to Mobile Agents to Support Support Enterprise Enterprise

ApplicationsApplications

Mobile AgentsMobile Agents AgentAgent: convenient metaphor for software

system/component which acts on user’s behalf; situated in an environment and exhibits behaviour which can be viewed as pro-active, autonomous, communicative, persistent, ...

Mobile agentMobile agent: software component (code, data, execution state) which can perform tasks by moving from one place to another (own volition/invited) and exhibits “agentness”

Needs software support for platform independent execution: e.g. Java “write once, go anywhere”

More than a dozen mobile agent toolkits: Aglets, Concordia, Telescript, Grasshopper, …

Mobile Agents … moreMobile Agents … more

Some general applications: reduce network load, encapsulate protocols, adapt by moving, offload computations from mobile computers, proxy,

Mobile agent applications: network management, electronic commerce, distributed data retrieval, workflow management, community-ware, supply-chain management, groupware, parallel processing [no killer but unifier]

Mobile agent standards: OMG’s MASIF, FIPA

Mobile Agents … moreMobile Agents … more

Mobile Agent: “program that moves across a computer network doing some computation”

MagicCap: “A distributed computing environment in which agent processes direct their own movement through a computer network. Place processes provide a computing context within which agent processes are interpreted.”

Technological trendsTechnological trends

Networked enterprise Dynamic ad hoc virtual

communities Peer to peer computing model

ITAG: AimITAG: Aim

A high-level language for reasoning with and programming the mobility behaviour of agents:– encourage separation of concerns: mobility,

behaviour and task code details– structuring of mobile agent applications– economy of expression of mobility

behaviour– identification and reuse of patterns in

mobility behaviour

Mobile agents in the Mobile agents in the enterpriseenterprise

An Algebra of ItinerariesAn Algebra of Itineraries

Itinerary: describes the places an agent visits, the tasks/actions to be performed at each place, and the order of such traversal

Simple object-oriented model of agent:– mobile agent = state + action +

mobility

OperatorsOperators

Agent Movement Parallel Composition Sequential Composition Independent Nondeterminism Conditional Nondeterminism Placement Operations and

Language

):()|()()||(:: IIIIIIIIAI ap ο

ExamplesExamples

Meeting Scheduling schedule meeting among parties p,q,r,s and h

(the initiator)

Sales Order Processing– us_sc = US stock control– asia_sc = Asian stock control– mat = raw materials seller– man = product manufacturer– ext = external product seller

Examples of ItineraryExamples of Itinerary CommandsCommands [A,Paris,readData] || [A,England,readData]

[A,Australia,saveData] [A,Sydney,priceCheck] : [A,Canberra,priceCheck] :

[A,Brisbane,priceCheck] : [A,Tasmania,priceCheck] [A,home,showBestPrice]

[A,sales,contactMgr] | [A,engineering,contactMgr] | [A,research,contactMgr] | [A,customerservice,contactMgr] [A,headoffice,showResults]

VotingVoting:

announces

announcer

announceq

announcep

tabulateh

votes

voter

voteq

votep

VVVV

VVVVV

Features of the Itinerary Features of the Itinerary Language not SupportedLanguage not Supported

Places in an atomic activity that are a result of a function

The non-deterministic operator is ignored

The sequential operator does not have an associated method. The parallel operator does.– [A,melb,getInfo] || [A,syd,getInfo].{comb1}

[A,melb,getInfo]– [A,melb,getInfo] || {combo1} [A,syd,getInfo]

Limited English Natural Limited English Natural LanguageLanguage

Acts as a bridge between the user of the system and the raw itinerary language.

Much more understandable May sometimes act as a shortcut

command

Limited English Natural Limited English Natural LanguageLanguage move A to p doing a [A,p,a] Then . Otherwise : Or | parallel with || then using method .method otherwise using method :method or using method |method parallel with using method ||method

tour [agent] to [locations] in (series | parallel) doing [method]

tour [agent] (one of | if needed) [locations] doing [method]

Examples of Natural Examples of Natural Language CommandsLanguage Commands - - VotingVoting(move V to p do vote)then (move V to q do vote)then (move V to r do vote) then (move V to s do vote))then (return V do tabulate)then ((move V to p do announce)in parallel with

(move V to q do announce)in parallel with (move V to r do announce)in parallel with (move V to s do announce)

Alternatively:Alternatively:tour V to p,q,r,s in series do vote) then (return V do tabulate) then (tour V to p,q,r,s in parallel do announce)

Overall Design of the SystemOverall Design of the System

GrasshopperGrasshopper Agent development toolkit Agents

– a self-contained software component responsible for autonomously carrying out one or multiple tasks.

Agencies– the run-time environment for Grasshopper.

Regions– a central location at which all agencies are

registered in. Places

– a logical entity inside a Grasshopper agency.

Grasshopper at WorkGrasshopper at Work

Master - Slave paradigm Intermediary object - proxy

Scenario 1: Serial operationsScenario 1: Serial operations

Scenario 2: Parallel Scenario 2: Parallel operationsoperations

Scenario 3: Conditional Scenario 3: Conditional operationsoperations

Enterprise applicationsEnterprise applications

Meeting scheduling(tour M to p, j, r, s in series do ask) then (return M do finalize) then (tour M to p, j, r, s in parallel do inform)

Parallel processing((move D to p do job1)in parallel with (move D to j do job2)in parallel with (move D to r do job3)in parallel with (move D to s do job4))then (return D do combine_results)

Information gatheringtour I if needed to db1, db2, db3 do search using found

Mobile agents & CSCWMobile agents & CSCW

Ad hoc virtual communities– Redeployment of components with

agents to support distributed activities– Scripting approach– Web-based facility, control and

coordination centre Peer-to-peer computing

– Peer identifiers

Live DemonstrationLive Demonstration