engenharia de software orientada a agentes
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 PresentationTRANSCRIPT
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