A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Agentes e Objetos zObjetos (em software) yMetáforas computacionais que emulam características dos objetos do cotidiano xpossuem estados internos que o.

Apresentações semelhantes


Apresentação em tema: "Agentes e Objetos zObjetos (em software) yMetáforas computacionais que emulam características dos objetos do cotidiano xpossuem estados internos que o."— Transcrição da apresentação:

1 Agentes e Objetos zObjetos (em software) yMetáforas computacionais que emulam características dos objetos do cotidiano xpossuem estados internos que o descrevem xpodem receber mensagens, a partir das quais realizam uma atividade, que é determinada conforme as mensagens enviadas e seus correspondentes parâmetros xpodem ser classificados hierarquicamente em classes, que basicamente descrevem os estados internos e as mensagens que um objeto de uma determinada classe pode receber

2 Agentes e Objetos zObjetos = Máquinas yalimenta com mensagens yobtém o comportamento prescrito pela mensagem zCaracterísticas yprevisibilidade do comportamento do objeto ycada mensagem = comportamento desejado yobjeto não age por si só xresponde a uma requisição de serviço yenquanto não está “em serviço” xinerte yobjeto não “busca” mensagens … só as recebe

3 Agentes e Objetos zAgentes (em software) ymetáforas computacionais que emulam comportamento de agentes do cotidiano xpossuem estados internos que o descrevem xpodem extrair dados de seu ambiente por meio de seus sensores e atuar sobre o ambiente por meio de seus atuadores xpossuem um ciclo de vida interna por meio do qual sensoreiam e atuam

4 Agentes e Objetos zAgentes = Organismos ymantém atividade incessante de busca por informação e atuação no ambiente ycomportamento é determinado pela constituição do agente zCaracterísticas ynunca cessa atividade ycomportamento pode ser imprevisível yagente age por si só yagente não “recebe comandos”, mas busca por mensagens enviadas na forma de informações do ambiente, que são decodificadas, podendo influenciar o comportamento do agente

5 Agentes e Objetos zObjetos podem ser agentes ?

6 Agentes e Objetos zObjetos-Agentes ysão criados como objetos normais de uma linguagem xpodem criar objetos-filhos para seu próprio uso ysão “startados” ypermanecem em atividade até que “morram”, por vontade própria ytambém podem criar agentes-filhos, com os quais mantém algum tipo de contato zProblema yUm método que nunca termina paralisa o sistema zSolução yTécnicas de programação concorrente

7 Processos e Threads zTime-sharing ymecanismo pelo qual um certo número de “processos” que se deseja que sejam executados concorrentemente tenham acesso a “fatias” do tempo do processador, sendo interrompidos assim que estas “fatias” se esgotam e retomando sua execução quando lhe são atribuídas novas “fatias” de tempo zCada Processo ypossui sua própria porção de memória yexecutado independentemente de outros processos zRecursos comuns ycompartilhados via mecanismos de sincronização xsemáforos, filas, monitores, etc.

8 Processos e Threads zComunicação Inter-processos yvariáveis globais não protegidas yvariáveis compartilhadas protegidas por monitores ypassagem de mensagens via recursos do sistema operacional zThreads ytrechos de código, dentro de um mesmo processo, que se deseja que rodem concorrentemente ygrânulos finos concorrentes de um mesmo processo ycompartilham todos os recursos do processo do qual são originados ysão criados dentro de um processo e a ele pertencem ydependem da disponibilidade do sistema operacional you … podem ser emulados por meio de um processo que os gerencie

9 Threads e Java zAlgumas linguagens de programação ycontém diretivas para o uso de threads zJava ycontém toda a infra-estrutura para a programação multi-thread yinterpretador Java emula os threads dentro do processo ao qual pertence ySuporte à programação multi-thread é centralizado em torno da classe java.lang.Thread zClasse Thread ypermite a criação de objetos do tipo Thread, onde cada objeto terá seu próprio fluxo de controle independente

10 Threads e Java zDois mecanismos para a criação de Threads yMecanismo 1: xcria-se uma sub-classe da classe Thread xefetua-se um override to método run(), que é o ponto de entrada para a execução do thread xapós a criação de um objeto desta classe, invoca-se o método start(), que inicia o novo thread e por sua vez invoca o método run() yMecanismo 2: xcria-se uma classe implementando a interface Runnable ximplementa-se o método run() da interface Runnable xcria-se um objeto da classe Thread, passando para o construtor um objeto da classe implementando Runnable xinvoca-se o método start() do objeto do tipo Thread

11 Threads e Java zEstados de um Thread ynew thread - assim que é criado yrunnable - depois que é startado ynot runnable - bloqueado esperando por um evento ydead - quando o método run() retorna zMétodos Importantes ysleep() - faz o thread “dormir” por um certo tempo yinterrupt() - interrompe definitivamente a execução do thread yjoin() - bloqueia o thread corrente até que o thread indicado morra yis_alive() - verifica se um thread está ainda “vivo”

12 Threads e Java zPrioridades yset_Priority(), get_Priority() yMIN_PRIORITY(1), NORM_PRIORITY(5), MAX_PRIORITY(10) zSincronização yMétodos Sincronizados xsynchronized function(…) yStatements Sincronizados xsynchronized (expression) statement zMonitores e Sincronização de Processos ywait() ynotify() ynotifyAll()

13 Threads e Java zThreads do tipo Daemon yThreads que executam em background e provêm serviços a outras threads ou processos ynormalmente executam continuamente um conjunto de instruções onde esperam por uma requisição de serviço, realizam o serviço solicitado e passam a aguardar nova requisição de serviço ypodem ser utilizadas para a criação de agentes que passam a ter vida própria, ficando independentes do processo que as originou zEm Java ymétodo setDaemon() deve ser invocado antes de se dar o start() da thread

14 Agentes e Redes zRedes de Computadores yNível superior de concorrência que permite o desenvolvimento de aplicações em paralelo zModelos de Comunicação Entre Processos ySockets (Passagem de Mensagens) yRPC - Remote Procedure Call yObjetos Distribuídos (CORBA e DCOM) zPassagem de Mensagens ymecanismo mais simples para comunicação entre/com agentes zJava yprovê mecanismos para os três tipos de modelo de comunicação entre processos xSockets, RMI, CORBA

15 Meu Primeiro Agente (EC1) zAgente de Mirror ydados dois diretórios designados em um computador, o agente de mirror deve se encarregar em manter ambos os diretórios exatamente iguais yhavendo uma inserção de arquivo ou subdiretório em um dos diretórios, o agente deve inserí-lo no seu diretório mirror yhavendo modificação nos arquivos de um dos diretórios, o agente de mirror deve copiar os arquivos modificados para o diretório mirror (utilizando a data do arquivo para definir qual é o mais atual) yapagando-se um arquivo ou subdiretório de um dos diretórios, ele deve ser apagado também no diretório mirror

16 Meu Primeiro Agente (EC1) zRequisitos do Agente de Mirror yO agente de Mirror deve funcionar como um daemon yOs diretórios que devem ser espelhados devem ser passados ao agente como um parâmetro (não devem ser embutidos no código) yHavendo um arquivo com o nome KILL_AG.$$$ em um dos diretórios mirror, o agente deve se matar yO agente somente procederá a mudanças nos diretórios quando os arquivos estiverem fechados … ou seja, enquanto algum arquivo estiver aberto, ele não procederá a nenhuma mudança referente ao arquivo em questão yo agente deve utilizar algum mecanismo que evite o consumo de muito tempo de CPU, para não entrar em conflito com outros processos que estejam rodando na mesma máquina

17 Meu Primeiro Agente (EC1) zPerguntas a serem respondidas no relatório yQual é o ambiente deste agente ? yQuais são os sensores deste agente ? yQuais são os atuadores deste agente ? yComo é o ciclo de vida deste agente ? yQual a melhor classificação, dentre as estudadas no curso, para este agente ? (Reflexivo, Comportamental, Planejador, Emocional, Comunicativo ou Semiótico ?) yQual a aplicação deste tipo de agente ? (Robótico, Desktop, Internet, Entretenimento, etc ?) yPodemos dizer que este agente é inteligente ? Por que ?


Carregar ppt "Agentes e Objetos zObjetos (em software) yMetáforas computacionais que emulam características dos objetos do cotidiano xpossuem estados internos que o."

Apresentações semelhantes


Anúncios Google