on coordinating information agents and mobility 컴퓨터공학과 96419-015 김상태
TRANSCRIPT
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
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
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.
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
Mobile Entities in Info. System
Moving Information
Info
Query
Result
User
Continued
A mobile agent
Info
Query
Result
User
Continued
A mobile user
Info
Query
Result
User
User
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.
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
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
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
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
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
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.
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.
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.
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.
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
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
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
Simple Coordination Patterns
Pull - SQL servers, Web-services, c/s interaction
Push - DB, URL minder, MBone
Info User
Query
Result
Info UserQuery
ResultResultResult
Cont’d
Index - Web search engine, Web cache
Info
Info
Info UserIndexQuery
Result
Query All
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.