on coordinating information agents and mobility 컴퓨터공학과 96419-015 김상태

25
On Coordinating Information Agents and Mobility 컴컴컴컴컴컴 96419-015 컴컴컴

Upload: maxim-huxford

Post on 14-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

On Coordinating Information Agents and Mobility

컴퓨터공학과 96419-015

김상태

Page 2: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Introduction

Mobile agents have gained enormous attention in recent years

Using multiple agents for performing queries will be efficient than using a single one.

The focus of attention from technology towards software engineering

Page 3: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Contents

Mobility as coordination mechanisms View on reusing Coordination solutions by

describing them with coordination patterns Coordination language to illustrate our

coordination patterns Exemplify by some coordination patterns

relevant for information systems

Page 4: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

What is coordination?

Coordination : managing dependences between activities

Coordination Science ( ccs.mit.edu ) – Coordination technology : developing computer

tools to help people work together efficiently– Coordination theory : how coordination can

occur in a variety of systems such as human organizations, markets, and computer networks.

Page 5: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Mobility as a coordination mechanism Accessibility dependency The placement of activities The movement of activities at runtime Prerequisite dependency

– the start of some activity depends on the presence of result of other activity

Page 6: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Mobile Entities in Info. System

Moving Information

Info

Query

Result

User

Page 7: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Continued

A mobile agent

Info

Query

Result

User

Page 8: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Continued

A mobile user

Info

Query

Result

User

User

Page 9: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Needs for SE

Mobility is a coordination mechanism and it applies to virtually all entities in Info. Sys.

So solving coordination problems using mobility at various places becomes very broad.

Putting the large-scale systems to work depends on solving a software engineer problem.

Page 10: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Software Engineering for Multi Agent Systems

Coordination Theory– how coordination can occur in a variety of

systems such as human organizations, markets, and computer networks

– interdisciplinary Use proven solution to solve coordination

problem at hands - Reuse of coordination Solution

Page 11: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Coordination Patterns

Patterns : design reuse is more important than code reuse

Coordination Patterns– An attempt to study in an interdisciplinary

manner reoccuring and reusable structures of management of dependencies in organizations, economy, and computing systems, etc.

Reuse in different fields

Page 12: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Pattern : Name

Also Known AsOther names for the pattern.

IntentRationale and intended use

MotivationA scenario of application

Dependency ManagedThe dependency managed by the coordination pattern

StructureAn illustration of the entities involved

CollaborationsHow the entities involved interact

ImplementationImplementation remarks

Page 13: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Sample CodeAn example for implementing the pattern. We use MOS as the implementation language here. The code only has to illustrate the idea, but does not have to be executable or complete.

Known UsesWhere the pattern can be found in application. The rule-of-three applies: There should be at least three distinctknown applications to qualify as a pattern.

Related PatternsPatterns related to the one described.

The pattern template

Page 14: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Coordination Language for Mobility Linda : a language able to support support

interaction with multiple information systems ( C/S is bound to two-party interaction )

MOS ( Mobile Object Spaces )– Object oriented Linda variant implemented in

JAVA

Page 15: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

MOS objects : Databag

Collections of communicable data. The operations are

– void out (Entry d) : the entry d is cloned at the Databag

– Entry inp(Matchable t) : An entry matching t is sought and retrived. If none can be found return null.

– Entry rdp(Matchable t) : same with inp, but matching entry is copied.

Page 16: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

MOS objects : Objectbag

Subtype of Databag. Introduces notion of processes that can be blocked and resumed.

Adds following operations.

– Entry in(Matchable t) : An entry matching t is sought and retrived. If none can be found the precess is blocked until available

– Entry rd(Matchable t) : Similar to inp, but matching entry is copied.

Page 17: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

MOS objects : Agentbag

Collections of agents.

– It is an environment in which active resources execute.

Subtype of Objectbag. Introduces the notion of starting, stopping and copying a precess.

Page 18: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

MOS objects : Agentbag (cont’d)

Operations

– void eval(Future future) : The Agentbag evaluates the active resource future to an entry. It is stored in the state of the Agentbag.

– Void move(Agentbag destination, Continuation continuation) : An agent is stopped, moved to destination and continued there at continuation.

Page 19: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

MOS : Classify objects

Clients : precesses that use Databag or and Objectbag.

Agents : clients that implement an Objectbag as their state and can be used by clients.

Hosts : agents that implement an Agentbag. Nodes : hosting a host, not hosted

Page 20: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

MOS implementation with JAVA

DataSpace : Implementation of Databag ObjectSpace : Implementation of

Objectbag. It is an Agent. AgentSpace : Implementation of Agentbag Registry : Special agent whose state is a

collection of references running on that host

Page 21: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Coordinating Mobility in MOS Coordination with the presence of information

– Can be managed by a.rd(j), a.in(j) Coordination with other agents at locations

– Can be managed by registry

– registry.rdp(r), registry.rd(r) Coordination with human user

– similar to agents because we assume that human users are represented by some agents

Page 22: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Simple Coordination Patterns

Pull - SQL servers, Web-services, c/s interaction

Push - DB, URL minder, MBone

Info User

Query

Result

Info UserQuery

ResultResultResult

Page 23: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Cont’d

Index - Web search engine, Web cache

Info

Info

Info UserIndexQuery

Result

Query All

Page 24: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태
Page 25: On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태

Conclusion

Understanding mobility as a mechanism that manages dependencies can lead to a uniform model of communication, synchronization and mobility.

Coordination patterns description leads to schemas of complex coordination activities above the level of coordination language primitives.