500 likes | 653 Views
Agentes Inteligentes. Metodologias para Sistemas de Software Baseados em Agente. Rosa Candida Pinto. Complexidade do Software. ... muitas partes. ... com muitas interações. Engenharia de Software.
E N D
Agentes Inteligentes Metodologias para Sistemas de Software Baseados em Agente Rosa Candida Pinto
Complexidade do Software ... muitas partes ... ... com muitas interações...
Engenharia de Software • É uma disciplina que se preocupa com os problemas práticos inerentes ao desenvolvimento de sistemas de grande porte. • Seu papel • Fornecer métodos, ferramentas e procedimentos que facilitem a manipulação da complexidade do software.
Engenharia de Software • Ciclo de Vida do Software • Refere-se à progressão dos projetos de software, ao desenvolvimento e manutenção, e eventualmente à sua substituição. Especificação Projeto Validação Evolução
Aquisição Com o objetivo de obter uma especificação correta e completa dos requisitos. Engenharia de Requisitos • É o processo de: • Refinamento • Verificação • das necessidades do cliente • Atividades do Processo • Estudo de viabilidade • Análise de requisitos • Definição de requisitos • Especificação de requisitos
Objetivos doSistema Engenharia de Requisitos Documentosde Requisito EspecificaçãodeSoftware Metodologia de Análise e Projeto Projeto Engenharia de Software Pedaços de Código Eng. de Software X Eng. de Requisitos
Fase de Requisitos Iniciais e Análise • Fase de 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
O processo organizacional As entidades organizacionais Relacionamentos entre as entidades organizacionais 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 ...
MAP: Fase de Projeto • Trata como o sistema realizará os requisitos • Modela o sistema de informação Usando conceitos concretos que descrevem componentes de software diretamente . . . . . . Gerando o modelo de projeto • 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.
Metodologias de Análise e 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]
MAP Orientada a Agente- MAPOA - • Cobre as fases iniciais - especificação e projeto- do ciclo de vida de uma aplicação baseada em agente. • 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)
Metodologia Orientada a Objeto Engenharia do Conhecimento MAP Orientada a Agente- MAPOA - • Abordagens da 1a.Geração de MAPOA • Expansão de metodologias existentes
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 -
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 • Comunicam-se por passagem de mensagem
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. 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 • Estado Mental • Dimensão Social
MAPOA: Extensão OOSoluções Existentes • Metodologia Orientada a Agente Baseada em BDI - Beliefs, Desires and Intentions [Kinn,1996] • 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
Ferramentas existentes Bibliotecas de Ontologias desenvolvidas; Biblioteca de Métodos de Resolução de Problemas MAPOA: Extensão ECVantagens • É possível reusar:
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 • Aspecto Distribuído
CoMoMAS: CommonKADS para modelagem MAS • MAS-CommonKADS MAPOA: Extensão ECSoluções Existentes
MAPOA: Extensão ECSoluções Existentes • CoMoMAS X MAS-CommoKADS 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 -
MOA/BDI: Níveis Principais • Ponto de Vista Externo • Consiste da decomposição do sistema em agentes e das definições de suas interações • A decomposição é executada usando dois modelosde Agentes / de Interações • Ponto de Vista Interno • Executa a modelagem de cada classe do agente BDI • A modelagem é executada usando três modelosde Crença / de Objetivo / de Plano
MOA/BDI: Ponto de Vista ExternoModelos de Execução • Modelo de Agente • 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
MOA/BDI: Ponto de Vista ExternoProcesso de Desenvolvimento Identifica os papéis do domínio da aplicação para encontrar os agentes e organiza-los em classes hierárquicas • Para cada papel: identifica as responsabilidades junto com os serviços fornecidos e usados para cumprir-la Identifica as interações necessárias para cada serviço, o conteúdo de informação e o ato da fala de todas elas Introduz as instâncias dos agentes baseados em considerações de tempo de vida e multiplicidade.
O conjunto de crenças do agente sobre o ambiente O estado interno do agente As ações que o agente pode executar MOA/BDI: Ponto de Vista InternoModelos de Execução • Modelo de Crença - belief • Descreve: • Consiste em um ou mais estado de crença que pode ser definido e usado para especificar o estado inicial do agente
MOA/BDI: Ponto de Vista InternoModelos de Execução • Modelo de Objetivo - goal • Descreve os: Objetivos e ... ... Eventos que o agente pode responder e adotar • 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
MOA/BDI: Ponto de Vista InternoModelos de Execução • Modelo de Plano - plan • 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
MOA/BDI: Ponto de Vista InternoProcesso de Desenvolvimento Analisa os diferentes planos para encontrar os objetivos do agente seguindo os passos: • 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.
MOA/BDI: Ponto de Vista InternoProcesso de Desenvolvimento Constrói as crenças do sistema, seguindo os passos: • 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
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. Sistema de Gerenciamento de Tráfego AéreoEstrutura do Sistema GTA • Responsabilidade • Auxiliar o controlador de fluxo de tráfego aéreo a:
Coordenador Sequenciador Modelador do tempo - windmodel. Sistema de Gerenciamento de Tráfego AéreoEstrutura do Sistema GTA • Agentes • Permanentes: • 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.
Estrutura do Sistema GTAResponsabilidades dos Agentes Permanentes • Coordenador • 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
Estrutura do Sistema GTAAgentes Variáveis Aeronaves • Consistes de três componentes ativos • Preditor • Monitor • Planejador • Agregados num agente concreto simples • Tempo de vida são comuns • 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
Estrutura do Sistema GTAResponsabilidades dos Preditor • 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
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 Estrutura do Sistema GTAResponsabilidades dos Monitor • 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. • Causas de desvio do vôo:
Comparar o comportamento de várias aeronaves O Monitor pede ao Windmodel para executar a análise global Estrutura do Sistema GTAResponsabilidades dos Monitor • Análise Global:
A Trajetória futura A Velocidade aéreae O Profile de altitude da aeronave Estrutura do Sistema GTAResponsabilidades do Planejador • É 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 • Plano é :
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. Estrutura do Sistema GTAResponsabilidades dos Planejador • 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. • 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.
Dados do Tempo Profile Plano de Vôo Dados Radar Preditor Planejador Monitor A A A A A A A S A S Aeronave Genérica Modelo Tempo Coordenador B737 B747 A320 Windmodel Coordenador B737 B747 A320 Aplicando a Técnica de Modelagem ao GTADiagrama de Classes e Instâncias
Classe Predicado Função Envelope 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) 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 gen-time {static} Time-list toas Time-list e-toas Time-list l-toas Integer segment Waypoint next Boolean deviated = false on-time (Envelope, Loen, Time) Time eta (Envelop, Wayponit) on-time (Loen, Time) {eval} Time eta (Wayponit) {eval} envelope (Flightplan, Envelope) flightplan (Envelope, Flightplan) Envelope envelope (Flightplan) Flightplan flightplan (Envelop) envelope {inverse = flightplan Flight Plan 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) Name flight (Flightplan) Name profile-name (Flightplan) Boolean verified (Flightplan) Integer priority(Flightplan) Altitude cruise-alt (Flightplan) Loen origin (Flightplan) Waypoint-list path (Flightplan) Name flight {static} Name profile-name {static} Boolean verified Integer priority = 2 Altitude cruise-alt Loen origin Waypoint-list path Time lta on-path (Flight, Loen) on-path (Loen) {eval} Diagrama de Classes de Crença Predicados Derivados e Funções
Plan Name Plan Graph activation event [ activatrion condition ] / activation action Plan Body activy formula event [ condition ] / action evento/ action evento/ [ condition ] [ condition ] / action any [ abort condition ] /abort action fail / fail action Documentatiosn pass / pass action Aplicando a Técnica de Modelagem ao GTAGráfico de Planos
Metodologias para Sistemas de Software Baseados em Agente MSS - Baseadas em Agentes
MSS - Baseados em Agente Conclusões • 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.
MSS - Baseados em Agente Bibliografias [Booc-1999]Booch, G., Rumbaugh and Jacobson, I. The Unified Modeling Language User Guide Ed. Addison-Wesley - 1999. [Buss-1999]Busetta, Paolo, Rönnquist, Ralph, Hodgson, Andrew and Lucas , Andrew. JAKE Intelligent Agents – Components for Intelligent Agents in Java.AgentLink Newsletter. [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. [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 Agente Bibliografias [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. [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. [Somm-1996] Sommerville, I., Software Engineering – Addison-Wesley – England, 1996. [Shoh-1993]Shoham, Y. Agent-Oriented Program .Artificial Intelligence, 60(1):51-92, 1993.
MSS - Baseados em Agente Bibliografias [Wool-2001]WooldridgeM. 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. [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-1995]Wooldrige, M. and Jennings, N. R. Intelligent Agents: Theory and Practice, Knowledge Engineering Review 10 (2) (1995) 115-152. [Your-1992] Yourdon, E. Análise Estrutrada Moderna – Ed. Campos - 1992