SlideShare uma empresa Scribd logo
1 de 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)
 

Mais conteúdo relacionado

Mais procurados

1 parte profilaxia antimicrobiana na odontologia
1 parte   profilaxia antimicrobiana na odontologia1 parte   profilaxia antimicrobiana na odontologia
1 parte profilaxia antimicrobiana na odontologia
Lucas Almeida Sá
 
Articulação têmporomandibular
Articulação têmporomandibularArticulação têmporomandibular
Articulação têmporomandibular
Natha Fisioterapia
 
EC2上でパケットをミラーリング
EC2上でパケットをミラーリングEC2上でパケットをミラーリング
EC2上でパケットをミラーリング
Kenta Yasukawa
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
 
Ansioliticos em odontologia
Ansioliticos em odontologiaAnsioliticos em odontologia
Ansioliticos em odontologia
Marcos Gomes
 
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
Amazon Web Services Korea
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
Amazon Web Services Korea
 
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 201830분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
Amazon Web Services Korea
 

Mais procurados (20)

Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
 
1 parte profilaxia antimicrobiana na odontologia
1 parte   profilaxia antimicrobiana na odontologia1 parte   profilaxia antimicrobiana na odontologia
1 parte profilaxia antimicrobiana na odontologia
 
Tecnicas anestesicas.pptx
Tecnicas anestesicas.pptxTecnicas anestesicas.pptx
Tecnicas anestesicas.pptx
 
Articulação têmporomandibular
Articulação têmporomandibularArticulação têmporomandibular
Articulação têmporomandibular
 
Sindrome Respiração bucal
Sindrome  Respiração bucalSindrome  Respiração bucal
Sindrome Respiração bucal
 
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
 
EC2上でパケットをミラーリング
EC2上でパケットをミラーリングEC2上でパケットをミラーリング
EC2上でパケットをミラーリング
 
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 
Ansioliticos em odontologia
Ansioliticos em odontologiaAnsioliticos em odontologia
Ansioliticos em odontologia
 
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
 
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
Use Elastic Beanstalk Blue/Green Deployment to Reduce Downtime & Risk (DEV330...
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
 
20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift20200218 AWS Black Belt Online Seminar Next Generation Redshift
20200218 AWS Black Belt Online Seminar Next Generation Redshift
 
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
 
AWS Summit Seoul 2023 | Amazon EKS, 중요한 건 꺾이지 않는 안정성
AWS Summit Seoul 2023 | Amazon EKS, 중요한 건 꺾이지 않는 안정성AWS Summit Seoul 2023 | Amazon EKS, 중요한 건 꺾이지 않는 안정성
AWS Summit Seoul 2023 | Amazon EKS, 중요한 건 꺾이지 않는 안정성
 
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 201830분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
 
Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...
Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...
Arm 기반의 AWS Graviton 프로세서로 구동되는 AWS 인스턴스 살펴보기 - 김종선, AWS솔루션즈 아키텍트:: AWS Summi...
 
Controle de biofilme 2 blog
Controle de biofilme  2 blogControle de biofilme  2 blog
Controle de biofilme 2 blog
 
SDDC Strategy 1.3
SDDC Strategy 1.3SDDC Strategy 1.3
SDDC Strategy 1.3
 

Semelhante a Agentes Moveis - Aspectos De Desenvolvimento

Semelhante a 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
 

Mais de Luiz Matos

Processamento consultas-xml-v2
Processamento consultas-xml-v2Processamento consultas-xml-v2
Processamento consultas-xml-v2
Luiz Matos
 

Mais 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
 

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.