Agentes Inteligentes Rosa Candida Pinto Rosa Candida Pinto Metodologias para Sistemas de Software Baseados em Agente.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto de Sistemas I
Advertisements

Engenharia de Software
ISO Processos do Ciclo de Vida do Software
Gerência de Projetos Wesley Peron Seno Introdução
UML Modelando um sistema.
Modelagem Organizacional
(Unified Modeling Language)
Identificando requisitos
Engenharia de Software
Rational Unified Process(RUP)
Centrado na arquitetura
Projeto de Sistemas de Software
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Metodologias Equipe do Curso de ES para SMA
Sistemas Multi-Agentes
Ambientes de Computação Empresarial e Avaliação de Custos
Linguagens de Modelagem para SMA
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Os Sistemas Multi-agente Viviane Torres da Silva
Metodologias Orientadas a Agentes
Professora: Aline Vasconcelos
Processo Desenvolvimento de Software Tradicional
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Como Desenvolver Sistemas de Informação
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Engenharia de Software
Classes e objetos Modelagem
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Arquitetura Orientado a Serviços
Projeto de Sistemas de Software
Análise e Projeto de Sistemas
Análise e Projeto de Sistemas
Metodologias para construção de SMA
Engenharia de Software
Software engineering, the software process and their support M.M. Lehman Apresentadora: Tarciana Dias da Silva.
Metodologias (Parte II) Viviane Torres da Silva
Análise e Projeto Orientados a Objetos
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Engenharia de Software
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
METODOLOGIA, MÉTODOS E FERRAMENTAS
Laboratório de Programação
Trabalho de Engenharia de Software II
Processos de Software.
Processos de Software.
Análise e Especificação de Requisitos © 2001 Jaelson CastroInformações Gerais 1 Análise e Especificação de Requisitos - IF119 Centro de Informática Jaelson.
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Desenvolvimento de Software Dirigido a Modelos
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Ferramenta de Modelagem de Requisitos e Agentes (TAOM4e) Laís Xavier Prof.: Jaelson Castro.
Gestão de projetos de Software GTI-16
UML e a Ferramenta Astah
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Projeto de Banco de Dados
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Interações entre objetos
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
CMMI Capability Maturity Model Integration
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Agentes Inteligentes Rosa Candida Pinto Rosa Candida Pinto Metodologias para Sistemas de Software Baseados em Agente

Complexidade do Software... muitas partes com muitas interações...

Construir ilusão de... Simplicidade Responsabilidades do Engenheiro de Software

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

 Modelos de Ciclo de Vida do Software São descrições abstratas do processo de desenvolvimento de software, mostrando as atividades e dados usados no ciclo de vida do software. Engenharia de Software

 Modelos Clássico Engenharia de Software

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ção  das necessidades do cliente Aquisição  Com o objetivo de obter uma especificação correta e completa dos requisitos. 

 Tipos de Requisitos: Cedo X Tarde Engenharia de Requisitos Conceitos Pode ser necessário distinguir entres as primeiras fases da análise de requisitos, quando o analista está tentando entender o ambiente da organização, das fases mais tardes quando o analista está começando a formular uma solução.

 Tipos de Requisitos: Cedo X Tarde Engenharia de Requisitos Organização Sistema CedoRequisitosTarde Modelo Organizacional Requisitos Contratuais

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

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

 Responde a: Como o sistema nos auxiliará a realizar os objetivos de negócio? Como o sistema se adaptará com o processo de trabalho? Que unidades organizacionais e entidades externas irão interagir com o sistema? Como o processo de trabalho atenderá a implementação do sistema? MAP: Fase de Análise Modelo Conceitual

 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

Metodologias de A&P  Fase de Projeto Modelo Projeto deve responder a... Que tipos de dados serão usados? Qual será o fluxo de informação dentro do sistema?

 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 1 a. Geração de MAPOA Expansão de metodologias existentes MAP Orientada a Agente - MAPOA - Metodologia Orientada a Objeto Engenharia do Conhecimento

MAPOA: Extensão OO Vantagens 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 OO OA 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 OO OA X OO

Metodologia Orientada a Agente Baseada em BDI - Beliefs, Desires and Intentions [Kinn,1996] MAPOA: Extensão OO Soluções Existentes AUML Agente [Odel,2000] Metodologia Gaia para Análise e Projeto Orientado a Agente [Wool,2000]

MAPOA: Extensão EC Vantagens 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 EC Vantagens É 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 EC OA X EC

MAPOA: Extensão EC Soluções Existentes CoMoMAS: CommonKADS para modelagem MAS M AS-CommonKADS

CoMoMAS X MAS-CommoKADS MAPOA: Extensão EC Soluçõ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 Agente Um 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 Agente Um 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 Externo Modelos 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 Externo Processo 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 Interno Modelos 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 Interno Modelos 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 Interno Modelos 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 Interno Processo 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 Interno Processo 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 Agente Um Estudo de Caso Sistema de Gerenciamento de Tráfego Aéreo

 Responsabilidade Sistema de Gerenciamento de Tráfego Aéreo Estrutura 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éreo Estrutura 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 GTA Responsabilidades 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 c omponentes ativos Estrutura do Sistema GTA Agentes Variáveis Aeronaves Preditor Monitor  Agregados num agente concreto simples Tempo de vida são comuns Planejador Interações close

Estrutura do Sistema GTA Responsabilidades 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 GTA Responsabilidades 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 GTA Responsabilidades 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 GTA Responsabilidades 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 GTA Responsabilidades 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 GTA Responsabilidades 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 GTA Diagrama de Classes e Instâncias  Planejador A Preditor A Monitor A Aeronave Genérica A Dados do Tempo A Profile A Plano de Vôo A Dados Radar A Coordenador S Modelo Tempo S B737B747A320 WindmodelCoordenador B737B747A320

Diagrama de Classes de Crença Predicados Derivados e Funções ClassePredicadoFunção 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 (Loen, Time) {eval} Time eta (Wayponit) {eval} envelope {inverse = flightplan Flight Plan Name flight {static} Name profile-name {static} Boolean verified Integer priority = 2 Altitude cruise-alt Loen origin Waypoint-list path Time 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 GTA Gráfico de Planos Plan Name Plan Graph activation event [ activatrion condition ] / activation action Plan Body event [ condition ] / action [ condition ] / action evento/ [ condition ]evento/ action any [ abort condition ] /abort action fail / fail action pass / pass action Documentatiosn activy formula

MSS - Baseadas em Agentes Metodologias para Sistemas de Software Baseados em Agente

MSS - 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 Agente [Booc-1999] Booch, G., Rumbaugh and Jacobson, I. The Unified Modeling Language User Guide Ed. Addison-Wesley Bibliografias [Cood-1970] Cood, E. F. A relational Model of Data for Large Shared Data Banks. Communication of the ACM, 13 (06) June [Gene-1994] Genesereth, M. R. e Ketchpel, S.P. Softwares Agents. Communications od the ACM, 37(7):48-53, [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 Agente Bibliografias [Shoh-1993] Shoham, Y. Agent-Oriented Program.Artificial Intelligence, 60(1):51-92, [Somm-1996] Sommerville, I., Software Engineering – Addison-Wesley – England, [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, [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

MSS - Baseados em Agente Bibliografias [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) [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 Agent-Oriented Software Engineering: The State of the Art [Your-1992] Yourdon, E. Análise Estrutrada Moderna – Ed. Campos [Wool-1995] Wooldrige, M. and Jennings, N. R. Intelligent Agents: Theory and Practice, Knowledge Engineering Review 10 (2) (1995)