Presentation on theme: "On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태."— Presentation transcript:
On Coordinating Information Agents and Mobility 컴퓨터공학과 96419-015 김상태
Introduction n Mobile agents have gained enormous attention in recent years n Using multiple agents for performing queries will be efficient than using a single one. n The focus of attention from technology towards software engineering
Contents n Mobility as coordination mechanisms n View on reusing Coordination solutions by describing them with coordination patterns n Coordination language to illustrate our coordination patterns n Exemplify by some coordination patterns relevant for information systems
What is coordination? n Coordination : managing dependences between activities n Coordination Science ( ccs.mit.edu )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 n Accessibility dependency n The placement of activities n The movement of activities at runtime n Prerequisite dependency –the start of some activity depends on the presence of result of other activity
Mobile Entities in Info. System n Moving Information Info Query Result User
Continued n A mobile agent Info Query Result User
Continued n A mobile user Info Query Result User
Needs for SE n Mobility is a coordination mechanism and it applies to virtually all entities in Info. Sys. n So solving coordination problems using mobility at various places becomes very broad. n Putting the large-scale systems to work depends on solving a software engineer problem.
Software Engineering for Multi Agent Systems n Coordination Theory –how coordination can occur in a variety of systems such as human organizations, markets, and computer networks –interdisciplinary n Use proven solution to solve coordination problem at hands - Reuse of coordination Solution
Coordination Patterns n Patterns : design reuse is more important than code reuse n 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. n Reuse in different fields
Pattern : Name Also Known As Other names for the pattern. Intent Rationale and intended use Motivation A scenario of application Dependency Managed The dependency managed by the coordination pattern Structure An illustration of the entities involved Collaborations How the entities involved interact Implementation Implementation remarks
Sample Code An 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 Uses Where the pattern can be found in application. The rule- of-three applies: There should be at least three distinct known applications to qualify as a pattern. Related Patterns Patterns related to the one described. The pattern template
Coordination Language for Mobility n Linda : a language able to support support interaction with multiple information systems ( C/S is bound to two-party interaction ) n MOS ( Mobile Object Spaces ) –Object oriented Linda variant implemented in JAVA
MOS objects : Databag n 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 n Subtype of Databag. Introduces notion of processes that can be blocked and resumed. n 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 n Collections of agents. –It is an environment in which active resources execute. n Subtype of Objectbag. Introduces the notion of starting, stopping and copying a precess.
MOS objects : Agentbag (cont’d) n 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 n Clients : precesses that use Databag or and Objectbag. n Agents : clients that implement an Objectbag as their state and can be used by clients. n Hosts : agents that implement an Agentbag. n Nodes : hosting a host, not hosted
MOS implementation with JAVA n DataSpace : Implementation of Databag n ObjectSpace : Implementation of Objectbag. It is an Agent. n AgentSpace : Implementation of Agentbag n Registry : Special agent whose state is a collection of references running on that host
Coordinating Mobility in MOS n Coordination with the presence of information –Can be managed by a.rd(j), a.in(j) n Coordination with other agents at locations –Can be managed by registry –registry.rdp(r), registry.rd(r) n Coordination with human user –similar to agents because we assume that human users are represented by some agents
Simple Coordination Patterns n Pull - SQL servers, Web-services, c/s interaction n Push - DB, URL minder, MBone InfoUser Query Result InfoUser Query Result
Cont’d n Index - Web search engine, Web cache Info User Index Query Result Query All
Conclusion n Understanding mobility as a mechanism that manages dependencies can lead to a uniform model of communication, synchronization and mobility. n Coordination patterns description leads to schemas of complex coordination activities above the level of coordination language primitives.