210 likes | 576 Views
Agent & JADE. 2008. 01. 15 분산 컴퓨팅 및 데이터베이스 연구실 석사 2 학기 Park, Moohyun. What is an Agent?. Agent? 사람을 대신하여 사람이 해야 할 일을 대신 하는 소프트웨어라고 넓게 정의할 수 있다 . Agent 의 구분 Mobile Agent 관리자의 개입이 없이 정해진 스케줄에 따라 네트워크를 돌아다니며 각종 정보를 수집하거나 서비스를 수행하는 소프트웨어 Intelligent Agent
E N D
Agent & JADE 2008. 01. 15 분산 컴퓨팅 및 데이터베이스 연구실 석사 2학기 Park, Moohyun.
What is an Agent? • Agent? • 사람을 대신하여 사람이 해야 할 일을 대신 하는 소프트웨어라고 넓게 정의할 수 있다. • Agent 의 구분 • Mobile Agent • 관리자의 개입이 없이 정해진 스케줄에 따라 네트워크를 돌아다니며 각종 정보를 수집하거나 서비스를 수행하는 소프트웨어 • Intelligent Agent • 사람의일을 대신 수행해야 하기 때문에 지능적인 판단을 하는 소프트웨어 • Internet Agent • 미리제공된 매개변수들을 이용하여 전체 또는 일부 인터넷을 검색하여 관심이 있는 정보를 모으는 소프트웨어 • AnalysisAgent • 사용자의 성향에 기반하여 관련된 데이터를 모으거나 조직화 하고 정보를 해석하는 소프트웨어 • InterfaceAgent • 특정 상황에 사이트가 갱신되었거나 이벤트가 발생하였을 때, 알려주는 소프트웨어
What is an Agent? • Agent’s character • 자율성 (Autonomy): 사람이나 다른 사물의 직접적인 간섭 없이 스스로 판단하여 동작 • 사회성 (Social ability) : ACL을 사용하여 사람 또는 다른 에이전트들과 상호작용 • 반응성 (Reactivity) : 다른 에이전트나 인터넷 같은 환경을 인지하여 서로의 변화에 적절히 반응 • 능동성 (Pro-Activity) : 환경에 대한 반응 뿐만 아닌 그에 반하지 않은 의미를 가지고 목표 지향적으로 동작 • 시간 연속성 (Temporal Continuity): 전면에서 실행하고 실행 후에 잠시 휴식을 하는 연속적인 수행의 동작 • 목표 지향성 (Goal-Oriented) : 복잡한 고수준 작업 처리를 위하여 작은 세부 작업으로 분할, 처리 순서의 결정 등을 책임 • 이동성 (Mobility) : 사용자 또는 목적에 적합한 동작을 위하여 환경에 종속적이지 않은 이동성을 지원
What is an Agent? • Differences from other Software • Personalized: 개인에게적합화 되어 있거나 스스로 적응 • Customized : 사용자마다동일한 Agent가 서로 다른 동작 • Pro-Active : 목적을 가지고 특별한 이벤트가 없이도 능동적으로 동작 • Take initiative, long-lived : 자율적으로 행동하며, 오랫동안 동작 • Short-term adaptive : 빠른 시간 내에 환경에 적응 작업의 처리과정 Agent를이용한작업
What is an Agent? • MAS (Multi-Agent System)? • 독립적인 에이전트의 집합으로 기존 응용 프로그램 집합으로는 해결할 수 없는 보다 복잡한 서비스를 다른 에이전트와의 협력을 통해서 제공하는 시스템 • MAS의 기술적 문제점 • 설계자가 MAS를 이용하여 그들의 문제를 명확하게 명시하고 구성할 수 있는 시스템적인 방법의 부재 • 산업 전반에 널리 퍼진 MAS 도구의 부족 • 에이전트가 사회적이고, 또한 기술적이라는 측면
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제공
Agent Repository Agent Platform Agent Management System Directory Facilitator White Pages Service Yellow Pages Service Message Transport System Agent Communication Channel Agent Platform Message Transport System FIPA Agent • FIPA (The Foundation for Intelligent Physical Agents) 에서 제안하는 표준 에이전트 플랫폼 • AMS (The Agent Management System) • 플랫폼 상에서 에이전트의 사용을 위한 제어의 동작, 네이밍 서비스, lifeCycle의관리, White pages Service • DF (Directory Facilitator) • Yellow Pages Service • MTS (Message Transport System) • 메시지 송·수신의 연속성 제공 • ACL (Agent Communication Language) • ACC (Agent Communication Channel)
The main container of the platform; 모든 다른 컨테이너들이 등록되면 동작이 가능하게 관리 JADE Environment CONTAINER ; JADE runtime environment의인스턴스를 시작 PLATFORM ; 동작하는 Container의 집합
Agent life cycle • JADE의 에이전트는 FIPA에서 제공하는 Agent Platform Life Cycle Spec에따라 다음과 같은 상태를 지원한다.
JADE를 이용한 Agent 생성 • CreateAgents • Jade.Core.Agent 클래스를이용한 Setup() 메소드의 정의로 Agent 생성 • 각각의 Agent는 AID(jade.core.AID)에 의해 독립적으로 구성 • getAID() 메소드를 이용하여 AID를확인
Agent의동작의 정의 • Agent Behaviours • Agent의 실질적인 동작은 Behaviours의모임으로 이루어진다. • Behaviours는 자바 객체이며, jade.core.behaviours.Behaviour클래스의 확장 • addBehaviour() 메소드로 추가
Agent의 이동성의 지원 • Mobile Agent • 이동성을지원하는 Agent는 jade.domain.mobility 클래스를 상속 • beforeMove(), afterMove() 메소드를 이용하여 이동 전과 이동 후의 동작에 관한 행동을 구현 Migrate Migrate Migrate
연구목적 • 유비쿼터스 컴퓨팅 환경에서의 상황정보 시스템 • 다양한 분산 플랫폼에서 유무선 네트워크 인프라를 기반으로 정보를 수집하거나 교환하여 사용자 상황에 따른 각종 정보를 제공하는 시스템 • 기존 클라이언트 / 서버 패러다임의 상황정보 시스템 • 멀티에이전트 기반 상황정보 시스템의 제안 • 구성요소간의 빈번한 상호작용 • 실시간 처리시간의 지연 • 네트워크 부하 • 위치에 따라 변화되는 상황의 동적 지원
Dynamic Binder Mobile Proxy & Agent Dynamic Binder Information Repository Group Manager Group Manager Security Information Repository Context Provider Security Mobile Proxy & Agent 에이전트 기반 상황정보 시스템 • 소프트웨어 구조 • 분산객체그룹 프레임워크와 에이전트 플랫폼 • Mobile Proxy를 통한 플랫폼과의 통신 • 모바일 디바이스 지원 CDOGF를 이용한 이질적인 환경지원 구조 • 실행객체와 데이터 타입에 맞는 서비스를 제공 Compact Distributed Object Group Manager Agent Platform Agent Management System Directory Facilitator TMO Supporting Middleware White Pages Service Yellow Pages Service Operating System & Communication Network Distributed Object Group Manager Message Transport System Agent Repository Agent Platform Agent Communication Channel Agent Management System Directory Facilitator Mobile Agent , Object Data White Pages Service Yellow Pages Service TMO Supporting Middleware Message Transport System Operating System & Communication Network
Public Operation Agent GUI Agent Text Service Agent Receive Result Agent Master Agent Collect Agent 에이전트 기반 상황정보 시스템 • 멀티 에이전트 구조 • Management Agent Group • 에이전트의 이동과 상태에 관한 명령 • 결과값의 처리 여부에 관한 명령 • 분산되어 있는 시스템 환경분석 • Slave Agent Group • 시스템의 환경에 맞는 상황정보 제공 • 필요한 데이터에 관한 정보 수집 • 호스트의 특성에 따른 GUI환경 제공 Agent Server System Slave Agent Group … Adaptation
에이전트 기반 상황정보 시스템 • 상황정보 서비스 수행 과정
상황정보 시스템 구축 • Server Layer • DOGF의 Mobile Proxy & Agent 객체와 JADE와의 연동 • 각 장치들이 수집하는 데이터를 수신하여 필요한 객체에 전달 • 수집된 데이터를 통하여 어플리케이션에 적합한 데이터의 생성 • 시스템 내의 모든 에이전트들의 동작 관리 • Mobile Device Layer • 시스템에 알맞은 DOGF 또는 CDOGF와 JADE의 동작 • 각각의 장치에 알맞은 GUI와 서비스를 위한 에이전트의 동작 • 모든 이동장치는 센서로부터 데이터 수집가능 GUI For PDA Receive Result Agent Collect Agent Text Service Agent Public Operation Agent PDA Monitoring Server GUI Agent Collect Agent Text Service Agent UMPC Master Agent GUI Agent Sensors Collect Agent Stream Service Agent Move Agent Move Data Proxy Server Laptop
상황정보 시스템 구축 • Sensor Layer • 상황정보를 서비스하기 위하여 환경, 건강, 위치정보를 제공 • 환경정보 : Nano-Q+ (온도, 조도, 습도), u-Star (동체감지, 진동) • 건강정보 : Clever (혈당, 혈압, 맥박), Webdoc (체지방) • 위치정보 : Cricket (초음파), On/Off 스위치 (사용자 이벤트) Server Mobile Device Sensor