Agentes Inteligentes e Sistemas Multi-agente (UD 6) Introdução às Metodologias para a Construção de Agentes 1.

Slides:



Advertisements
Apresentações semelhantes
Introdução a Algoritmos
Advertisements

Rational Unified Process
UML Modelando um sistema.
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
(Unified Modeling Language)
Identificando requisitos
Engenharia de Software
Adriano Teixeira João Vide Luís Silva Maria Pedroto
ATSI ExtendingAndFormalizingTheFrameworkForInormati onStyleArchitecture Alunos: Manuel Mendes- nº49703 Francisco Silva – nº51298 Cristina Fraga- nº51383.
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Metodologias Equipe do Curso de ES para SMA
Linguagens de Modelagem para SMA
Os Sistemas Multi-agente Viviane Torres da Silva
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Modelos Baseados em Agentes
Metodologias Orientadas a Agentes
SMA: ORGANIZAÇÃO.
Introdução a diagrama de classes e UML
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)
Análise e Projeto de Sistemas
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
A modelação de sistemas enquanto ferramentas cognitivas.
Orientação a Objetos.
Engenharia de Software e Sistemas de Informação e Gestão
Middleware e Sistemas Distribuídos
Arquitetura Orientado a Serviços
Projeto de Sistemas de Software
Arquiteturas de Referência
Enterprise Architecture Validation Edgar Nunes Diogo LopesGrupo 1 Francisco Santos.
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Metodologias para construção de SMA
Roteiro Agentes Trabalhando Juntos Coordenação em SMA
Engenharia de Software
Sistemas Especialistas
SISTEMA TEORIA DE SISTEMAS ABORDAGEM SISTÊMICA.
Software engineering, the software process and their support M.M. Lehman Apresentadora: Tarciana Dias da Silva.
Objectivo Identificar o Modelo da Abordagem Sistémica da Instrução - ASI.
Metodologias (Parte II) Viviane Torres da Silva
Princípios da Programação em Prolog
O Processo Unificado (UP)
METODOLOGIA, MÉTODOS E FERRAMENTAS
Agentes Inteligentes e Sistemas Multi- agente (UD5) Construção de Sociedades de Agentes IST- 2004/2005.
Revisão 2º Bimestre Engenharia de Software I
Requisitos de Software
Generalização e herança Agregação e composição
Análise e Projeto de Sistemas
Desenvolvimento de Software Dirigido a Modelos
Gestão de projetos de Software GTI-16
Linguagem de Modelagem Unificada
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.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)
Engenharia de Software Orientada a Agentes
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.
1 Linguagens de Programação Pedro Lopes 2010/2011.
Organização de Sistemas Multiagentes Prof. Fred Freitas CIn - UFPE.
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-
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Testes (verificação e validação)
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
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.
UNIEURO CENTRO UNIVERSITÁRIO Disciplina PROJETO INTEGRADOR II Professora Responsável SELMA MORAES GESTÃO DE PROJETOS.
Análise e Conceção de Sistemas
Transcrição da apresentação:

Agentes Inteligentes e Sistemas Multi-agente (UD 6) Introdução às Metodologias para a Construção de Agentes 1

Criação de Software baseado em Agentes Objectivo de desenhar e construir sistemas de elevada qualidade Desafio da complexidade de requisitos, desenho, programação, verificação Continua-se à procura de técnicas e métodos que resolvam os problemas da construção de Software...

Quando optar por solução baseada em Agentes Ambiente aberto, ou pelo menos dinâmico, incerto or complexo Quando os agentes são a metáfora apropriada Dados, controlo ou perícia estão distribuídos Legacy systems

Aproximação por Agentes? Experiência não existem análises quantificadas da eficácia Argumentos baseados em 10 anos de utilização de agentes para construção de aplicações no mundo real Potencialidades das características dos agentes

Porquê Agentes? Sistemas reais complexos, com as seguintes características: hierárquicos compostos por subsistemas interrelacionados componentes primitivas dependem do objectivo do observador interacções dentro do subsistema são mais frequentes do que entre 2 subsistemas distintos

Visão Canónica dos Sistemas Para lidar com esta complexidade são usadas : decomposição abstracção organização

Resolução com Agentes Particionar o problema decompondo-o por agentes Abstracção dos agentes é um meio natural de modelar sistemas complexos identificar e gerir relações organizacionais lidar com as dependências e interacções que existem num sistema complexo

Metodologias de Agentes Métodos formais para AOSE Análise e Desenho Orientada a Agentes

Metodologias Formais Como orientar o desenvolvimento de software a agentes? Especificação formal Implementação computacional concreta Verificação

Metodologias Formais: especificação Especificar formalmente agentes capazes de representar os seguintes aspectos: Crenças que os agentes têm sobre a informação do seu ambiente, podem estar incorrectas ou incompletas Acções que os agentes realizam e os efeitos destas acções Objectivos que os agentes persegue Interacção que os agentes tem e como os agentes interagem entre si e o seu ambiente ao longo do tempo

Metodologias Formais: Implementação Consiste em implementar a especificação numa forma computacional concreta, tem 2 aproximações: Execução: executar ou animar a especificação abstracta Tradução ou Compilação: traduzir ou compilar a especificação usando uma técnica de tradução automática

Implementação: Execução Directa PRÁTICA Exemplo: Linguagem Current MetateM - os agentes são programados dando uma especificação em lógica temporal do comportamento que devem exibir Os modelos para a lógica temporal em que os agentes são especificados na linguagem MetateM são sequências lineares de estados e a execução da especificação do agente consiste na construção da sequência dos estados. TEORIA tratar a especificação como executável e interpretá-la directamente de modo a gerar o comportamento do agente Interpretação: pode ser vista como uma prova de satisfação, onde se demonstra que a especificação é satisfatória para construir um modelo para ela A construção do modelo pode ser vista como a execução da especificação

Implementação: Compilação A especificação abstracta é transformada num modelo computacional concreto através de um processo de síntese automático.

Implementação: Compilação (2) Vantagens maior velocidade na execução em tempo real Desvantagens mesmo a computação feita off-line (na compilação) torna-se custosa. Os sistemas gerados desta forma podem não dispor de capacidade de aprendizagem (não adaptam o seu programa em runtime) Tal como com a execução directa, os frameworks de especificação de agentes tendem a não ter uma interpretação computacional concreta, tornando a síntese impossível

Análise e Desenho Orientado a Agentes As metodologias podem ser divididas em 2 grupos Inspirados no ambiente de desenvolvimento orientado a objectos, estendendo as metodologias ou adaptando-as para propósitos AOSE (AAII, Gaia, AUML) Adaptados da Engenharia do Conhecimento ou outras técnicas (DESIRE, Cassiopeia, Agentes em Z)

Metodologias Inspirados no ambiente de desenvolvimento orientado a objectos, estendendo as metodologias ou adaptando-as para propósitos AOSE (AAII, Gaia, AUML)

Metodologia AAII Kinny et al “Object-Oriented” extendida com noções de agentes Oferece modelos internos e externos Modelo Externo: ao nível do sistema, os componentes principais são os agentes e as suas relações. Contém: Modelo de agentes Modelo de interacção Modelo Interno: descreve os agentes, as crenças, desejos e intenções - semelhante a implementar um agente PRS (sistema usado para o exemplo de simulação do aeroporto de sidney)

Metodologia AAII Modelo Externo Modelo Interno Modelo do agente (classes e instâncias) Modelo da interacção (estes 2 modelos definem agentes e as classes de agentes e relacionam as classes via herança, agregação e instanciação) Modelo Interno Modelo de crenças Modelo com objectivos Modelo de planos

Metodologia AAII Metodologia Identificar roles no domínio da aplicação e desenvolver uma hierarquia de classes de agentes com base nestes Identificar responsabilidades associadas a cada role, serviços prestados e requeridos pelo role e determinar os objectivos associados a cada serviço Para cada objectivo, determinar planos condições de contexto por plano para o atingir Determinar a estrutura de crenças do sistema e os requisitos de informação para cada plano e objectivo Análise iterativa Resultado: modelo com correspondência na arquitectura PRS

AAII – Modelo dos Agentes Baseado no diagrama de classes de UML Tipos e instâncias Conjuntos de crenças conjunto de objectivos Conjunto inicial de crenças e conjunto inicial de objectivos

AAII – Modelo de objectivos Expressos com predicados em Lógica de 1ª ordem com operadores modais (achieve(X), test(X), verify(X)) Directamente ligados às crenças 3 tipos: Achievement goals Test goals Verify goals

AAII – Modelo de Planos Plano = nós + transições 3 tipos de nós Nós de inicio Nós internos Nós finais (success, fail) As transições são originadas por um evento, se uma dada condição for satisfeita.

AAII Muito baseada na construção de agentes deliberativos Centrada na arquitectura PRS Distinção entre modelo externo e interno (interessante)

Metodologia Gaia Wooldridge et al Obtém-se o desenho do sistema a partir de uma série de requisitos escritos Baseados em terminologia e notações orientadas a objectos, mas oferece um suporte um conjunto de conceitos de agentes para o desenvolvimento de um sistema complexo A aproximação para a construção de desenho deve ser semelhante à de o desenho de uma organização

Metodologia Gaia Wooldridge et al Os conceitos principais enquadram-se em duas categorias: Abstractas usadas na análise para fazer a concepção do sistema, mas não tem uma concretização directa no sistema. Conceitos: roles, permissões, responsabilidades, protocolos, actividades, propriedades de acção, propriedades de segurança Concretas usadas no processo de desenho e tipicamente tem correspondência num sistema real. Conceitos: Tipos de agentes, serviços, conhecimentos entre agentes

Metodologia Gaia Wooldridge et al Conceitos Abstractos: Papeis (Roles) Permissões (Premissions) Responsabilidades Protocolos Actividades Propriedades de liveness Propriedades de segurança Conceitos Concretos Tipos de agentes Serviços “Acquaintances”

Metodologia Gaia Wooldridge et al Exemplo: capturar a organização Federação Portuguesa de Futebol tem uma colecção de roles como seleccionador nacional, jogador estes roles são instanciados a indivíduos, por exemplo, António Oliveira assume o role de seleccionador nacional, Luis Figo assume o role de jogador No entanto: A instanciação não é estática! Por exemplo: Scolari assume o role de seleccionador nacional Vários indivíduos podem assumir o mesmo role, por exemplo, Luis Figo e Deco assumem o role jogador Um indivíduo pode assumir vários roles, por exemplo,Madaíl assume o role de presidente e o role de vítima de conspiração

Metodologia Gaia Wooldridge et al Exemplo: Responsabilidades do role seleccionador nacional - ex: guiar equipa no campeonato propriedades liveness: asseguram que algo positivo acontece - a selecção vai à frente no campeonato propriedades safety: asseguram que nada de negativo acontece - garantir que a equipa se mantém no campeonato Para cumprir as responsabilidades o role seleccionador nacional tem conjunto de permissões: por exemplo, ter acesso a informação sobre a condição física dos jogadores actividades privadas: são actividades sem a interacção dos outros roles, por exemplo, definir uma estratégia de jogo protocolos: formas de interagir com os outros roles, por exemplo, dar ordens, conselhos aos jogadores

Linguagem Agente UML (AUML) Odell et al Estender a linguagem para representar os agentes, incluindo Baseia-se numa ferramenta conhecida dos Software Engineers - UML Suporte para expressar as threads concorrentes de interacção permitindo ao UML modelar os protocolos de agentes do tipo Contract Net Uma noção de role que extende a existente no UML e, em particular, permite a modelação de um agente que desempenha vários “roles” Aguardam-se novos desenvolvimentos pois o Object Management Group (OMG) e a FIPA estão a suportar do desenvolvimento de notações UML para modelar sistemas de agentes

Metodologias Adaptados da Engenharia do Conhecimento ou outras técnicas (DESIRE, Cassiopeia, Agentes em Z)

Framework DESIRE Treur et al Framework para o desenho e especificação formal de sistemas compostos. Tem notação gráfica para a especificação e está associado a um editor gráfico para suportar o desenvolvimento dos sistemas

Metodologia Cassiopeia Collinot et al Por oposição ao Gaia e a metodologia AAII, Cassiopeia tem uma natureza bottom up. Essencialmente, com o método Cassiopeia, inicia-se nos comportamentos desejados para realizar uma tarefa. Metodologia: Identificar os comportamentos elementares implicados pela tarefa do sistema Identificar as relações entre os comportamentos elementares Identificar os comportamentos organizacionais do sistema, por exemplo, a forma como os agentes formam grupos Foi desenvolvido um exemplo para o RoboCup

Agentes em Z Luck et d’Inverno 4 camadas: Entidades – objectos inanimados Objectos – Entidades com capacidades (mesa suporta coisas) Agentes – Objectos com objectivos – são activos Agentes autónomos – Agentes com motivação Observaram que há uma relação natural entre a sua framework de especificação hierárquica de agentes e os sistemas OO: Herança e Agregação/Inclusão Ideia fulcral: agentes que actuam para outros, em vez de agentes como sistemas racionais.

Comparação

Os Prós dos Agentes Classes de aplicações específicas aproximação por agentes pode melhorar o processo de desenvolvimento de Engenharia de Software Modelos expressam realidade organizacional: interacções, thread de controlo independente, protocolos de coordenação Visão Dinâmica dos sistemas e adaptabilidade dos agentes a novos papéis Melhorar as práticas state of the art da Engenharia de Software Alargar o número de aplicações cuja complexidade pode ser ultrapassada

Os Contras dos Agentes Confundir Marketing com concretização e aplicabilidade dos agentes “Silver bullet” acreditar que com agentes o alvo nunca é falhado Incapacidade para avaliar potencialidades dos agentes Esquecer que se está a desenvolver software e que a experiência tem de ser adquirida Esquecer que o sistema é multi-threaded e tem a complexidade clássica da execução concorrente e distribuída Natureza do Problema se for de execução única, não devem ser usados agentes Desenhar nova arquitectura para o problema deve-se estudar as arquitecturas já existentes Demasiada IA sem benefícios para a solução final

Referências Agent Oriented Software Engineering: The State of The Art by Michael Wooldridge, Paolo Ciarcarini Agent Oriented Software Engineering by Nicholas R. Jennings and Michael Wooldridge A Methodology for Agent-Oriented Analysis and Design by Michael Wooldridge, Nicholas R. Jennings and David Kinny

AAII – Modelo de crenças