Engenharia de Software Orientada a Agentes

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Requisitos de Software
UML Diagramas de Caso de Uso (USE-CASE)
Inteligência Artificial
GERENCIAMENTO DE INTEGRAÇÃO DO PROJETO
UML Visões – Parte 2.
(Unified Modeling Language)
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Engenharia de Software
Rational Unified Process(RUP)
Gestão de Projetos Áreas de conhecimentos Integração
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Inteligência Artificial Alex F. V. Machado. Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston.
Centrado na arquitetura
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Metodologias Equipe do Curso de ES para SMA
Linguagens de Modelagem
Linguagens de Modelagem (cont.) (IV)
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Linguagens de Modelagem para SMA
Os Sistemas Multi-agente Viviane Torres da Silva
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Aprendizagem Viviane Torres da Silva
Modelos Baseados em Agentes
Metodologias Orientadas a Agentes
Introdução a diagrama de classes e UML
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
AORML Agent-Object-Relationship Modeling Language Inteligência Artificial 2007/02 Renata S.S. Guizzardi.
O processo de coletar os requisitos (escopo do cliente)
Análise e Projeto de Sistemas
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Arquitetura Orientado a Serviços
Arquitetura de software
PMBOK 5ª Edição Capítulo 3
Gerenciamento do Escopo: principais conceitos
UML Modelagem e Programação Orientada a Objetos
Metodologias para construção de SMA
ANÁLISE E DESENVOLVIMENTO
Metodologias (Parte II) Viviane Torres da Silva
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
O Processo Unificado (UP)
RUP - Cap. 4 – Processo Centrado na Arquitetura
GERENCIAMENTO DE PROJETOS DE T.I
Laboratório de Programação
Revisão 2º Bimestre Engenharia de Software I
Análise e Projeto de Sistemas
Desenvolvimento de Software Dirigido a Modelos
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Gestão de projetos de Software GTI-16
Integração.
UML e a Ferramenta Astah
Engenharia de Software e Sistemas
Engenharia de Software Orientada a Agentes
Organização de Sistemas Multiagentes Prof. Fred Freitas CIn - UFPE.
Análise e Projeto de Sistemas
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Interações entre objetos
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
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.
Análise e Design de Software Site:
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Transcrição da apresentação:

Engenharia de Software Orientada a Agentes Renata S. S. Guizzardi 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Resumo Por que Engenharia de Software orientada a Agentes? Agentes x Objetos Metodologias de ESOA Programação Orientada a Agentes 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Duas Visões Inteligência Artificial: enfatiza o comportamento flexível e inteligente dos agentes, vistos como entidades autônomas, de comportamentos reativos e proativos, e capazes de interagir com outros agentes e aprender Engenharia de Software: agentes são usados como modelo para desenvolver sistemas. Sistema Multiagentes: grupo de entidades ativas (agentes), cada um tendo seus objetivos e comportamentos próprios. A soma dos comportamentos individuais dá ao sistema um comportamento mais complexo. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial O que é um agente? Um sistema computacional encapsulado, situado em um ambiente e capaz de realizar ações autônomas e flexíveis nesse ambiente em busca de seus objetivos. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial O que é um agente? Um sistema computacional encapsulado, situado em um ambiente e capaz de realizar ações autônomas e flexíveis nesse ambiente em busca de seus objetivos. É um componente com interface bem definida. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial O que é um agente? Um sistema computacional encapsulado, situado em um ambiente e capaz de realizar ações autônomas e flexíveis nesse ambiente em busca de seus objetivos. É um componente com interface bem definida. Interage com o ambiente, percebendo-o a partir de sensores e agindo sobre ele para modificá-lo. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial O que é um agente? Um sistema computacional encapsulado, situado em um ambiente e capaz de realizar ações autônomas e flexíveis nesse ambiente em busca de seus objetivos. É um componente com interface bem definida. Interage com o ambiente, percebendo-o a partir de sensores e agindo sobre ele para modificá-lo. Tem controle sobre seu estado e seu comportamento. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial O que é um agente? Um sistema computacional encapsulado, situado em um ambiente e capaz de realizar ações autônomas e flexíveis nesse ambiente em busca de seus objetivos. É um componente com interface bem definida. Interage com o ambiente, percebendo-o a partir de sensores e agindo sobre ele para modificá-lo. Tem controle sobre seu estado e seu comportamento. É, ao mesmo tempo: Reativo: reage a mudanças no ambiente; Proativo: toma iniciativas em busca de seus objetivos. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial O que é um agente? Um sistema computacional encapsulado, situado em um ambiente e capaz de realizar ações autônomas e flexíveis nesse ambiente em busca de seus objetivos. É um componente com interface bem definida. Interage com o ambiente, percebendo-o a partir de sensores e agindo sobre ele para modificá-lo. Tem controle sobre seu estado e seu comportamento. É, ao mesmo tempo: Reativo: reage a mudanças no ambiente; Proativo: toma iniciativas em busca de seus objetivos. Projetados para realizar um conjunto de objetivos. 24 de setembro de 2007 Inteligência Artificial

Engenharia de Software Orientada a Agentes (ESOA) Adotar uma abordagem orientada a agentes para a engenharia de software significa decompor o problema em múltiplos componentes autônomos e interativos que têm objetivos específicos a atingir. As principais abstrações são: Agentes Interações Organizações 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Agentes x Objetos Nível de autonomia: objetos: estado; agentes: estado e comportamento. Mensagens: objetos: invocação de métodos; agentes: mensagens em uma linguagem de comunicação de agentes (ACL – Agent Communication Language). Comportamentos: objetos: reação a eventos; agentes: comportamentos + flexíveis (reativos, proativos e sociais). Controle: objetos: thread comum aos demais objetos do sistema; agentes: thread único. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Agentes x Objetos (2/2) OA é uma evolução da OO? Há vantagens efetivas em usar agentes ao invés de objetos? Visão conciliatória: a OA é apenas um outro paradigma. OA//OO: desenvolvimentos paralelos Gastos exagerados de empresas com mudança de paradigmas não se justificam. O domínio e/ou situação em que o paradigma será aplicado precisam ser analisados. Pesquisas/desenvolvimentos em OO influenciam a OA, ex. frameworks de desenvolvimento, metodologias etc. 24 de setembro de 2007 Inteligência Artificial

Principais Áreas de Aplicação Características do domínio: domínios complexos, com distribuição de recursos, de controle etc. ambientes organizacionais telemedicina informática educativa … Características do sistema sistemas distribuídos sistemas adaptativos sistemas com capacidade de raciocínio integração de sistemas legados 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Áreas Menos Indicadas Domínios restritos e bem definidos Sistemas puramente reativos, com funcionalidades bem conhecidas Sistemas operacionais Sistemas standalone … 24 de setembro de 2007 Inteligência Artificial

Metodologias de Desenvolvimento OA Gaia ROADMAP OperA Prometheus Tropos AORML Message/UML AUML Mas-CommonKADS … Forte Influência de OO + métodos formais Forte Influência de análise organizacional Baseadas em UML Forte Influência de sistemas baseados em conhecimento (IA) 24 de setembro de 2007 Inteligência Artificial

Novos Conceitos, nova maneira de pensar sobre desenvolvimento... Gaia/Roadmap/OperA: papéis, responsabilidades, permissões... Tropos: ator, objetivo, plano, recurso... Message/UML: agente, organização, papel, recurso, interação AORML: agente, objeto, relacionamento, crença, evento, mensagem... 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Tendências O projeto detalhado é frequentemente feito em OO. Comparar metodologias existentes para especificar em que domínios ou situações são adequadas. Combinar diferentes abordagens (method engineering, MDA) ex. Roadmap+Prometheus, ARKnowD, Open etc. Talvez uma linguagem/metodologia unificada para OA??? 24 de setembro de 2007 Inteligência Artificial

Combinando Agentes e Objetos Entidades ativas vs. entidades passivas do domínio. Objetos também podem representar crenças dos agentes. Combinação de técnicas apropriadas a cada paradigma. Passagem mais suave para o projeto detalhado, caso uma tecnologia OO seja escolhida para implementação. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Metodologia Gaia O sistema multiagentes pode ser visto como uma organização, em que os agentes assumem diferentes papéis, que têm um certo relacionamento, uns com os outros, e que participam em interações sistemáticas com os demais papéis. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Gaia - Análise A fase de análise dedica-se à compreensão dessa organização: modelo de papéis modelo de interação. Três passos: identificar os papéis do sistema (resultado: protótipo do modelo de papéis); para cada papel, identificar e documentar os protocolos associados (resultado: um modelo de interação); usando o modelo de protocolos como uma base, elaborar o modelo de papéis (resultado: um modelo de papéis completamente elaborado); 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Gaia – Modelo de Papéis Atributos de um papel: Responsabilidades: determinam a funcionalidade Propriedades vitais: indicam o que o agente deve fazer. Propriedades de segurança: tratam as exceções. Permissões: direitos associados a um papel Atividades: ações privadas, i.e., não há interações com outros agentes Protocolos: definem as formas de interação do papel 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Gaia – Modelo de Papéis 24 de setembro de 2007 Inteligência Artificial

Gaia – Modelo de Interação Atributos de um protocolo: proposta - descrição textual breve da natureza da interação; iniciador - papel (ou papéis) responsáveis por iniciar a interação; respondedor - papel (ou papéis) com que o iniciador interage; entradas - informação utilizada pelo iniciador ao realizar o protocolo; saídas - informação suprida pelo/para o respondedor durante o curso de interação; processamento: descrição textual breve de qualquer processamento que o iniciador do protocolo realiza durante o curso da interação. 24 de setembro de 2007 Inteligência Artificial

Gaia – Modelo de Interação 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Gaia - Projeto O objetivo é transformar os modelos da análise em modelos que tenham um nível suficientemente baixo nível de abstração que permita que técnicas tradicionais de projeto (incluindo técnicas da orientação a objetos) possam ser aplicadas para implementar agentes. 24 de setembro de 2007 Inteligência Artificial

Gaia – Modelos de Projeto Três modelos: Modelo de agentes: documenta os vários tipos de agentes que serão usados no sistema (i.e. que papéis ele representa), e as instâncias desses tipos de agentes. Modelo de serviços: identifica os serviços associados a cada papel, especificando suas propriedades. Modelo de conhecimento: define os links de comunicação existentes entre os tipos de agentes. 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Modelo de Agentes 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Modelo de Serviços 24 de setembro de 2007 Inteligência Artificial

Modelo de Conhecimento 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial AUML: Agent UML Por que estender UML para MAS? Modificações propostas na UML padrão: Suporte para expressar linhas de interação concorrentes (ex: broadcast) visando permitir a modelagem de protocolos de agentes Uma noção de papel que estende a que é fornecida na UML, permitindo a um agente desempenhar vários papéis Grupo Agent UML: http://www.auml.org 24 de setembro de 2007 Inteligência Artificial

AUML: Representação do protocolo Contract Net Template: Papéis/Restrições/Ações de Comunicação 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Uso de Pacotes aquisição fornecimento corretor varejista atacadista requisição informação Solicita Proposta proposta 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial TEMPLATE DO CENÁRIO COMPRADOR /VENDEDOR 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial NOVO PACKAGE USANDO O TEMPLATE PAPÉIS RESTRIÇÕES AÇÕES 24 de setembro de 2007 Inteligência Artificial

Interações entre Agentes AUML utiliza os Diagramas de Interação para modelar a natureza dinâmica da interação entre agentes: Diagrama de Seqüência Seqüência cronológica da comunicação Diagrama de Colaboração Associação entre agentes Diagrama de Atividades e StateCharts Fluxo do processo de comunicação dos agentes. 24 de setembro de 2007 Inteligência Artificial

AUML: interação entre agentes Diferenças para UML: CA – Ato de Comunicação ao invés de mensagens OO Multicasts, OR inclusivo ou XOR 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial AUML: Concorrência Cada Barra indica uma Thread independente num agente 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Agente e Papéis PAPÉIS diferentes para um agente é: satisfazer propriedades distintas (crenças) ter interfaces distintas(comunicação) comportamento distintos(pergunta, resposta) Dentro de um protocolo de interação um agente pode executar papéis distintos que estão especificados no contrato de interação do protocolo(contract-net). 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Agente e Papéis 24 de setembro de 2007 Inteligência Artificial

Diagramas de Colaboracão 2: questiona Agentes <<troca de papel>> B/ Analizador do concorrente B/ Fornecedor C/ Concorrente <<troca de papel>> 3: 4: 1.1: requisita <<troca de papel>> 5: proposta 7: confirma 9: falha 1.2: requisita A/ Cliente C/ Fornecedor1 A/ Negociador C/ Fornecedor2 12: requisita 14: 6: 10: recusa 1.3: requisita 13: entrega D/ Devedor D/ Fornecedor 8: confirma 11: entrega 24 de setembro de 2007 Inteligência Artificial

Diagramas de Atividade Expressa operações e eventos disparados pela atividade. Representa de maneira explícita o controle sobre linhas de execução. Útil para complexas interações entre protocolos que envolvem processamento concorrente. 24 de setembro de 2007 Inteligência Artificial

Diagramas de Atividade Rede de Comércio Eletrônico Cliente Vendedor Fabricante Solicita Pedido ProcessaPedido Cria Cotação Aceita Pedido Aceita Cotação Compara Pedido e Cotação Fecha Pedido AtualizarCotação Pagar Pedido 24 de setembro de 2007 Inteligência Artificial

Inteligência Artificial Diagramas de Estado Aberto Fechado Proposto Requerido confirmado entregue A: requisita B: confirma A: falha B: entrega Rejeitado Cancelado Fracassado Pago A: paga B: recusa B: recusa A: falha B: cancela 24 de setembro de 2007 Inteligência Artificial

AUML: Diagramas de Colaboração Similar aos diagramas de sequencia Agentes podem ser posicionados em qualquer lugar Escolha depende da conveniência gráfica Seqüência indicada pela numeração das ações 24 de setembro de 2007 Inteligência Artificial

AUML: Diagramas de Atividade Representa a Linha central de controle do Protocolo Também são utilizados para a modelagem interna dos agentes 24 de setembro de 2007 Inteligência Artificial

AUML: Diagramas de Estado Pouco utilizados para modelar protocolos Baseados em estado Úteis para impor restrições aos protocolos Utilizados para modelagem interna dos agentes 24 de setembro de 2007 Inteligência Artificial

Metodologias Baseadas em Engenharia de Conhecimento Agentes possuem características cognitivas e EC pode ser usada para modelar o conhecimento do agente Bibliotecas de ontologias e métodos de solução de problemas podem ser reutilizadas Não englobam os aspectos de distribuição e socialização dos agentes Não englobam os comportamentos reativo e pró-ativo dos agentes 24 de setembro de 2007 Inteligência Artificial

Metodologia MAS-CommonKADS Extensão de CommonKADS para Sistemas Multiagentes. Fase de Conceitualização: Coleta informal de requisitos Casos de Uso Fases de Análise e Projeto: compostas de vários modelos, cada um modelando uma visão do sistema. 24 de setembro de 2007 Inteligência Artificial

MAS-CommonKADS - Análise Modelo de Agentes: descreve as características principais dos agentes incluindo capacidades cognitivas, habilidades(sensores/efetuadores), serviços, objetivos Modelo de Tarefas: descreve as tarefas e sua decomposição 24 de setembro de 2007 Inteligência Artificial

MAS-CommonKADS - Análise Modelo de Perícia: descreve o conhecimento necessário para os agentes atingirem seus objetivos, utilizando a abordagem do KADS Modelo de Coordenação: descreve as conversações entre agente, seus protocolos e capacidades requeridas; utiliza técnicas de descrição formal MSC(Message Sequence Charts) e SDL(Specification and Description Language) 24 de setembro de 2007 Inteligência Artificial

MAS-CommonKADS - Análise Modelo de Organização: descreve o ambiente em que o SMA será introduzido e a sociedade de agentes utiliza uma extensão do modelo OMT Modelo de Comunicação: detalha as interações homem-software 24 de setembro de 2007 Inteligência Artificial

MAS-CommonKADS - Projeto Projeto de aplicação: composição/decomposição dos agentes da fase de análise Projeto de Arquitetura: projeto de aspectos relevantes da rede de agentes Projeto de plataforma: seleção da plataforma de desenvolvimento para cada arquitetura 24 de setembro de 2007 Inteligência Artificial