Desenvolvimento Orientado a Agentes

Slides:



Advertisements
Apresentações semelhantes
AULA 01 PROGRAMAÇÃO DINÂMICA
Advertisements

Projeto – Parte II - Exemplos de Diagrama de Colaboração
Raphael Gatti Thomás Bryan
ADMINISTRAÇÃO DE RECURSOS MATERIAIS E PATRIMONIAIS
Agentes Inteligentes Agentes Inteligentes.
Protótipo de Simulador de Elevadores
Análise de Casos de Uso.
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Empreendorismo para Computação Criando Negócios de Tecnologia
Gerenciamento do escopo do projeto
INTRODUÇÃO A INFORMÁTICA
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska.
DIAGRAMA DE ATIVIDADES
Metodologias Orientadas a Agentes
Programação Orientada a Agentes e Sistemas Multiagentes
1 Programação Orientada a Agentes e Sistemas Multiagentes.
Programação Orientada a Agentes
Agente Explorador do Mundo Wumpus By Ana Cristina, Ioram e Leonardo.
Luis Otavio Alvares - II/UFRGS
Descrição de hardware em SystemC
1 Sabendo-se que os pratos das balanças estão em equilíbrio, você seria capaz de dizer: Quantos quadrados corresponde um círculo ? Dica Mais dicas Elaboração:
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999.
Auditoria de Segurança da Informação
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
1 MAC 413/5715 – Seminário Prof. Fabio Kon Self: The Power of Simplicity David Ungar and Randall B. Smith OOPSLA 1987 Cristina Fang Eduardo Miyoshi Kasa.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento do Escopo
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
UML - Unified Modeling Language
Análise de Casos de Uso Alexandre Motnteiro.
TÉCNICAS DE PROGRAMAÇÃO II
Desenvolvimento de Projetos e Aplicações Web
Como aplicar leis da lógica
Engenharia de Requisitos
UML - Unified Modeling Language
DFD – Data Flow Diagram Diagrama de Fluxo de Dados
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Cap 2 – Processo de Software
Object Oriented Software Construction (MEYER, Bertrand)
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Salas de Matemática.
Conceitos de Lógica Digital
É u m e l e m e n t o f u n d a m e n t a l
EXERCÍCIOS PARA GUARDA-REDES
Arquitetura do Software
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
IF696 - Integração de Dados e DW
Metodologias para construção de SMA
1.
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Técnicas e Projeto de Sistemas
Carlos Loureiro Provedor de Ética da EDP Ética e Segurança na Empresa Lisboa, 26 de Março de 2009.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Marcio de Carvalho Victorino
Rio Verde - Goiás - Brasil
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
VISÃO E VALORES DA COLFAX
UML - Unified Modeling Language
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Metodologias (Parte II) Viviane Torres da Silva
Identificando Oportunidades
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Módulo II Capítulo 1: Orientação a Objetos
Transcrição da apresentação:

Desenvolvimento Orientado a Agentes

O que é um procedimento/função? Um procedimento é uma abstração de um comando e é caracterizado por: realizar operações que modificam o estado do sistema; Uma função é uma abstração e uma expressão e é caracterizada por: Realizar alguma operações sobre ‘valores’ e devolver um ‘resultado’ Ambos são metáforas de modelagem

O que significa dizer que um sistema é estruturado O que significa dizer que um sistema é estruturado? Como reconhecemos um sistema estruturado? Utiliza como metáfora de modelagem procedimentos e funções Utiliza metodologia de desenvolvimento estruturadas

O que é um objeto? É uma entidade de abstração caracterizada por: Encapsulamento/information hidding; Capacidade de relacionamentos com outros objetos de herança/agregação Comunica-se através do envio de mensagens É uma junção das abstrações de comando, expressão e declaração

O que significa dizer que um sistema é orientado a objetos O que significa dizer que um sistema é orientado a objetos? Como reconhecemos um sistema orientado a objetos? Utiliza objetos como metáfora de modelagem Utiliza metodologia de desenvolvimento orientada à objetos; Utiliza ferramentas implementação orientadas à objetos

Um sistema concebido de forma orientada a objetos pode ser também concebido de forma estruturada?

O que é um agente? É uma entidade de abstração caracterizada por: Autonomia; Capacidade social (interação com outros agentes); Reatividade; Pro-atividade; Mobilidade; Racionalidade (busca sempre atingir seus objetivos); Regras de ‘consistência’

O que significa dizer que um sistema é “orientado a agentes” O que significa dizer que um sistema é “orientado a agentes”? Como reconhecemos um sistema “orientado a agentes”? Utiliza o agente como metáfora de modelagem Utiliza metodologia de desenvolvimento orientada à agentes

Caracterização de um sistema Linguagem de Implementação? Abstração utilizada na modelagem? Metodologia de desenvolvimento?

POO X POA

Desenvolvimento orientado a objetos Busca: Definição das entidades que serão representadas no sistema; Definição das funcionalidades que estão associadas a cada entidade; Definição dos objetos e relacionamentos de agregação e herança; Definição de atributos e métodos.

Desenvolvimento orientado a agentes Busca: Definição das entidades que serão representadas no sistema (domínio); Definição das percepções e ações que cada agente pode realizar; Definição de crenças e objetivos. Definição dos relacionamentos de comunicação entre os agentes (estabelecer protocolos);

Sendo assim, temos... Metáfora para modelagem Objeto Agente Desenvolvimento OO Desenvolvimento OA Sistema “Multiobjetos” Sistema “Multiagentes”

Armadilhas no Desenvolvimento Orientado a Agentes Pouco esforço dedicado ao entendimento de como desenvolver sistemas baseados em agentes Tecnologia imatura e ainda não testada suficientemente Desenvolvedores tendem a cair nas mesmas “armadilhas”

Armadilhas Achar que os agentes resolvem tudo Não saber para que agentes Querer construir soluções gerais para problemas específicos Confundir protótipos com sistemas

Armadilhas Confundir “palavras badaladas” com conceitos Esquecer que está desenvolvendo software Não pesquisar a tecnologia relacionada

Armadilhas Não explorar concorrência Ignorar os padrões ‘de fato’ Decidir criar sua própria arquitetura de agentes Pensar que sua arquitetura é genérica

Armadilhas Utilizar muita IA Não utilizar IA Utilizar agentes para tudo Utilizar agentes demais Utilizar poucos agentes

Uma metodologia para Análise Orientada a Agentes Sistema de segurança protocolos responsabilidades permissões de sobrevivência Papel

Modelagem dos Papéis Os papéis identificam as principais funções do sistema Na fase de projeto, cada papel será associado a um ou mais agentes Exemplo: Num escritório, alguns papéis seriam: Secretária CofeeFiller (Preenchedor de café)

Papéis (Roles) São caracterizados por três tipos de atributos: Permissões informações ou conhecimento disponível ao agente Protocolos ações que o agente é capaz de executar Responsabilidades o que o agente deve fazer e manter como invariante

Exemplo: CoffeeFiller Permissões leitura coffeeMaker (nome do coffee maker) coffeeStatus (full or empty) escrita coffeeStock (nível da garrafa de café)

Exemplo: CoffeeFiller Protocolos Fill InformWorkers CheckStock AwaitEmpty

Exemplo: CoffeeFiller Responsabilidades de sobrevivência (liveness) sempre que o café acabar, preencha sempre que preencher informe os empregados CofeeFiller=(Fill.InformWorkers.CheckStock.AwaitEmpty) de segurança (safety) coffeeStock  0

Expressões de Sobrevivêmcia Define o ciclo de vida de um papel São essencialmente expressões regulares x.y x seguido de y x|y x ou y ocorre x* x ocorre 0 ou mais vezes x+ x ocorre 1 ou mais vezes x x ocorre infinitamente [x] x é opcional x||y x e y se sobrepõem

Esquema do Papel ROLE SCHEMA: CoffeeFiller PROTOCOLS: Fill, InformWorkers, CheckStock, AwaitEmpty PERMISSIONS: reads coffeeMaker //name of the coffee maker coffeeStatus //full or empty changes coffeeStock // stock level of coffee RESPONSABILITIES LIVENESS: CofeeFiller=(Fill.InformWorkers.CheckStock.AwaitEmpty) SAFETY: coffeeStock  0 DESCRIPTION: This role involves ensuring that coffee is kept filled, and informing the workers when fresh coffee has been brewed.

Processo de Análise Identificar os papéis do sistema Para cada papel, identificar e documentar os protocolos Elaborar o modelo de cada papel

Como implementar? Utilizando linguagens OO convencionais + Bibliotecas adicionais Para comunicação: JATLite (KQML), FIPA; Para raciocínio Motores de inferência lógica: JEOPS, ABE, JESS, CLIPS Motores de inferência bayesiana: Hugin, MSBN; Redes neurais; Para mobilidade: Aglets, Telescript, etc. Utilizar ambientes de desenvolvimento Agent Builder Utilizar linguagens orientadas a agentes: Agents0, Jackal, etc.

FIM