Engenharia de Software Orientada a Agentes

Post on 14-Jan-2016

31 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of Engenharia de Software Orientada a Agentes

Engenharia de Software Orientada a Agentes

Marco Simões (macs3)

Jacques Robin (jr)

2

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

3

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

4

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

5

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

6

SMAs e Engenharia de Software

Metodologias Análise Ontológica Especificações

– Linguagens e Notações

Verificação Prototipação Simulação

7

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

8

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

9

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

10

OMT: Diagramas

Modelo de Objetos– Diagrama de Classes

Modelo Dinâmico– Diagrama de Estados

Modelo Funcional– Diagrama de Fluxo de Dados

11

OMT: Diagrama de Classes

12

OMT: Diagrama de Estados

13

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

14

Cartões CRC: Exemplo

15

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

16

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

17

Exemplo de Diagrama IDEF0

18

CIMOSA - Computer Integrated Manufacturing Open System Architeture

19

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

20

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

21

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

22

BDI: Modelo de Agentes

23

BDI: Modelo de Crenças

24

BDI: Modelo de Planos

25

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

26

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

27

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

28

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

29

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

30

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

31

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

32

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

33

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

34

GAIA: Conceitos Concretos

Tipos de Agentes

Serviços

Conhecimento

35

GAIA: definição de papéis

36

GAIA: definição de protocolos

37

GAIA: Modelo de Agentes

38

GAIA: Modelo de Aquisição

39

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

40

AUML: Representação do protocolo Contract Net

41

AUML: Flexibilidade através do aninhamento de pacotes

42

AUML: instanciando um template

43

AUML: interação entre agentes

44

AUML: Concorrência

45

AUML: Diagramas de Colaboração

46

AUML: Diagramas de Atividade

47

AUML: Diagramas de Estado

48

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

49

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

50

CommonKADS: Modelos

51

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

52

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

53

CoMoMAS: o conjunto de modelos

54

CoMoMAS: exemplo de modelo de projeto

55

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

56

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

57

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)

58

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

59

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

60

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

61

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

62

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

63

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

64

Programação Orientada a Agentes

Linguagens e API´s:– Jackal– JatLite– Aglets– Telescript

Ambientes de Desenvolvimento– AgentBuilder