SlideShare une entreprise Scribd logo
1  sur  38
Agentes Móveis Aspectos de Desenvolvimento Componentes : Luiz Matos, Marcelo Almeida, Margarete Sá Salvador, 2007 Universidade Federal da Bahia Especialização em Sistemas Distribuídos Computação Móvel
Organização do estudo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
Princípios básicos ,[object Object],[object Object],[object Object],[object Object],Figura 1.  Funcionamento RPC (WHITE, 1996) ,[object Object],[object Object],[object Object],[object Object],[object Object],Contextualização
Princípios básicos ,[object Object],Figura 2.  Funcionamento Agentes Móveis (WHITE, 1996) ,[object Object],[object Object],[object Object],[object Object],Contextualização
[object Object],[object Object],Princípios básicos Definição Agente Interações Locais Cliente Interações de Rede Figura 3.  Representação Agentes Móveis ,[object Object],[object Object],[object Object],[object Object],Servidor
[object Object],[object Object],[object Object],[object Object],Princípios básicos Conceitos Figura 5.  Representação Places  (WHITE, 1996) Figura 6.  Representação Agents  (WHITE, 1996) Figura 7.  Representação Travel  (WHITE, 1996) Agente Serviços/Recursos Figura 4.  Representação Agência
Migração de Código ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Princípios básicos
Quando usar ,[object Object],[object Object],[object Object],[object Object],[object Object],Porque usar
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],O que devemos proteger*? Aspectos de segurança ,[object Object],[object Object],[object Object],[object Object],[object Object],Como podemos proteger*? * Adaptado de Cunha (2005).
Representação das ameaças Sistema de Agentes M óveis Entidades Externas Aspectos de segurança 1. ameaças do servidor contra o agente; 2. ameaças do agente contra o servidor; 3. ameaças do agente contra outro agente sendo executado no mesmo servidor;  4. outras ameaças contra o sistema de agentes. Personificação, negação de serviço, alteração de dados ou código,  acesso não autorizado, entre outros. Figura 8.  Ameaças em Agentes Móveis  (UTO, 2003)
[object Object],[object Object],[object Object],[object Object],[object Object]
Agentes móveis baseados em Java ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Frameworks e Aplicações existentes
Conceitos básicos ,[object Object],[object Object],[object Object],[object Object],[object Object],Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Conceitos básicos Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Conceitos básicos Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],Mobilidade Aglets: uma visão geral
Ciclo de Vida Aglets: uma visão geral Figura 9.  Ciclo de Vida de um Aglet  (JUNG, [s.d.]) O Aglet   toma seu lugar em um contexto, ganha seu identificador e é inicializado. Um aglet nasce igual o pai exceto ID e estado. Ação de despachar um Aglet de um contexto e inseri-lo em outro, onde este reiniciará sua execução. Um Aglet, previamente despachado, é trazido de volta a um contexto e seu estado volta junto. Um Aglet é retirado temporariamente de seu contexto e é colocado em um contexto secundário. Um Aglet desativado pode ser reativado, voltando a executar a partir do seu estado no momento da esativação. O Aglet é retirado de seu contexto e morre. Seu estado é perdido para sempre.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Modelo de Eventos Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de Listeners Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de Listeners Aglets: uma visão geral
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tipos de Listeners Aglets: uma visão geral
[object Object],[object Object],ATP – Agent Transfer Protocol Aglets: uma visão geral Figura 10.  Operações do ATP  (JUNG,  [ s.d.]) solicita a um sistema de agentes destino que reconstrua um agente a partir do conteúdo de uma requisição e inicie sua execução. solicita a um sistema de agentes destino que envie de volta um determinado agente ao emissor. solicita a um receptor que este recupere e envie alguma informação. Similar ao método GET do HTTP. usado para transmitir uma mensagem a um agente identificado por um agent-id e retornar alguma resposta à ação.
[object Object],[object Object],[object Object],Interações entre Aglets Aglets: uma visão geral Figura 11.  Relação entre Aglet e proxy (JUNG, [s.d.])
Aglet Server (TAHITI) Figura 12.  Interface TAHITI Demonstração:  Desenvolvendo um agente móvel com Aglets Cria um novo Aglet. Exibe caixa de dialogo de um Aglet. Traz informações sobre o Aglet selecionado. Elimina um Aglet Clona um Aglet Envia um Aglet para um host destino Traz de volta um Aglet enviado a outro host Aglet em atividade. - Demonstração da ferramenta
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Exemplo 1 – Hello World Móvel Demonstração:  Desenvolvendo um agente móvel com Aglets Importar pacotes da API Herdar a classe Aglet Implementar método run()
Exemplo 2 – Tratando Listeners Demonstração:  Desenvolvendo um agente móvel com Aglets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Importar pacotes da API Implementar Interfaces Implementar métodos
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Demonstração:  Desenvolvendo um agente móvel com Aglets Implementar métodos Implementar métodos
Exemplo 2 – Tratando Listeners import com.ibm.aglet.*; import com.ibm.aglet.event.*; public class MyListenerTest  extends Aglet  { public boolean move = true; public void  onCreation (Object init) { //cria um objeto listener MyListener listener = new MyListener(); //registra um listener mobility this.addMobilityListener((MobilityListener)listener); //registra um listener clone this.addCloneListener((CloneListener)listener); //registra um listener persistency this.addPersistencyListener((PersistencyListener)listener); } public void  run () { System.out.println("Ola pessoal!"); } }; //Fim da classe (Aglet) MyListenerTest Demonstração:  Desenvolvendo um agente móvel com Aglets Importar pacotes da API Herdar a classe Aglet
Exemplo 3 – Tratando Proxys Demonstração:  Desenvolvendo um agente móvel com Aglets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Importar pacotes da API Herdar a classe Aglet
import com.ibm.aglet.*; import java.util.Enumeration; import java.util.Date; public class ProxyInfoExample  extends Aglet  { public void  run () { print("STARTING --------------------"); try { print(“Criando o child..."); AgletProxy proxy = getAgletContext().createAglet(getCodeBase(), "examples.ProxyInfoChild", null); print(“Finalizando a criacao do child."); pause();   print(“Usando o proxy diretamente: ");   print("Identificador:  apos;" + proxy. getAgletID () + "apos;"); print("Code Base:  apos;" + "(Depreciated, using aglet.getCodeBase()) " +  getCodeBase () + "apos;"); print(“Nome da Classe:  apos;" + proxy. getAgletClassName () + "apos;");   pause();   print("... E agora, as informacoes do objeto: ");   AgletInfo info = proxy.getAgletInfo();   print("Identificador:  apos;" + info. getAgletID () + "apos;");   print("Code Base:  apos;" + info. getCodeBase () + "apos;");   print(“Nome da Classe:  apos;" + info. getAgletClassName () + "apos;");   print("Origem:  apos;" + info. getOrigin () + "apos;");   print(“Endereco:  apos;" + info. getAddress () + "apos;");   print(“Hora de Criacao: apos;" + new Date(info. getCreationTime ()) + "apos;"); }  //Continua no proximo slide.. Importar pacotes da API Herdar a classe Aglet Demonstração:  Desenvolvendo um agente móvel com Aglets
Exemplo 3 – Tratando Proxys ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Considerações finais ,[object Object],[object Object],[object Object],[object Object],Conclusões do Grupo Desafios na área ,[object Object],[object Object],[object Object],[object Object],[object Object]
Referências ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MALUTA, Líliam C. Gaiotto.  Aplicação em Computação Móvel para Monitoramento de Pacientes em UTI. Disponível em: <http://www.wirelessbrasil.org/wirelessbr/colaboradores/liliam_maluta/monitor_uti_01. html>. Acesso em: 05 set. 2007. MENDES, Manuel de Jesus; SILVA, Flávio M. de Assis.  Mobile Agents in Autonomous Decentralized Systems.  IEEE  Autonomous Decentralized Systems, 1999. Integration of Heterogeneous Systems. Proceedings. MODAK, Vishal D.; LANGAN, David D.; HAIN, Thomas F.  A Pattern-based Development Tool for Mobile Agents.  ACM  SIGCSE Bulletin, Volume 37, p. 72-75, Fev. 2005. OBJECT Management Group.  Agent Technology Green Paper.  Agent Platform Special Interest Group, 2000.  Disponível em: <http://www.objs.com/agent/agents_Green_Paper_v100.doc>. Acesso em: 06 set. 2007. OYAMADA, Márcio Seiji; ITO, Sérgio Akira.  Aglets: agentes móveis em java.  Disponível em: <http://www.inf.ufrgs.br/ procpar/disc/cmp134/trabs/T2/981/Aglets/aglets.html>. Acesso em: 05 set. 2007. PHAM, Vu Anh; KARMOUCH, Ahmed.  Mobile Software Agents: an overview.  IEEE, 1998. Disponível em: <http://www.comsoc.org/ci/private/1998/jul/Karmouch.html>. Acesso em: 05 set. 2007. UTO, Nelson.  Segurança de Sistemas de Agentes Móveis.  Dissertação de Mestrado. Universidade Estadual de  Campinas, Instituto de Computação, Abril de 2003. Disponível em:  <http://www.las.ic.unicamp.br/paulo/teses/trabalhos-relacionados/NelsonUto.pdf>. Acesso: 06 set. 2007. Wayne A. Jansen. Countermeasures for Mobile Agent Security. Special Issue on Advanced Security Techniques for  Network Protection, Elsevier Science BV, novembro de 2000. In:  UTO, Nelson.  Segurança de Sistemas  de  Agentes Móveis.  Dissertação de Mestrado. Universidade Estadual de Campinas, Instituto de  Computação, Abril de  2003. Disponível em: <http://www.las.ic.unicamp.br/paulo/teses/trabalhos- relacionados/NelsonUto.pdf>.  Acesso em: 06 set. 2007. WHITE, Jim.  Mobile Agents White Paper.  General Magic, 1996. Disponível em:  <http://citeseer.ist.psu.edu/white96mobile.html>. Acesso em: 15 ago. 2007. WONG, David; PACIOREK, Noemi; MOORE, Dana.  Java-based Mobile Agents.  Communications Of The Acm, v. 42,  n. 3, p.  92-102, mar. 1999. Referências
Figura 5.  Representação Places (WHITE, 1996) Figura 6.  Representação Agents (WHITE, 1996) Figura 7.  Representação Travel (WHITE, 1996)
 

Contenu connexe

Tendances

Palestra Sobre Engenharia Social
Palestra Sobre Engenharia SocialPalestra Sobre Engenharia Social
Palestra Sobre Engenharia SocialDavi Rodrigues
 
Aula05 padrões sem fio
Aula05   padrões sem fioAula05   padrões sem fio
Aula05 padrões sem fioCarlos Veiga
 
Aula 04: Meios de transmissão
Aula 04: Meios de transmissãoAula 04: Meios de transmissão
Aula 04: Meios de transmissãoNilson Mori
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Aula 03 introducao a comunicacao de dados
Aula 03   introducao a comunicacao de dadosAula 03   introducao a comunicacao de dados
Aula 03 introducao a comunicacao de dadosEduardo de Andreia
 
SEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdf
SEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdfSEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdf
SEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdfannykaroline2Ainform
 
Aula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dadosAula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dadosJorge Ávila Miranda
 
Manual de instalacion dhcp
Manual de instalacion dhcpManual de instalacion dhcp
Manual de instalacion dhcpAndres Ldño
 
Intrusion Detection System
Intrusion Detection SystemIntrusion Detection System
Intrusion Detection SystemMohit Belwal
 
Intrusion detection system
Intrusion detection systemIntrusion detection system
Intrusion detection systemRoshan Ranabhat
 
Segurança da informação na web
Segurança da informação na webSegurança da informação na web
Segurança da informação na webRafael Marinho
 
Segurança de Dados e Informações - Aula 2 - Vulnerabilidades e Ameaças
Segurança de Dados e Informações - Aula 2 - Vulnerabilidades e AmeaçasSegurança de Dados e Informações - Aula 2 - Vulnerabilidades e Ameaças
Segurança de Dados e Informações - Aula 2 - Vulnerabilidades e AmeaçasMinistério Público da Paraíba
 

Tendances (20)

TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Palestra Sobre Engenharia Social
Palestra Sobre Engenharia SocialPalestra Sobre Engenharia Social
Palestra Sobre Engenharia Social
 
Aula05 padrões sem fio
Aula05   padrões sem fioAula05   padrões sem fio
Aula05 padrões sem fio
 
Como funciona a Internet - Camadas e Protocolos
Como funciona a Internet - Camadas e ProtocolosComo funciona a Internet - Camadas e Protocolos
Como funciona a Internet - Camadas e Protocolos
 
5G.pptx
5G.pptx5G.pptx
5G.pptx
 
Aula 04: Meios de transmissão
Aula 04: Meios de transmissãoAula 04: Meios de transmissão
Aula 04: Meios de transmissão
 
O que mudou na ISO 27002:2013
O que mudou na ISO 27002:2013O que mudou na ISO 27002:2013
O que mudou na ISO 27002:2013
 
Rede de computadores
Rede de computadoresRede de computadores
Rede de computadores
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Seguranca de rede
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
 
Aula 03 introducao a comunicacao de dados
Aula 03   introducao a comunicacao de dadosAula 03   introducao a comunicacao de dados
Aula 03 introducao a comunicacao de dados
 
SEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdf
SEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdfSEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdf
SEGURANÇA CIBERNÉTICA X CIBERSEGURANÇA.pdf
 
Aula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dadosAula 01 meios de comunicação de dados
Aula 01 meios de comunicação de dados
 
Manual de instalacion dhcp
Manual de instalacion dhcpManual de instalacion dhcp
Manual de instalacion dhcp
 
Intrusion Detection System
Intrusion Detection SystemIntrusion Detection System
Intrusion Detection System
 
Intrusion detection system
Intrusion detection systemIntrusion detection system
Intrusion detection system
 
Segurança da informação na web
Segurança da informação na webSegurança da informação na web
Segurança da informação na web
 
Segurança de Dados e Informações - Aula 2 - Vulnerabilidades e Ameaças
Segurança de Dados e Informações - Aula 2 - Vulnerabilidades e AmeaçasSegurança de Dados e Informações - Aula 2 - Vulnerabilidades e Ameaças
Segurança de Dados e Informações - Aula 2 - Vulnerabilidades e Ameaças
 

Similaire à Agentes Moveis - Aspectos De Desenvolvimento

Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidRodolfo Faquin Della Justina
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009vpmachado
 
Gerencia e Administração de Redes
Gerencia e Administração de RedesGerencia e Administração de Redes
Gerencia e Administração de RedesAllan Piter Pressi
 
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoSistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoHelio Henrique L. C. Monte-Alto
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 

Similaire à Agentes Moveis - Aspectos De Desenvolvimento (20)

Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
JADE+JENA
JADE+JENAJADE+JENA
JADE+JENA
 
Rmi (remote method invocation)
Rmi (remote method invocation)Rmi (remote method invocation)
Rmi (remote method invocation)
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Artigo - GR
Artigo - GRArtigo - GR
Artigo - GR
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com Android
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Struts2 remote codeexecution
Struts2 remote codeexecutionStruts2 remote codeexecution
Struts2 remote codeexecution
 
Threads
ThreadsThreads
Threads
 
Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009Palestra no ERCEMAPI 2009
Palestra no ERCEMAPI 2009
 
Gerencia e Administração de Redes
Gerencia e Administração de RedesGerencia e Administração de Redes
Gerencia e Administração de Redes
 
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao ContextoSistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
 
Android
AndroidAndroid
Android
 
Agent toolkits rc3
Agent toolkits rc3Agent toolkits rc3
Agent toolkits rc3
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Pro model
Pro modelPro model
Pro model
 
JBoss Clustering
JBoss ClusteringJBoss Clustering
JBoss Clustering
 

Plus de Luiz Matos

Processamento consultas-xml-v2
Processamento consultas-xml-v2Processamento consultas-xml-v2
Processamento consultas-xml-v2Luiz Matos
 
Making Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsMaking Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsLuiz Matos
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel UbiquaLuiz Matos
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Luiz Matos
 
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Luiz Matos
 
The Past and Future History of the Internet
The Past and Future History of the InternetThe Past and Future History of the Internet
The Past and Future History of the InternetLuiz Matos
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoLuiz Matos
 
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Luiz Matos
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebLuiz Matos
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeLuiz Matos
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaLuiz Matos
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Luiz Matos
 
Learning Design
Learning DesignLearning Design
Learning DesignLuiz Matos
 

Plus de Luiz Matos (13)

Processamento consultas-xml-v2
Processamento consultas-xml-v2Processamento consultas-xml-v2
Processamento consultas-xml-v2
 
Making Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsMaking Sense of Revision-Control Systems
Making Sense of Revision-Control Systems
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel Ubiqua
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
 
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
 
The Past and Future History of the Internet
The Past and Future History of the InternetThe Past and Future History of the Internet
The Past and Future History of the Internet
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de caso
 
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da Web
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidade
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
 
Learning Design
Learning DesignLearning Design
Learning Design
 

Dernier

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 

Dernier (6)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Agentes Moveis - Aspectos De Desenvolvimento

  • 1. Agentes Móveis Aspectos de Desenvolvimento Componentes : Luiz Matos, Marcelo Almeida, Margarete Sá Salvador, 2007 Universidade Federal da Bahia Especialização em Sistemas Distribuídos Computação Móvel
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Representação das ameaças Sistema de Agentes M óveis Entidades Externas Aspectos de segurança 1. ameaças do servidor contra o agente; 2. ameaças do agente contra o servidor; 3. ameaças do agente contra outro agente sendo executado no mesmo servidor; 4. outras ameaças contra o sistema de agentes. Personificação, negação de serviço, alteração de dados ou código, acesso não autorizado, entre outros. Figura 8. Ameaças em Agentes Móveis (UTO, 2003)
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Ciclo de Vida Aglets: uma visão geral Figura 9. Ciclo de Vida de um Aglet (JUNG, [s.d.]) O Aglet toma seu lugar em um contexto, ganha seu identificador e é inicializado. Um aglet nasce igual o pai exceto ID e estado. Ação de despachar um Aglet de um contexto e inseri-lo em outro, onde este reiniciará sua execução. Um Aglet, previamente despachado, é trazido de volta a um contexto e seu estado volta junto. Um Aglet é retirado temporariamente de seu contexto e é colocado em um contexto secundário. Um Aglet desativado pode ser reativado, voltando a executar a partir do seu estado no momento da esativação. O Aglet é retirado de seu contexto e morre. Seu estado é perdido para sempre.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Aglet Server (TAHITI) Figura 12. Interface TAHITI Demonstração: Desenvolvendo um agente móvel com Aglets Cria um novo Aglet. Exibe caixa de dialogo de um Aglet. Traz informações sobre o Aglet selecionado. Elimina um Aglet Clona um Aglet Envia um Aglet para um host destino Traz de volta um Aglet enviado a outro host Aglet em atividade. - Demonstração da ferramenta
  • 27.
  • 28.
  • 29.
  • 30. Exemplo 2 – Tratando Listeners import com.ibm.aglet.*; import com.ibm.aglet.event.*; public class MyListenerTest extends Aglet { public boolean move = true; public void onCreation (Object init) { //cria um objeto listener MyListener listener = new MyListener(); //registra um listener mobility this.addMobilityListener((MobilityListener)listener); //registra um listener clone this.addCloneListener((CloneListener)listener); //registra um listener persistency this.addPersistencyListener((PersistencyListener)listener); } public void run () { System.out.println(&quot;Ola pessoal!&quot;); } }; //Fim da classe (Aglet) MyListenerTest Demonstração: Desenvolvendo um agente móvel com Aglets Importar pacotes da API Herdar a classe Aglet
  • 31.
  • 32. import com.ibm.aglet.*; import java.util.Enumeration; import java.util.Date; public class ProxyInfoExample extends Aglet { public void run () { print(&quot;STARTING --------------------&quot;); try { print(“Criando o child...&quot;); AgletProxy proxy = getAgletContext().createAglet(getCodeBase(), &quot;examples.ProxyInfoChild&quot;, null); print(“Finalizando a criacao do child.&quot;); pause(); print(“Usando o proxy diretamente: &quot;); print(&quot;Identificador: apos;&quot; + proxy. getAgletID () + &quot;apos;&quot;); print(&quot;Code Base: apos;&quot; + &quot;(Depreciated, using aglet.getCodeBase()) &quot; + getCodeBase () + &quot;apos;&quot;); print(“Nome da Classe: apos;&quot; + proxy. getAgletClassName () + &quot;apos;&quot;); pause(); print(&quot;... E agora, as informacoes do objeto: &quot;); AgletInfo info = proxy.getAgletInfo(); print(&quot;Identificador: apos;&quot; + info. getAgletID () + &quot;apos;&quot;); print(&quot;Code Base: apos;&quot; + info. getCodeBase () + &quot;apos;&quot;); print(“Nome da Classe: apos;&quot; + info. getAgletClassName () + &quot;apos;&quot;); print(&quot;Origem: apos;&quot; + info. getOrigin () + &quot;apos;&quot;); print(“Endereco: apos;&quot; + info. getAddress () + &quot;apos;&quot;); print(“Hora de Criacao: apos;&quot; + new Date(info. getCreationTime ()) + &quot;apos;&quot;); } //Continua no proximo slide.. Importar pacotes da API Herdar a classe Aglet Demonstração: Desenvolvendo um agente móvel com Aglets
  • 33.
  • 34.
  • 35.
  • 36. MALUTA, Líliam C. Gaiotto. Aplicação em Computação Móvel para Monitoramento de Pacientes em UTI. Disponível em: <http://www.wirelessbrasil.org/wirelessbr/colaboradores/liliam_maluta/monitor_uti_01. html>. Acesso em: 05 set. 2007. MENDES, Manuel de Jesus; SILVA, Flávio M. de Assis. Mobile Agents in Autonomous Decentralized Systems. IEEE Autonomous Decentralized Systems, 1999. Integration of Heterogeneous Systems. Proceedings. MODAK, Vishal D.; LANGAN, David D.; HAIN, Thomas F. A Pattern-based Development Tool for Mobile Agents. ACM SIGCSE Bulletin, Volume 37, p. 72-75, Fev. 2005. OBJECT Management Group. Agent Technology Green Paper. Agent Platform Special Interest Group, 2000. Disponível em: <http://www.objs.com/agent/agents_Green_Paper_v100.doc>. Acesso em: 06 set. 2007. OYAMADA, Márcio Seiji; ITO, Sérgio Akira. Aglets: agentes móveis em java. Disponível em: <http://www.inf.ufrgs.br/ procpar/disc/cmp134/trabs/T2/981/Aglets/aglets.html>. Acesso em: 05 set. 2007. PHAM, Vu Anh; KARMOUCH, Ahmed. Mobile Software Agents: an overview. IEEE, 1998. Disponível em: <http://www.comsoc.org/ci/private/1998/jul/Karmouch.html>. Acesso em: 05 set. 2007. UTO, Nelson. Segurança de Sistemas de Agentes Móveis. Dissertação de Mestrado. Universidade Estadual de Campinas, Instituto de Computação, Abril de 2003. Disponível em: <http://www.las.ic.unicamp.br/paulo/teses/trabalhos-relacionados/NelsonUto.pdf>. Acesso: 06 set. 2007. Wayne A. Jansen. Countermeasures for Mobile Agent Security. Special Issue on Advanced Security Techniques for Network Protection, Elsevier Science BV, novembro de 2000. In: UTO, Nelson. Segurança de Sistemas de Agentes Móveis. Dissertação de Mestrado. Universidade Estadual de Campinas, Instituto de Computação, Abril de 2003. Disponível em: <http://www.las.ic.unicamp.br/paulo/teses/trabalhos- relacionados/NelsonUto.pdf>. Acesso em: 06 set. 2007. WHITE, Jim. Mobile Agents White Paper. General Magic, 1996. Disponível em: <http://citeseer.ist.psu.edu/white96mobile.html>. Acesso em: 15 ago. 2007. WONG, David; PACIOREK, Noemi; MOORE, Dana. Java-based Mobile Agents. Communications Of The Acm, v. 42, n. 3, p. 92-102, mar. 1999. Referências
  • 37. Figura 5. Representação Places (WHITE, 1996) Figura 6. Representação Agents (WHITE, 1996) Figura 7. Representação Travel (WHITE, 1996)
  • 38.