Agentes Inteligentes
description
Transcript of Agentes Inteligentes
Agentes InteligentesAgentes Inteligentes
Rosa Candida PintoRosa Candida Pinto
Metodologias para Metodologias para Sistemas de Software Sistemas de Software Baseados em AgenteBaseados em Agente
Complexidade do Software
... muitas partes ...
... com muitas interações...
Engenharia de Software
Seu papel
Fornecer métodos, ferramentas e procedimentos que facilitem a manipulação da complexidade do software.
É uma disciplina que se preocupa com os problemas práticos inerentes ao
desenvolvimento de sistemas de grande porte.
Ciclo de Vida do Software
Refere-se à progressão dos projetos de software, ao desenvolvimento e manutenção, e eventualmente à sua substituição.
Engenharia de Software
Especificação Projeto Validação Evolução
Engenharia de Requisitos
Atividades do Processo Estudo de viabilidade
Análise de requisitos
Definição de requisitos
Especificação de requisitos
É o processo de:
Refinamento Verificaçãodas necessidades do cliente
Aquisição
Com o objetivo de obter uma especificação correta e completa dos requisitos.
Eng. de Software X Eng. de Requisitos
Engenharia de Requisitos
Objetivos do Sistema
Engenharia de Software
Documentos de Requisito
Especificação de Software
Projeto
Pedaços de Código
Metodologia de Análise e Projeto
Metodologia de Análise e Projeto
Metodologias de Análise e Projeto Responsabilidades
Suportar o processo de elicitação dos requisitos e do sistema
Analisar o ambiente organizacional
Projetar o sistema de informação
Fases e Modelos
Fase de Requisitos Iniciais e Análise
Fase de Projeto
MAP: Fase de Análise Trata com a especificação do sistema
Modela o domínio da aplicação usando noções abstratas e gera o modelo conceitual - organizacional
Envolve a engenharia de requisito, a modelagem estratégica e a modelagem empresarial
Modelo Conceitual descreve ...
O processo organizacional
As entidades organizacionais
Relacionamentos entre as entidades organizacionais
Trata como o sistema realizará os requisitos Modela o sistema de informação
Modelo de Projeto fornece ... Informações detalhadas de com o que o sistema parece . . . . . . Sem fornecer instruções de como implementar o projeto
É similar a um plano de arquitetura: descreve a forma exata do produto final sem especificação das técnicas e métodos que devem ser usados para realizar o plano.
MAP: Fase de Projeto
Usando conceitos concretos que descrevem componentes de software diretamente . . .
. . . Gerando o modelo de projeto
Paradigmas
Orientada a Função : Top-dow [Yord,1992]
Orientada a Dados : Relacional [Cood,1970]
Orientada a Objetos : Booch/Rambough/ Jacobson [Booc, 1999]
Orientada a Agentes : Shalon [Shoh,1993]
Orientada a Requisitos : Tropos [Mylo,2000]
Metodologias de Análise e Projeto
Agentes do Ponto de vista da ES
É o sistema de computador encapsulado que se encontra situado em algum ambiente e é capaz de ter ações flexíveis e autônomas naquele ambiente a fim de alcançar seus objetivos de projeto [Wool,1995].
Esse é o conceito de agente fraco definido em [Wool,1995](i.e., tem autonomia, habilidade social, reativos e pró-ativos)
MAP Orientada a Agente- MAPOA -
Cobre as fases iniciais - especificação e projeto- do ciclo de vida de uma aplicação baseada em agente.
Abordagens da 1a. Geração de MAPOA
Expansão de metodologias existentes
MAP Orientada a Agente- MAPOA -
Metodologia Orientada a Objeto
Engenharia do Conhecimento
MAPOA: Extensão OOVantagens
Há similaridade entre os paradigmas - OO e OA
Linguagens OO são usadas comumente para implementar sistemas baseados em agentes
Popularidade da metodologia OO
As visões de sistemas em metodologias OO são úteis na descrição de agentes. - estática, dinâmica e funcional -
Comunicam-se por passagem de mensagem
OO: é só uma invocação de método; Sempre executa a ação solicitada.
OA: distingue diferentes tipos de mensagens; Modela as mensagens com ato-de-fala; Usa protocolos complexos para negociar; Pode ou não executar a ação solicitada.
MAPOA: Extensão OOOA X OO
Estado Mental OA: agentes podem ser caracterizados pelo seu estado mental OO: não define técnicas para modelagem de como o agente executa suas inferências, seus processos de planejamento, etc.
Dimensão Social
OA: agentes são caracterizados pelas suas dimensões sociais OO: não define procedimentos para modelagem desses relacionamentos sociais entre agentes.
MAPOA: Extensão OOOA X OO
Metodologia Orientada a Agente Baseada em BDI - Beliefs, Desires and Intentions [Kinn,1996]
MAPOA: Extensão OOSoluções Existentes
AUML Agente [Odel,2000]
Metodologia Gaia para Análise e Projeto Orientado a Agente [Wool,2000]
MAPOA: Extensão ECVantagens
Fornece as técnicas para modelagem do conhecimento do agente.
A definição de conhecimento do agente pode ser considerada como um processo de aquisição de conhecimento
Popularidade Experiência já adquirida nessa metodologia
MAPOA: Extensão ECVantagens
É possível reusar:
Ferramentas existentes
Bibliotecas de Ontologias desenvolvidas;
Biblioteca de Métodos de Resolução de Problemas
Aspecto Distribuído
EC: concebem um sistema baseado em conhecimento como algo centralizado. OA: os agentes possuem: Aspectos sociais ou distribuídos; Atitudes refletidas e orientadas a objetivos.
MAPOA: Extensão ECOA X EC
MAPOA: Extensão ECSoluções Existentes
CoMoMAS: CommonKADS para modelagem MAS
MAS-CommonKADS
CoMoMAS X MAS-CommoKADS
MAPOA: Extensão ECSoluções Existentes
Construídos sobre técnicas e modelos do CommonKADS
Estendidos para capturar aspectos relevantes de sistemas multiagentes
CoMoMAS: é uma MAP para desenvolvimento de sistemas multiagentes MAS-CommonKADS: é um ambiente para suportar o desenvolvimento de descrições conceituais de sistemas multiagentes
MAP Orientada a AgenteUm Estudo de Caso
Sistema de Gerenciamento de Tráfego Aéreo
Metodologia: Técnicas de Modelagem de Agentes para Sistemas de Agentes BDI
MAP Orientada a AgenteUm Estudo de Caso
Metodologia: Técnicas de Modelagem de Agentes para Sistemas de Agentes BDI - MOA/BDI -
Ponto de Vista Externo
MOA/BDI: Níveis Principais
Consiste da decomposição do sistema em agentes e das definições de suas interações
Ponto de Vista Interno
Executa a modelagem de cada classe do agente BDI
A decomposição é executada usando dois modelos de Agentes / de Interações
A modelagem é executada usando três modelos de Crença / de Objetivo / de Plano
Modelo de Agente
MOA/BDI: Ponto de Vista ExternoModelos de Execução
Descreve os relacionamentos hierárquicos entre as diferentes classes de agentes
Identifica as instâncias do agente que podem existir no sistema
Modelo de Interação Descreve as responsabilidades, serviços e
interações entre agentes e o sistema externo Inclui a sintaxe e a semântica das mensagens usadas para a comunicação
1. Identifica os papéis do domínio da aplicação para encontrar os agentes e organiza-los em classes hierárquicas
MOA/BDI: Ponto de Vista ExternoProcesso de Desenvolvimento
Para cada papel: identifica as responsabilidades junto com os serviços fornecidos e usados para cumprir-la
2. Identifica as interações necessárias para cada serviço, o conteúdo de informação e o ato da fala de todas elas
3. Introduz as instâncias dos agentes baseados em considerações de tempo de vida e multiplicidade.
Modelo de Crença - belief
MOA/BDI: Ponto de Vista InternoModelos de Execução
Descreve:
Consiste em um ou mais estado de crença que pode ser definido e usado para especificar o estado inicial do agente
O conjunto de crenças do agente sobre o ambiente
O estado interno do agente
As ações que o agente pode executar
Modelo de Objetivo - goal
MOA/BDI: Ponto de Vista InternoModelos de Execução
Descreve os:
Consiste em:
Um conjunto de objetivos que especificam as metas e o domínio de eventos Um ou mais estados de objetivos usados para especificar o estado mental inicial do agente
Objetivos e ...
... Eventos que o agente pode responder e adotar
Modelo de Plano - plan
MOA/BDI: Ponto de Vista InternoModelos de Execução
Descreve os planos usados para que os agentes alcancem os seus objetivos
Consiste em um conjunto de planos que descrevem:
As propriedades e as estruturas de controle de planos individuais
1. Analisa os diferentes planos para encontrar os objetivos do agente seguindo os passos:
MOA/BDI: Ponto de Vista InternoProcesso de Desenvolvimento
Para cada objetivo, analisa os diferentes contextos nos quais o objetivo tem que ser encontrado;
Para cada um desses contextos, decompõe os objetivos em atividades representados por subobjetivos e ações;
Para cada objetivo, analisar em que ordem e sobre que condições essas atividades e ações necessitam ser executadas, como falhas devem ser conduzidas e gerar um plano para encontrar o objetivo.
2. Constrói as crenças do sistema, seguindo os passos:
MOA/BDI: Ponto de Vista InternoProcesso de Desenvolvimento
Analisa os vários contextos e condições que controlam a execução das atividades e das ações;
Analisa os dados de entradas e saídas requeridos por cada sub-objetivo no plano e assegura-se que essa informação seja disponível tanto como crença ou como saída de sub-objetivos anteriores no plano.
MAP Orientada a AgenteUm Estudo de Caso
Sistema de Gerenciamento de Tráfego Aéreo
Responsabilidade
Sistema de Gerenciamento de Tráfego AéreoEstrutura do Sistema GTA
Auxiliar o controlador de fluxo de tráfego aéreo a:
Determinar a seqüência de aterrissagem de uma aeronave num aeroporto com múltiplas pistas;
Manter a segurança e outras restrições;
Minimizar atrasos e congestionamentos.
Agentes
Sistema de Gerenciamento de Tráfego AéreoEstrutura do Sistema GTA
Permanentes: Coordenador Sequenciador
Modelador do tempo - windmodel.
Variáveis Aeronaves onde cada uma delas: 1. Está associada a um vôo particular e 2. Só existe durante o tempo que está sob controle do controlador de fluxo.
Coordenador
Estrutura do Sistema GTAResponsabilidades dos Agentes Permanentes
Criar e remover os agentes aeronave
Distribuir os planos de vôo iniciais das aeronaves
Sequenciador Determinar o tempo de aterrissagem Interage com os agentes aeronaves e o controlador de vôo para executar essa tarefa.
Modelador do Tempo - windmodel.
Manter um modelo 4-dimensional das condições de clima passada, presente e futura no espaço aéreo controlado
Consistes de três componentes ativos
Estrutura do Sistema GTAAgentes Variáveis Aeronaves
Preditor
Monitor
Agregados num agente concreto simples
Tempo de vida são comuns
Planejador
Interações close
Estrutura do Sistema GTAResponsabilidades dos Preditor
Executar vários serviços entre eles há o principal que: Computa o tempo esperado de chegada - TC
Especifica as escalas - waypoints - no plano de vôo incluindo o pondo final de aterrissagem
Entradas para execução do serviço principal Plano de vôo: pode ser modificado durante o vôo
Profile de performance da aeronave, a qual é determinada pelo tipo da aeronave e pelas condições climáticas para determinar os últimos usa o agente windmodel
A computação do tempo de chegada produz:
Tempos estimados e envelopes de performance os quais ...
... São anteriores e posteriores aqueles que a aeronave pode chegar ao ponto de escala enquanto ... ... Permanece dentro do seu perfil de operação permitido.
Fornece as informações encontradas ao Monitor e o Planejador
Estrutura do Sistema GTAResponsabilidades dos Preditor
Recebe uma informação tri-dimensional derivada dos dados do radar e da comparação do TC atual com aquele predito.
Se ocorre desvios significativos ele analisa a razão para a ocorrência e notifica o Preditor e o Planejador.
Estrutura do Sistema GTAResponsabilidades dos Monitor
Causas de desvio do vôo:
Não seguir o plano de vôo : detectado pelo radar Não voou na altitude planejada : detectado pelo radar
Não manteve a velocidade planejada : análise global
Informações imprecisas do tempo : análise global
Análise Global:
Comparar o comportamento de várias aeronaves O Monitor pede ao Windmodel para executar a análise global
Estrutura do Sistema GTAResponsabilidades dos Monitor
É solicitado pelo Sequenciador para construir um conjunto de planos que permitirão a aeronave aterrizar no horário.
Chamado quando o Sequenciador atribui, ou revisa, a indicação de tempo de pouso da aeronave
Estrutura do Sistema GTAResponsabilidades do Planejador
Plano é :
A Trajetória futura A Velocidade aérea e
O Profile de altitude da aeronave
O Planejador usa diferentes estratégias, algoritmos e heurísticas para produzir essas planos.
A escolha do melhor plano depende do estágio do vôo.
Estrutura do Sistema GTAResponsabilidades dos Planejador
O Planejador envia o conjunto de planos para o controlador de vôo o qual adota um de sua escolha
O Planejador responde as divergências detectadas pelo Monitor determinando se a aeronave pode ainda alcançar o seu tempo de aterrissagem ou não.
Se sim os planos atuais são modificados como requeridos Se não, o Planejador notifica o Sequenciador o qual computa um novo tempo de aterrissagem e repete o ciclo.
Aplicando a Técnica de Modelagem ao GTADiagrama de Classes e Instâncias
PlanejadorA
PreditorA
MonitorA
Aeronave Genérica
A
Dados do Tempo
AProfile
APlano de Vôo
ADados Radar
A
CoordenadorS
Modelo TempoS B737 B747 A320
Windmodel CoordenadorB737 B747 A320
Diagrama de Classes de Crença Predicados Derivados e Funções
Classe Predicado Função
Envelope
Time gen-time {static}Time-list toasTime-list e-toasTime-list l-toasInteger segmentWaypoint nextBoolean deviated = false
on-time (Loen, Time) {eval}Time eta (Wayponit) {eval}
envelope{inverse = flightplan
Flight Plan
Name flight {static}Name profile-name {static}Boolean verifiedInteger priority = 2Altitude cruise-altLoen originWaypoint-list pathTime lta
on-path (Loen) {eval}
gen-time (Envelope, Time)toas (Envelope, Time-list)e-toas (Envelope, Time-list)l-toas (Envelope, Time-list)segment (Envelope, Integer)next (Envelope, Waypoint)deviated(Envelope)
on-time (Envelope, Loen, Time)
envelope (Flightplan, Envelope)flightplan (Envelope, Flightplan)
Time gen-time (Envelope)Time-list toas (Envelope)Time-list e-toas (Envelope)Time-list l-toas (Envelope)Integer segment (Envelope)Waypoint next (Envelope)Boolean devialed (Envelope)
Time eta (Envelop, Wayponit)
Envelope envelope (Flightplan)Flightplan flightplan (Envelop)
flight (Flightplan, Name)profile-name (Flightplan, Name)verified (Flightplan)priority (Flightplan, Integer)cruise-alt (Flightplan,Alttidude)origin (Flightplan, Loen)path (Flightplan, Waypoint-list)lta (Flightplan, Timr)
on-path (Flight, Loen)
Name flight (Flightplan)Name profile-name (Flightplan) Boolean verified (Flightplan)Integer priority(Flightplan)Altitude cruise-alt (Flightplan)Loen origin (Flightplan)Waypoint-list path (Flightplan)
Aplicando a Técnica de Modelagem ao GTAGráfico de Planos
Plan Name
Plan Graph
activation event [ activatrion condition ] / activation action
Plan Body
event [ condition ] / action
[ condition ] / actionevento/ [ condition ]evento/ action
any [ abort condition ] /abort action
fail / fail action
pass / pass action
Documentatiosn
activy formula
MSS - Baseadas em Agentes
Metodologias para Sistemas Metodologias para Sistemas de Software Baseados em de Software Baseados em
AgenteAgente
MSS - Baseados em AgenteMSS - Baseados em Agente
Várias metodologias vem surgindo normalmente extensões de modelos já existentes – OO e EC
Várias características não estão sendo tratadas nessas metodologias – Ex.: projeto de agentes móveis e de interface do usuário
Pode-se concluir que a área encontra-se aberta o suficiente para vários pesquisadores encontrem soluções para os problemas não resolvidos.
Conclusões
MSS - Baseados em AgenteMSS - Baseados em Agente
[Booc-1999] Booch, G., Rumbaugh and Jacobson, I. The Unified Modeling Language User Guide Ed. Addison-Wesley - 1999.
Bibliografias
[Cood-1970] Cood, E. F. A relational Model of Data for Large Shared Data Banks. Communication of the ACM, 13 (06) June 1970.
[Gene-1994] Genesereth, M. R. e Ketchpel, S.P. Softwares Agents. Communications od the
ACM, 37(7):48-53, 1994.
[Buss-1999] Busetta, Paolo, Rönnquist, Ralph, Hodgson, Andrew and Lucas , Andrew. JAKE Intelligent Agents – Components for Intelligent Agents in Java.AgentLink
Newsletter.
[Kinn-1996] Kinny, D., Georgeff, M. and Rao, A. A Methodology and Modelling Technique for Systems of BDI Agents, in W. Van Der Velde and J. Perram, editors., Agents Breaking Away: Proceedings of the Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent World MAAMAW’96, (LNAI Volume 1038). Springer-Verlag: Heidelberg, Germany, 1996.
MSS - Baseados em AgenteMSS - Baseados em AgenteBibliografias
[Shoh-1993] Shoham, Y. Agent-Oriented Program .Artificial Intelligence, 60(1):51-92, 1993.
[Somm-1996] Sommerville, I., Software Engineering – Addison-Wesley – England, 1996.
[Odel-2000] Odell, J., Parunak, H. and Bauer, B. Representing Agents in UML, Proceedings of the AAAI Agents 2000 Conference, (paper submitted), Barcelona, Spain, June 3-7, 2000.
[Mylo-2000] Mylopoulos, J. e Castro J. Tropos: A Framework for Requirements-Driven Software Development. Brinkkemper, J. and Solvberg, A. (eds.), Information Systems Engineering: State of the Art and Research Themes, Springer-Verlag, June 2000, pp. 262-273.
MSS - Baseados em AgenteMSS - Baseados em AgenteBibliografias
[Wool-2000] Wooldridge, M., Jennings, N. and Kinny D. The Gaia Methodology for Agent-Oriented Analyis and Design, Journal of Autonomous Agents and Multi-Agent Systems, (to appear) 2000.
[Wool-2001] Wooldridge M. and Ciancarini , P. Agent-Oriented Software Engineering: The State of the Art In P. Ciancarini and M. Wooldridge, editors, Agent-Oriented Software Engineering. Springer-Verlag Lecture Notes in AI Volume 1957,
January 2001.
[Your-1992] Yourdon, E. Análise Estrutrada Moderna – Ed. Campos - 1992
[Wool-1995] Wooldrige, M. and Jennings, N. R. Intelligent Agents: Theory and Practice, Knowledge Engineering Review 10 (2) (1995) 115-152.