Engenharia de software orientada a agentes
This presentation is the property of its rightful owner.
Sponsored Links
1 / 64

Engenharia de Software Orientada a Agentes PowerPoint PPT Presentation


  • 58 Views
  • Uploaded on
  • Presentation posted in: General

Engenharia de Software Orientada a Agentes. Marco Simões (macs3) Jacques Robin (jr). 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.

Download Presentation

Engenharia de Software Orientada a Agentes

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Engenharia de software orientada a agentes

Engenharia de Software Orientada a Agentes

Marco Simões (macs3)

Jacques Robin (jr)


Sistema baseado em 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


Agentes x objetos

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


Requisitos b sicos de um ambiente de desenvolvimento de smas

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

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

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

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

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

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

OMT: Diagramas

  • Modelo de Objetos

    • Diagrama de Classes

  • Modelo Dinâmico

    • Diagrama de Estados

  • Modelo Funcional

    • Diagrama de Fluxo de Dados


Omt diagrama de classes

OMT: Diagrama de Classes


Omt diagrama de estados

OMT: Diagrama de Estados


Cart es crc class responsibility collaborator

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

Cartões CRC: Exemplo


Idef integration definition for function modelling 1 2

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

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 idef 0

Exemplo de Diagrama IDEF0


Cimosa computer integrated manufacturing open system architeture

CIMOSA - Computer Integrated Manufacturing Open System Architeture


Projeto e an lise orientada a agentes por burmeister

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

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

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


Bdi modelo de agentes

BDI: Modelo de Agentes


Bdi modelo de cren as

BDI: Modelo de Crenças


Bdi modelo de planos

BDI: Modelo de Planos


Masb multi agent scenario based method 1 3

MASB: Multi-Agent Scenario-Based Method1/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

MASB: Multi-Agent Scenario-Based Method2/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


Masb multi agent scenario based method 3 3

MASB: Multi-Agent Scenario-Based Method3/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

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

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

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


Metodologia gaia

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


Gaia conceitos abstratos 1 2

GAIA: Conceitos Abstratos1/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

GAIA: Conceitos Abstratos2/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


Gaia conceitos concretos

GAIA: Conceitos Concretos

  • Tipos de Agentes

  • Serviços

  • Conhecimento


Gaia defini o de pap is

GAIA: definição de papéis


Gaia defini o de protocolos

GAIA: definição de protocolos


Gaia modelo de agentes

GAIA: Modelo de Agentes


Gaia modelo de aquisi o

GAIA: Modelo de Aquisição


Auml agent uml

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

AUML: Representação do protocolo Contract Net


Auml flexibilidade atrav s do aninhamento de pacotes

AUML: Flexibilidade através do aninhamento de pacotes


Auml instanciando um template

AUML: instanciando um template


Auml intera o entre agentes

AUML: interação entre agentes


Auml concorr ncia

AUML: Concorrência


Auml diagramas de colabora o

AUML: Diagramas de Colaboração


Auml diagramas de atividade

AUML: Diagramas de Atividade


Auml diagramas de estado

AUML: Diagramas de Estado


Metodologias baseadas em engenharia de conhecimento

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

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


Commonkads modelos

CommonKADS: Modelos


Metodologia comomas 1 2

Metodologia CoMoMAS1/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

Metodologia CoMoMAS2/2

  • Modelo de Cooperação:

    • 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: o conjunto de modelos


Comomas exemplo de modelo de projeto

CoMoMAS: exemplo de modelo de projeto


Metodologia mas commonkads 1 4

Metodologia MAS-CommonKADS1/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

Metodologia MAS-CommonKADS2/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

Metodologia MAS-CommonKADS3/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

Metodologia MAS-CommonKADS4/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

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

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

Métodos Formais

  • Especificação:

    • 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

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

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

Programação Orientada a Agentes

  • Linguagens e API´s:

    • Jackal

    • JatLite

    • Aglets

    • Telescript

  • Ambientes de Desenvolvimento

    • AgentBuilder


  • Login