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

Slides:



Advertisements
Similar presentations
Design Patterns.
Advertisements

Advanced SQL Schema Customization & Reporting Presented By: John Dyke As day to day business needs become more complex so does the need for specifically.
Schema Matching and Query Rewriting in Ontology-based Data Integration Zdeňka Linková ICS AS CR Advisor: Július Štuller.
A Prototype Implementation of a Framework for Organising Virtual Exhibitions over the Web Ali Elbekai, Nick Rossiter School of Computing, Engineering and.
The State of the Art in Distributed Query Processing by Donald Kossmann Presented by Chris Gianfrancesco.
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
Technical Architectures
Aalborg Media Lab 21-Jun-15 Software Design Lecture 1 “ Introduction to Java and OOP”
LCT2506 Internet 2 Data-driven web sites Week 5. LCT2506 Internet 2 Current Practice  Combining web pages and data stored in a relational database is.
Software Design and Documentation Individual Presentation: Composite Pattern 9/11/03.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Introduction.
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
Stimulating reuse with an automated active code search tool Júlio Lins – André Santos (Advisor) –
Fundamentals of Python: From First Programs Through Data Structures
SIEVE—Search Images Effectively through Visual Elimination Ying Liu, Dengsheng Zhang and Guojun Lu Gippsland School of Info Tech,
Client/Server Software Architectures Yonglei Tao.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
Object Oriented Software Development
New Protocols for Remote File Synchronization Based on Erasure Codes Utku Irmak Svilen Mihaylov Torsten Suel Polytechnic University.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Towards a Javascript CoG Kit Gregor von Laszewski Fugang Wang Marlon Pierce Gerald Guo
Nipissing University, North Bay, Ontario, Canada 1 Building Reusable Components with Service-Oriented -IBM Eclipse Innovation Grant -IBM Eclipse Innovation.
M1G Introduction to Database Development 6. Building Applications.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
1 Another group of Patterns Architectural Patterns.
Introduction To System Analysis and Design
Advanced Java
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Methods and Models Choice of methods for Development of IT related products and systems SVINGSVING Conference held in Gothenburg, Sweden, October 2000.
ObjectStore Database System By C. Lamb, G Landis, J.Orenstein, L. Weinreb Presentation by Meghana Chemburkar December 4, 2002 Instructor: Dr.Vasilis Megalooikonomou.
IBM TSpaces Lab 1 Introduction. Summary TSpaces Overview Basic Definitions Basic primitive operations Reading/writing tuples in tuplespace HelloWorld.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Chapter 12 Support for Object oriented Programming.
Internet Architecture and Governance
Information Integration By Neel Bavishi. Mediator Introduction A mediator supports a virtual view or collection of views that integrates several sources.
Saving State on the WWW. The Issue  Connections on the WWW are stateless  Every time a link is followed is like the first time to the server — it has.
E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA gLite Information System Pedro Rausch IF.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Thread basics. A computer process Every time a program is executed a process is created It is managed via a data structure that keeps all things memory.
Chapter 10 Algorithmic Thinking. Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
 An essential supporting structure of any thing  A Software Framework  Has layered structure ▪ What kind of functions and how they interrelate  Has.
EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
In this session, you will learn to: Understand managed code Create managed database objects Define the Hypertext Transfer Protocol endpoints Implement.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
Introduction to Oracle Forms Developer and Oracle Forms Services
Component and Deployment Diagrams
Introduction to Oracle Forms Developer and Oracle Forms Services
Object-Oriented Analysis and Design
Introduction to Oracle Forms Developer and Oracle Forms Services
Distribution and components
#01 Client/Server Computing
Mobile Agents Technology - Programming with Aglet
Mobile Agents.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Algorithms and Problem Solving
#01 Client/Server Computing
Presentation transcript:

On Coordinating Information Agents and Mobility 컴퓨터공학과 김상태

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.