21
Distributed Computing & Database Lab. 1 Agent & JADE 2008. 01. 15 분분 분분분 분 분분분분분분 분분분 분분 2 분분 Park, Moohyun.

Agent & JADE

Embed Size (px)

DESCRIPTION

Agent & JADE. 2008. 01. 15 분산 컴퓨팅 및 데이터베이스 연구실 석사 2 학기 Park, Moohyun. What is an Agent?. Agent? 사람을 대신하여 사람이 해야 할 일을 대신 하는 소프트웨어라고 넓게 정의할 수 있다 . Agent 의 구분 Mobile Agent 관리자의 개입이 없이 정해진 스케줄에 따라 네트워크를 돌아다니며 각종 정보를 수집하거나 서비스를 수행하는 소프트웨어 Intelligent Agent - PowerPoint PPT Presentation

Citation preview

Page 1: Agent & JADE

Distributed Computing & Database Lab. 1

Agent & JADE2008. 01. 15

분산 컴퓨팅 및 데이터베이스 연구실석사 2 학기

Park, Moohyun.

Page 2: Agent & JADE

Distributed Computing & Database Lab.

What is an Agent?What is an Agent? Agent?

사람을 대신하여 사람이 해야 할 일을 대신 하는 소프트웨어라고 넓게 정의할 수 있다 .

Agent 의 구분 Mobile Agent

관리자의 개입이 없이 정해진 스케줄에 따라 네트워크를 돌아다니며 각종 정보를 수집하거나 서비스를 수행하는 소프트웨어

Intelligent Agent 사람의 일을 대신 수행해야 하기 때문에 지능적인 판단을 하는 소프트웨어

Internet Agent 미리 제공된 매개변수들을 이용하여 전체 또는 일부 인터넷을 검색하여 관심이

있는 정보를 모으는 소프트웨어 Analysis Agent

사용자의 성향에 기반하여 관련된 데이터를 모으거나 조직화 하고 정보를 해석하는 소프트웨어

Interface Agent 특정 상황에 사이트가 갱신되었거나 이벤트가 발생하였을 때 , 알려주는

소프트웨어

2

Page 3: Agent & JADE

Distributed Computing & Database Lab.

What is an Agent?What is an Agent? Agent’s character

자율성 (Autonomy) : 사람이나 다른 사물의 직접적인 간섭 없이 스스로 판단하여 동작

사회성 (Social ability) : ACL 을 사용하여 사람 또는 다른 에이전트들과 상호작용

반응성 (Reactivity) : 다른 에이전트나 인터넷 같은 환경을 인지하여 서로의 변화에 적절히 반응

능동성 (Pro-Activity) : 환경에 대한 반응 뿐만 아닌 그에 반하지 않은 의미를 가지고 목표 지향적으로 동작

시간 연속성 (Temporal Continuity): 전면에서 실행하고 실행 후에 잠시 휴식을 하는 연속적인 수행의 동작

목표 지향성 (Goal-Oriented) : 복잡한 고수준 작업 처리를 위하여 작은 세부 작업으로 분할 , 처리 순서의 결정 등을 책임

이동성 (Mobility) : 사용자 또는 목적에 적합한 동작을 위하여 환경에 종속적이지 않은 이동성을 지원

3

Page 4: Agent & JADE

Distributed Computing & Database Lab.

What is an Agent?What is an Agent? Differences from other Software

Personalized : 개인에게 적합화 되어 있거나 스스로 적응 Customized : 사용자마다 동일한 Agent 가 서로 다른 동작 Pro-Active : 목적을 가지고 특별한 이벤트가 없이도 능동적으로 동작 Take initiative, long-lived : 자율적으로 행동하며 , 오랫동안 동작 Short-term adaptive : 빠른 시간 내에 환경에 적응

4

작업의 처리과정 Agent 를 이용한 작업

Page 5: Agent & JADE

Distributed Computing & Database Lab.

What is an Agent?What is an Agent? MAS (Multi-Agent System)?

독립적인 에이전트의 집합으로 기존 응용 프로그램 집합으로는 해결할 수 없는 보다 복잡한 서비스를 다른 에이전트와의 협력을 통해서 제공하는 시스템

MAS 의 기술적 문제점 설계자가 MAS 를 이용하여 그들의 문제를 명확하게 명시하고 구성할 수

있는 시스템적인 방법의 부재 산업 전반에 널리 퍼진 MAS 도구의 부족 에이전트가 사회적이고 , 또한 기술적이라는 측면

5

Page 6: Agent & JADE

Distributed Computing & Database Lab.

What is JADE?What is JADE? JADE (Java Agent DEvelopment Framework)?

Telecom Italia 의 TiLab 에서 개발 자바 언어로 된 에이전트 구현 소프트웨어 프레임워크 FIPA 의 구조를 가지고 있는 멀티에이전트 시스템 구현의 지원 Homepage : http://jade.cselt.it/index.html

JADE’s character Open Source 로써 개발의 자유로움 실행 객체의 이동성 지원 이질적인 환경에서의 적응성 디버깅을 지원하는 다양한 Tools 제공

6

Odyssey Aglet JADE

Remote creation of agent No No Yes

Messaging modes None None Transparent

Move to object No No Yes

Mobility Java RMI, CORBA IIOP Aglet Transfer Protocol CORBA IIOP, HTTP

Itineraries Yes, special API Yes, special API Yes, special API

Connectivity Restricted Restricted Full

Security Limited, sandbox model Limited, sandbox model Security manager

Page 7: Agent & JADE

Distributed Computing & Database Lab.

FIPA AgentFIPA Agent FIPA (The Foundation for Intelligent Physical Agents)

에서 제안하는 표준 에이전트 플랫폼 AMS (The Agent Management System)

플랫폼 상에서 에이전트의 사용을 위한 제어의 동작 , 네이밍 서비스 , life Cycle 의관리 , White pages Service

DF (Directory Facilitator) Yellow Pages Service

MTS (Message Transport System) 메시지 송 · 수신의 연속성 제공

ACL (Agent Communication Language) ACC (Agent Communication Channel)

7

Agent Communication Channel

Agent PlatformAgent Platform

Message Transport SystemMessage Transport System

AgentAgentManagement SystemManagement System

White PagesWhite PagesServiceService

Directory FacilitatorDirectory Facilitator

Yellow PagesYellow PagesServiceService

Agent RepositoryAgent Repository

Agent PlatformAgent Platform

Message Transport SystemMessage Transport System

Page 8: Agent & JADE

Distributed Computing & Database Lab.

JADE EnvironmentJADE Environment

8

CONTAINER ;JADE runtime

environment 의 인스턴스를 시작PLATFORM ;

동작하는 Container 의 집합

The main container of the platform;

모든 다른 컨테이너들이 등록되면 동작이 가능하게 관리

Page 9: Agent & JADE

Distributed Computing & Database Lab.

Agent life cycleAgent life cycle JADE 의 에이전트는 FIPA 에서 제공하는 Agent Platform Life

Cycle Spec 에 따라 다음과 같은 상태를 지원한다 .

9

Page 10: Agent & JADE

Distributed Computing & Database Lab.

JADEJADE 를 이용한 를 이용한 AgentAgent 생성생성 Create Agents

Jade.Core.Agent 클래스를 이용한 Setup() 메소드의 정의로 Agent 생성 각각의 Agent 는 AID(jade.core.AID) 에 의해 독립적으로 구성 getAID() 메소드를 이용하여 AID 를 확인

10

Page 11: Agent & JADE

Distributed Computing & Database Lab.

AgentAgent 의의 동작의 정의동작의 정의 Agent Behaviours

Agent 의 실질적인 동작은 Behaviours 의 모임으로 이루어진다 . Behaviours 는 자바 객체이며 , jade.core.behaviours.Behaviour 클래스의

확장 addBehaviour() 메소드로 추가

11

Page 12: Agent & JADE

Distributed Computing & Database Lab.

AgentAgent 의 이동성의 지원의 이동성의 지원 Mobile Agent

이동성을 지원하는 Agent 는 jade.domain.mobility 클래스를 상속 beforeMove(), afterMove() 메소드를 이용하여 이동 전과 이동 후의 동작에

관한 행동을 구현

12

Migrate

Migrate

Migrate

Page 13: Agent & JADE

Distributed Computing & Database Lab.

멀티 에이전트 기반 상황정보 서비스

13

Page 14: Agent & JADE

Distributed Computing & Database Lab.

연구목적 유비쿼터스 컴퓨팅 환경에서의 상황정보 시스템

다양한 분산 플랫폼에서 유무선 네트워크 인프라를 기반으로 정보를 수집하거나 교환하여 사용자 상황에 따른 각종 정보를 제공하는 시스템

기존 클라이언트 / 서버 패러다임의 상황정보 시스템

멀티에이전트 기반 상황정보 시스템의 제안

14

구성요소간의 빈번한 상호작용구성요소간의 빈번한 상호작용

실시간 처리시간의 지연실시간 처리시간의 지연

네트워크 부하네트워크 부하

위치에 따라 변화되는 상황의 동적 지원위치에 따라 변화되는 상황의 동적 지원

구성요소간의 빈번한 상호작용구성요소간의 빈번한 상호작용

실시간 처리시간의 지연실시간 처리시간의 지연

네트워크 부하네트워크 부하

위치에 따라 변화되는 상황의 동적 지원위치에 따라 변화되는 상황의 동적 지원

Page 15: Agent & JADE

Distributed Computing & Database Lab.

상황인식 기술의 확장

15

Page 16: Agent & JADE

Distributed Computing & Database Lab.

에이전트 기반 상황정보 시스템 소프트웨어 구조

분산객체그룹 프레임워크와 에이전트 플랫폼 Mobile Proxy 를 통한 플랫폼과의 통신

모바일 디바이스 지원 CDOGF 를 이용한 이질적인 환경 지원 구조 실행객체와 데이터 타입에 맞는 서비스를 제공

16

Agent PlatformAgent Platform

Message Transport SystemMessage Transport System

AgentAgentManagement SystemManagement System

White PagesWhite PagesServiceService

Directory FacilitatorDirectory Facilitator

Yellow PagesYellow PagesServiceService

Agent Communication Channel

Distributed Object Group ManagerDistributed Object Group Manager

GroupGroupManagerManager SecuritySecurity InformationInformation

RepositoryRepositoryContextContextProviderProvider

TMO Supporting MiddlewareTMO Supporting Middleware

Operating System & Communication NetworkOperating System & Communication Network

DynamicDynamicBinderBinder

MobileMobileProxyProxy

& Agent& Agent

Compact Distributed Object Group ManagerCompact Distributed Object Group Manager

GroupGroupManagerManager SecuritySecurity InformationInformation

RepositoryRepositoryDynamicDynamicBinderBinder

TMO Supporting MiddlewareTMO Supporting Middleware

Operating System & Communication NetworkOperating System & Communication Network

MobileMobileProxyProxy

& Agent& Agent

Agent PlatformAgent Platform

Message Transport SystemMessage Transport System

AgentAgentManagement SystemManagement System

White PagesWhite PagesServiceService

Directory FacilitatorDirectory Facilitator

Yellow PagesYellow PagesServiceService

Mobile AgentMobile Agent

,

Ob

ject

Ob

ject

Data

Data

Agent RepositoryAgent Repository

Page 17: Agent & JADE

Distributed Computing & Database Lab.

에이전트 기반 상황정보 시스템 멀티 에이전트 구조

Management Agent Group■ 에이전트의 이동과 상태에 관한 명령■ 결과값의 처리 여부에 관한 명령■ 분산되어 있는 시스템 환경 분석

Slave Agent Group■ 시스템의 환경에 맞는 상황정보 제공■ 필요한 데이터에 관한 정보 수집■ 호스트의 특성에 따른 GUI 환경 제공

17

Agent Server SystemAgent Server System

Slave Agent GroupSlave Agent Group

MasterMasterAgentAgent

ReceiveReceiveResultResultAgentAgent

TextTextServiceServiceAgentAgent

CollectCollectAgentAgent

AdaptationAdaptation

PublicPublicOperationOperation

AgentAgentGUIGUI

AgentAgent …

Page 18: Agent & JADE

Distributed Computing & Database Lab.

에이전트 기반 상황정보 시스템 상황정보 서비스 수행 과정

18

Page 19: Agent & JADE

Distributed Computing & Database Lab.

상황정보 시스템 구축 Server Layer

DOGF 의 Mobile Proxy & Agent 객체와 JADE 와의 연동 각 장치들이 수집하는 데이터를 수신하여 필요한 객체에 전달 수집된 데이터를 통하여 어플리케이션에 적합한 데이터의 생성 시스템 내의 모든 에이전트들의 동작 관리

Mobile Device Layer 시스템에 알맞은 DOGF 또는 CDOGF 와 JADE 의 동작 각각의 장치에 알맞은 GUI 와 서비스를 위한 에이전트의 동작 모든 이동장치는 센서로부터 데이터 수집가능

19Laptop

Proxy Server

Sensors

UMPC

PDA

Monitoring Server

CollectCollectAgentAgent

CollectAgent

CollectAgent

GUIAgent

StreamServiceAgent

GUIAgent

TextServiceAgent

GUIGUIForForPDAPDA

TextTextServiceServiceAgentAgent

Move Agent

ReceiveReceiveResultResultAgentAgent

MasterMasterAgentAgent

PublicPublicOperationOperation

AgentAgent

Move Data

Page 20: Agent & JADE

Distributed Computing & Database Lab.

상황정보 시스템 구축 Sensor Layer

상황정보를 서비스하기 위하여 환경 , 건강 , 위치정보를 제공 환경정보 : Nano-Q+ ( 온도 , 조도 , 습도 ), u-Star ( 동체감지 , 진동 ) 건강정보 : Clever ( 혈당 , 혈압 , 맥박 ), Webdoc ( 체지방 ) 위치정보 : Cricket ( 초음파 ), On/Off 스위치 ( 사용자 이벤트 )

20

Server

Sensor

MobileDevice

Page 21: Agent & JADE

Distributed Computing & Database Lab.

구현된 시스템의 시현

21