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
Engenharia de Software
UML Modelando um sistema.
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
(Unified Modeling Language)
Identificando requisitos
Diagrama de Classes.
Engenharia de Software
UML Material retirado da apostila do Professor Cesar Augusto Tacla
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)
Linguagens de Modelagem para SMA
Cartões CRC (Class Responsibility Card)
Os Sistemas Multi-agente Viviane Torres da Silva
Metodologias Orientadas a Agentes
Desenvolvimento Orientado a Agentes
Sistemas Multiagentes Cognitivos
Introdução a diagrama de classes e UML
Engenharia de Software Orientada a Agentes
AORML Agent-Object-Relationship Modeling Language Inteligência Artificial 2007/02 Renata S.S. Guizzardi.
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Análise e Projeto de Sistemas
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
Simone Sawasaki Tanaka
Agentes Inteligentes e Sistemas Multi-agente (UD 6) Introdução às Metodologias para a Construção de Agentes 1.
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Orientações sobre usabilidade
Arquitetura Orientado a Serviços
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Arquiteturas de Referência
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
UML Modelagem e Programação Orientada a Objetos
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE.
Metodologias para construção de SMA
Engenharia de Software e Sistemas Danilo Veras e Rebeka Gomes.
Professor: Márcio Amador
Metodologias (Parte II) Viviane Torres da Silva
O Processo Unificado (UP)
METODOLOGIA, MÉTODOS E FERRAMENTAS
Laboratório de Programação
Revisão 2º Bimestre Engenharia de Software I
Uma perspectiva conceitual sobre a comparação de LPOO´s Bent Bruun Kristenser Kasper Osterbte By Lineu Antonio de Lima Santos.
Análise e Projeto de Sistemas
Integração de Ferramentas CASE
UML e a Ferramenta Astah
Linguagem de Modelagem Unificada
Modelo de Análise e Projeto
1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.
DIMAp/UFRN Modelos Baseados em Agentes Prof. André Campos Aula #6 AgentesHíbridos.
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Agent-Oriented Programming Luanda Philippi Remáculo Sabrina Schürhaus
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Análise e Projeto de Sistemas
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Modelagem de Sistemas Orientada a Objeto Com UML
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/38 Análise e Projeto de Sistemas Introdução à Análise e ao Projeto de Software.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Interações entre objetos
2005 Rodrigo Cavalcante Mendes Modelagem e Avaliação do CMMI no SPEM para Definição de um Meta- Processo de Software Graduando: Rodrigo.
SOA SOA – Arquitetura Orientada a Serviços Conceitos e Aplicações
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.
CIn-UFPE1 Análise e Projeto de Sistemas Introdução ao Projeto de Software.
Transcrição da apresentação:

Engenharia de Software Orientada a Agentes Marco Simões (macs3) Jacques Robin (jr) Tópicos Avançados em Inteligência Artifical Simbólica I

Sistema Baseado em Agentes Engenharia de Software Orientada a Agentes Sistema Baseado em Agentes Abstração principal: Agente Sistemas Multi-Agentes(SMAs): agentes com capacidade de socialização Agente: Autonomia Reatividade Pró-Atividade Capacidade de Socialização Pró-Atividade: o ambiente pode mudar: précondições podem tornar-se falsas ou objetivos inválidos Capacidade de Socialização: interação, cooperação e NEGOCIAÇÃO Tópicos Avançados em Inteligência Artifical Simbólica I

Engenharia de Software Orientada a Agentes Agentes x Objetos Objetos= entidades computacionais que encapsulam algum estado, são capazes de executar ações sobre este estado e comunicam-se através de passagem de mensagens Diferenças entre Agentes e Objetos: Grau de Autonomia Comportamento reativo, pró-ativo e social Sistemas Multi-Agentes são inerentemente multithreaded Grau de Autonomia: Objetos possuem controle sobre seus estados internos mas não sobre seus Comportamentos (não há controle sobre a execução dos métodos públicos). Comportamento: o modelo padrão de objetos não prevê estes comportamentos, embora seja possível implementar objetos que os apresentem. Tópicos Avançados em Inteligência Artifical Simbólica I

Requisitos Básicos de um Ambiente de Desenvolvimento de SMAs Linguagem de Comunicação entre Agentes FIPA KQML Protocolos de Comunicação Forma de comunicação (passagem de mensagens, invocação de métodos, etc) Modo de passagem de mensagens: unicast, broadcast ou multicast Protocolo de Transporte/Rede – Ex: TCP/IP Protocolos de Coordenação Interação Homem-Agente

Requisitos Desejáveis em um Ambiente de Desenvolvimento de SMAs Atitudes Mentais (crenças, desejos e intenções) Capacidade de Raciocínio Planejamento Meta-Gerenciamento Modelo interno do próprio agente e de outros agentes Comportamento Emocional Adaptabilidade Aprendizagem

SMAs e Engenharia de Software Metodologias Análise Ontológica Especificações Linguagens e Notações Verificação Prototipação Simulação

Metodologias para Engenharia de Sistemas Multi-Agentes São baseadas em metodologias e paradigmas existentes: Orientação a Objetos Engenharia de Conhecimentos Métodos Formais

Metodologias baseadas em Orientação a Objetos Semelhança entre os paradigmas orientados a Agentes e orientados a Objetos É comum o uso de LPOO para implementar sistemas multi-agentes Popularidade das metodologias OO Mensagens entre Agentes podem ser de vários tipos e não apenas invocação de métodos Metodologias OO não especificam como modelar o estado mental e comportamento social necessários para os agentes

OMT – Object Modeling Technique Um dos predecessores dos métodos baseados em UML 4 estágios Análise Modelo de objetos Modelo dinâmico Modelo funcional Projeto do Sistema Projeto dos Objetos Implementação

OMT: Diagramas Modelo de Objetos Modelo Dinâmico Modelo Funcional Diagrama de Classes Modelo Dinâmico Diagrama de Estados Modelo Funcional Diagrama de Fluxo de Dados

OMT: Diagrama de Classes

OMT: Diagrama de Estados

Cartões CRC(Class, Responsibility, Collaborator) Ferramenta utilizada para modelar as classes durante a modelagem OO de um sistema São uma espécie de Cartão de Índice contendo as seguintes informações: Nome: o nome da classe Responsabilidades: o que as instâncias da classe devem saber ou fazer Colaboradores: Outras classes envolvidas na satisfação das responsabilidades Descrição: descrição textual sobre a classe e detalhes de implementação Ancestral: descrição das superclasses

Cartões CRC: Exemplo

IDEF - Integration Definition for Function Modelling 1/2 É uma abordagem estruturada para modelagem e análise corporativa Padronizada pelo NIST(National Institute of Standards and Technology) Modelos: IDEF0- modelagem das decisões e ações de uma organização ou sistema IDEF1 – modelagem da informação e seus relacionamentos

IDEF - Integration Definition for Function Modelling 2/2 Modelos (cont.) IDEF1x – método para projeto de bases de dados relacionais IDEF3 Modelo de processos Captura relações de precedência e causalidade IDEF4 – projeto de sistemas OO IDEF5 – descrição de ontologias

Exemplo de Diagrama IDEF0

CIMOSA - Computer Integrated Manufacturing Open System Architeture

Projeto e Análise Orientada a Agentes por Burmeister Três Modelos: Modelo de Agente: identifica os agentes(estrutura interna) e seus ambientes utilizando uma extensão dos cartões CRC para incluir atributos referentes a crenças, motivações, planejamento e cooperação Modelo Organizacional: descreve os relacionamentos(herança e papéis na organização) entre os agentes através de diagramas na notação OMT(Object Modelling Technique) Modelo de Cooperação: interações entre os agentes são identificadas e incluindo os parceiros de cooperação e os tipos de mensagens e protocolos utilizados

Técnica de Modelagem de Agentes para Sistemas de Agentes BDI 1/2 Baseada na experiência de desenvolvimento de SMAs no AAII(Australian AI Institute) Visão Externa: Decomposição do sistema em agentes e suas respectivas interações Modelo de Agentes: descreve a hierarquia e relacionamentos entre classes de agentes e define as instâncias destas classes Modelo de Interação: descreve as responsabilidades, serviços e interações entre agentes e sistemas externos Utiliza notação OMT para modelar hierarquia

Técnica de Modelagem de Agentes para Sistemas de Agentes BDI 2/2 Engenharia de Software Orientada a Agentes Técnica de Modelagem de Agentes para Sistemas de Agentes BDI 2/2 Visão Interna: Modelagem de cada classe de agente BDI Modelo de Crenças: descreve as crenças sobre o ambiente Modelo de Objetivos: descreve os objetivos que um agente pode adotar e os eventos aos quais pode responder Modelo de Planos: descreve os planos que um agente pode utilizar para atingir seus objetivos Notação OMT para modelar Crenças sobre cada objeto do ambiente O Resultado é um modelo próximo à Arquitetura de Agentes PRS (primeira arquitetura a seguir o paradigma BDI) Tópicos Avançados em Inteligência Artifical Simbólica I

Engenharia de Software Orientada a Agentes BDI: Modelo de Agentes Classes podem ter Atributos (Crenças, Desejos e Intenções) Não podem ter métodos Coordinator: criação e deleção de agentes Aircraft com seus planos iniciais de vôo WindModel: mantem modelo das condições passadas, presentes e futuras de vento no espaço controlado Sequencer (não presente): determina as aterrissagens Tópicos Avançados em Inteligência Artifical Simbólica I

BDI: Modelo de Crenças

Engenharia de Software Orientada a Agentes BDI: Modelo de Planos Prescrições executáveis de como o agente deve se comportar para atingir um objetivo ou responder a um evento Bola Preta= estado inicial Final = estado final Pass Vazio = estado final Fail Bola branca = estado interno passivo Instância (retangulo com activity formula)= estado interno ativo Atividades= subgrafo para atingir algum subobjetivo Tópicos Avançados em Inteligência Artifical Simbólica I

MASB: Multi-Agent Scenario-Based Method 1/3 Aplica-se a SMAs no campo de trabalho cooperativo Análise: Descrição do Cenário: identificação, usando linguagem natural, dos papéis desempenhados pelos agentes humanos e de software, dos objetos do ambiente e os cenários típicos Descrição Funcional de Papéis: descrição dos papéis utilizando diagramas de comportamento que descrevem os processos, as informações relevantes e as interações entre agentes Modelo Conceitual: modelagem dos dados e do conhecimento utilizado pelo agente utilizando diagramas entidade-relacionamento(ou diagramas OO) e diagramas de ciclo de vida

MASB: Multi-Agent Scenario-Based Method 2/3 Engenharia de Software Orientada a Agentes MASB: Multi-Agent Scenario-Based Method 2/3 Análise: Modelo de Interação: simulação e definição das diferentes interfaces para interação homem-máquina em cada cenário Projeto: Descrição da Arquitetura e Cenário: seleção dos cenários que serão implementados e os papéis desempenhados pelos agentes nestes cenários Modelo de Objetos: refinamento do modelo conceitual definindo hierarquias, atributos e procedimentos Projeto: Modelo de Conversação e validação do projeto do sistema. Citados mas não desenvolvidos. Tópicos Avançados em Inteligência Artifical Simbólica I

MASB: Multi-Agent Scenario-Based Method 3/3 Modelo de Agentes: especificação dos elementos definidos no modelo conceitual como estruturas de crenças utilizando uma notação gráfica proposta para representar o processo de decisão do agente

Metodologia Orientada a Agentes para Modelagem Corporativa 1/3 Propõe a integração de metodologias OO (OOSE – Object Oriented Software Engineering) com metodologias de modelagem corporativa Metodologias de modelagem corporativa: IDEF – Integration Definition for Function Modelling CIMOSA - Computer Integrated Manufacturing Open System Architeture

Metodologia Orientada a Agentes para Modelagem Corporativa 2/3 Modelo Funcional: descreve as funções(entradas, saídas, mecanismos e controle) utilizando diagramas IDEF0 Modelo de Casos de Uso: descreve os atores envolvidos em cada função utilizando a notação de casos de uso da OOSE Modelo Dinâmico: análise das interações entre objetos em que os casos de uso são representados como diagramas de eventos

Metodologia Orientada a Agentes para Modelagem Corporativa 3/3 Sistema Orientado a Agentes: Identificação dos Agentes: agentes são os atores dos casos de uso, suas funções principais são os objetivos e as possibilidades representadas como diagramas IDEF0 Protocolos ou scripts de Coordenação: descritos como diagramas de estado Invocação de Plano: diagramas de seqüência estendem os diagramas de eventos para incluir condições indicativas de quando um plano é invocado Crenças, Sensores e Efetuadores: entradas das funções são modeladas como crenças ou obtidas por sensores e objetivos atingidos são modelados como alterações nas crenças ou ações via efetuadores

Engenharia de Software Orientada a Agentes Metodologia GAIA Parte de um conjunto de requisitos para um projeto suficientemente detalhado para ser implementado Refinamentos sucessivos Conceitos Abstratos: utilizados durante a fase de análise para conceitualizar o sistema Conceitos Concretos: utilizados na fase de projeto, correspondem a elementos que estarão presentes na implementação A hipótese de Gaia (James Lovelock): Equilíbrio no Ecossistema Tópicos Avançados em Inteligência Artifical Simbólica I

GAIA: Conceitos Abstratos 1/2 Organização do Sistema: É um conjunto de papéis Existem relacionamentos e interações entre os papéis Vários agentes podem desempenhar um mesmo papel, assim como um agente pode desempenhar vários papéis

GAIA: Conceitos Abstratos 2/2 Engenharia de Software Orientada a Agentes GAIA: Conceitos Abstratos 2/2 Atributos de um papel: Responsabilidades: determinam a funcionalidade Propriedades liveness: provocar a ocorrência de “alguma coisa boa” Propriedades de segurança: garantir a não-ocorrência de “alguma coisa ruim” 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 Propriedades de segurança: garantir que a temperatura do reator esteja sempre entre 0-100 Propriedade liveness: maximizar os lucros numa operação de venda Tópicos Avançados em Inteligência Artifical Simbólica I

GAIA: Conceitos Concretos Tipos de Agentes Serviços Conhecimento

GAIA: definição de papéis

GAIA: definição de protocolos Engenharia de Software Orientada a Agentes GAIA: definição de protocolos QM – QuoteManager CV - CustomerVetter Tópicos Avançados em Inteligência Artifical Simbólica I

GAIA: Modelo de Agentes

GAIA: Modelo de Aquisição

AUML: Agent UML 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 A OMG(Object Management Group) e a FIPA(Foundation for Intelligent Physical Agents) estão trabalhando no desenvolvimento de notações baseadas em UML para modelagem de Agentes Grupo Agent UML: http://www.auml.org

AUML: Representação do protocolo Contract Net Engenharia de Software Orientada a Agentes AUML: Representação do protocolo Contract Net Template: Papéis/Restrições/Ações de Comunicação Tópicos Avançados em Inteligência Artifical Simbólica I

AUML: Flexibilidade através do aninhamento de pacotes

AUML: instanciando um template

AUML: interação entre agentes Engenharia de Software Orientada a Agentes 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 Tópicos Avançados em Inteligência Artifical Simbólica I

Engenharia de Software Orientada a Agentes AUML: Concorrência Cada Barra indica uma Thread independente num agente Tópicos Avançados em Inteligência Artifical Simbólica I

AUML: Diagramas de Colaboração Engenharia de Software Orientada a Agentes 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 Tópicos Avançados em Inteligência Artifical Simbólica I

AUML: Diagramas de Atividade Engenharia de Software Orientada a Agentes AUML: Diagramas de Atividade Representa a Linha central de controle do Protocolo Também são utilizados para a modelagem interna dos agentes Tópicos Avançados em Inteligência Artifical Simbólica I

AUML: Diagramas de Estado Engenharia de Software Orientada a Agentes 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 Tópicos Avançados em Inteligência Artifical Simbólica I

Metodologias Baseadas em Engenharia de Conhecimento Agentes possuem características cognitivas e EC pode ser usada para modelar o conhecimento do agente Experiência prévia 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

CommonKADS Principal metodologia que suporta Engenharia de Conhecimento estruturada Utiliza fórmulas e ontologias para representar o conhecimento Utiliza diagramas baseados em UML Diagrama de classes Diagrama de estados Diagrama de atividades

Engenharia de Software Orientada a Agentes CommonKADS: Modelos Expertise= modela comportamento resolução de problemas em função conhecimento Tópicos Avançados em Inteligência Artifical Simbólica I

Metodologia CoMoMAS 1/2 Extensão da metodologia CommonKADS Modelos: Modelo de Agentes: modelo principal; define a arquitetura dos agentes e o seu conhecimento Modelo de Especialização: descreve as competências cognitiva e reativa do agente. Modelo de Tarefas: descreve a decomposição de tarefas

Metodologia CoMoMAS 2/2 Modelo de Cooperação: Modelo de Sistema: descreve a cooperação entre agentes utilizando métodos de resolução de conflitos e conhecimento cooperativo, além dos aspectos de comunicação Modelo de Sistema: define aspectos organizacionais da sociedade de agentes; integra modelo organizacional e aspectos arquiteturais do modelo de projeto do CommonKADS Modelo de Projeto: Define os requisitos de projeto do SMA

CoMoMAS: o conjunto de modelos

CoMoMAS: exemplo de modelo de projeto

Metodologia MAS-CommonKADS 1/4 Adiciona técnicas de metodologias OO e de Engenharia de Protocolos ao CommonKADS Fase de Conceitualização: coleta informal de requisitos Casos de Uso Modelos utilizados na Análise e Projeto: para cada modelo são definidas as entidades e os relacionamento entre elas

Metodologia MAS-CommonKADS 2/4 Modelos: 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

Metodologia MAS-CommonKADS 3/4 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 tecnicas de descrição formal MSC(Message Sequence Charts) e SDL(Specification and Description Language)

Metodologia MAS-CommonKADS 4/4 Modelos: 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 Modelo de projeto: reúne os modelos anteriores 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

DESIRE Um Framework para projeto e especificação formal de sistemas composicionais Provê uma notação gráfica para especificar estes sistemas Possui um editor gráfico e outras ferramentas para suportar o desenvolvimento de sistemas de agentes

A metodologia Cassiopeia Método bottom-up O método inicia pelos comportamentos requeridos para atingir algum objetivo Passos: Identificar comportamentos elementares a partir do objetivo global do sistema Identificar os relacionamento entre estes comportamentos Identificar os comportamentos organizacionais do sistema Utilizado em estudo de caso com o RoboCup

Métodos Formais Especificação: Execução Direta das Especificações Lógica Modo-Temporal Dificuldade em fazer refinamentos formalmente Execução Direta das Especificações Concurrent METATEM Execução de especificações em lógica temporal Comunicação por broadcast assíncrono Compilação das Especificações Eficiência em tempo de execução Raciocínio em tempo de compilação

Agentes em Z Framework desenvolvido por Luck & d’Inverno Hierarquia em 4 camadas: Entidades: objetos inanimados Objetos: possuem capacidades (ex: tabela suporta entidades ou outros objetos) Agentes: objetos com objetivos Agentes autônomos: agentes com motivações Implementação OO

Métodos Formais: compilação das especificações Paradigma do Autômato Situado Agente divido em duas partes: percepção e ação Programa RULER recebe uma especificação declarativa da percepção, compilando-a para um autômato finito O programa GAPPS recebe regras de especificação de objetivos(ações) gerando um cojunto de regras situação-ação

Programação Orientada a Agentes Linguagens e API´s: Jackal JatLite Aglets Telescript Ambientes de Desenvolvimento AgentBuilder