SlideShare uma empresa Scribd logo
1 de 3
AmbientTalk
                                                  Pedro Filipe Duarte Fernandes
                                                            020316007
                                                      Faculdade de Ciências da 
                                                       Universidade do Porto




                   1.        Introdução                                     Volatile   connections:   os   dispositivos   móveis 
Com   o   aparecimento   dos   novos   dispositivos   portáteis,       equipados com ligações  wireless,  possuem um limite de 
cada   vez   mais   pequenos,   houve   um   crescimento               alcance,   o   que   pode   originar   perdas   de   conexão.   As 
tremendo   na   investigação   de  mobile   ad   hoc   networks.       desconexões   não   são   ­   na   maioria   das   vezes   ­ 
Tais   redes   são   compostas   por   dispositivos   portáteis        permanentes:   os   dispositivos   podem   restabelecer   a 
(equipados com tecnologias wireless) e normalmente não                 conexão,   ao   ficarem   novamente   dentro   dos   alcances 
são administradas.                                                     respectivos. Nestes casos, onde as redes são instáveis, as 
                                                                       aplicações   devem   ser   capazes   de   permitir   que   a 
As capacidades wireless combinadas com a portabilidade                 comunicação   se   restabeleça,   de   onde   ela   foi 
dos aparelhos, resultam em aplicações onde as entidades                interrompida. 
se   detectam   espontaneamente,   interligam­se   em                  As redes de sistemas distribuídos tradicionais já lidam a 
variadas colaborações e podem desaparecer tão depressa                 muito  com  este   tipo   de   falhas,   no   entanto,  numa  rede 
como apareceram.                                                       móvel,   este  género  de   situação   ocorre  com   muita   mais 
Apesar   de   terem   havido   grandes   desenvolvimentos   no         frequência.  De tal  forma  que, quase que  é considerado 
hardware   destes   pequenos   dispositivos,   tem   havido            como a regra no comportamento  deste tipo de conexão. 
pouco desenvolvimento  no que a software, em concreto,                 Daí que seja necessário a utilização de uma linguagem 
no   que   a  linguagens   de   programação,   que   resolvam  as      que   esteja   bem   preparada   para   o   tratamento   dessas 
questões levantadas pelas mobile networks, diz respeito.               ocorrências.
As   linguagens   de   programação   distribuída, 
desenvolvidas   até   à   data,   ora   são   desenvolvidas   tendo         Zero   infractructure:   nas  mobile   networks,   os 
em conta a alta­performance,  a computação  distribuída                dispositivos   que   oferecem   serviços,   entram   e   saem   da 
com   elevado   nível   de   confiança   ou   a   computação           rede   espontaneamente.   Em   regra,   as  mobile   ad   hoc  
distribuída para uso geral, em redes de dispositivos fixos             networks não são sequer administradas. Como resultado, 
e estacionários.                                                       e em contraste com as redes estáticas, onde as aplicações 
Nenhuma   destas   linguagens   foi   desenhada                        normalmente sabem onde encontrar serviços, através de 
explicitamente  para  mobile  networks.  Faltam­lhes  uma              URLs   ou   endereços   similares,   as   aplicações   de  mobile  
série   de   suportes   necessários,   para   o   tratamento   das     networks tem de encontrar os serviços dinamicamente no 
topologias associadas a mobile networks.                               meio   onde   se   encontram.   Os   serviços   dos   dispositivos 
                                                                       vizinhos   têm   de   ser   encontrados   sem   a   ajuda   de 
O   AmbientTalk   surge   assim,   como   uma   linguagem   de 
                                                                       qualquer   infra­estrutura   de   apoio,   previamente 
programação   distribuída   e   orientada   a   objectos, 
                                                                       configurada. Esta aparente falta de estruturação, leva a 
desenhada  para  dar resposta  aos requisitos das  mobile  
                                                                       que as comunicações sejam feitas com base em ligações 
ad hoc networks.                                                       peer­to­peer,   onde   os   serviços   são   anunciados   e 
                                                                       descobertos   directamente   pelos   dispositivos.   Qualquer 
        2.        Mobile Ad Hoc Networks                               aplicação  desenhada para  mobile ad hoc networks,  tem 
Existem   duas   propriedades   nas  mobile   networks,   que          de lidar com estes fenómenos. 
claramente   as   diferenciam   das   tradicionais   redes   fixas 
de   computadores:   as   aplicações   são   executadas   em           Como   os   efeitos   originados   pelas   perdas   de   conexão   e 
dispositivos   móveis,   que   estão   conectados   através   de       ausência  temporária  de serviço,  afectam  drasticamente 
comunicações  wireless, com  um  alcance  limitado. Estas              as aplicações, os fenómenos referidos não são facilmente 
redes exibem por isso duas características únicas:                     ultrapassados com as abstracções das bibliotecas usadas, 
                                                                       nas tradicionais linguagens de programação distribuída. 
                                                                       Daí o uso de linguagens específicas para este género de 
situações,   ser   fulcral   para   o   sucesso   de   qualquer            4.1        Event loop concurrency
aplicação.                                                                 No AmbientTalk,  a execução  concorrencial   é executada 
                                                                           pelos  actors:   uma   máquina   virtual,   em   AmbientTalk, 
                                                                           pode   conter   múltiplos  actors  que   executam 
      3.        Linguagens de programação                                  concorrencialmente. Os  actors implementam um modelo 
               orientadas ao ambiente                                      event­driven   concurrency,  em  oposição  com  os  sistemas 
Na   linguagem   AmbientTalk,   toda   a   comunicação                     tradicionais de multithreaded concorrency. 
distribuída   é   feita   assincronamente.   A   principal   razão 
                                                                           Num modelo  event­driven, um  event­loop  é uma thread 
para esse facto deve­se aos dispositivos estarem loosely­
                                                                           de   execução   que   perpetuamente   processa   eventos   da 
coupled.   É   este   loose   coupling   que   reduz 
                                                                           event   queue,   evocando   para   isso   os  event   handlers 
significativamente   o   impacto   das   conexões   serem 
                                                                           adequados. Estes ciclos de eventos concorrenciais evitam 
extremamente   voláteis.   (como   já   referimos   no   capítulo 
                                                                           assim os deadlocks e outras situações de conflito. O não 
anterior)   A   este   nível   temos   a   destacar   dois   graus   de 
                                                                           determinismo   do   sistema   é   confinado   à   ordem   pelos 
emparelhamento:
                                                                           quais os eventos são processados. 

    Decoupling  in time:  os dispositivos  que  comunicam 
não precisam de estar disponíveis ao mesmo tempo. Isto                     4.2        AmbientTalk actors
implica que um dispositivo pode enviar uma mensagem                        Em AmbientTalk, os  actors não são representados como 
para   um   destinatário   que   esta   indisponível   naquele             objects  mas   sim   como  event   loops:  o  event   queue  é 
momento.                                                                   representado   pela  queue  de   mensagens   do  actor  e   as 
                                                                           mensagens   são   então   representadas   pelos  events.   As 
     Synchronisation   decoupling:  permite,   por   exemplo,              notificações   de  events  (como   envios   assíncronos   de 
que   o   acto   de   enviar   mensagens   seja   independente   do        mensagens)   e   os  event   handlers,   esses   sim,   são 
acto   de   receber   mensagens.   Isto   leva   a   que   haja   uma      representados como objects. 
abstracção relativamente ao facto de o destinatário estar                  Assim  sendo, o que  o  event  loop  do  actor  faz  é  retirar, 
disponível  ou não,  e assim  permitir  que  os dispositivos               perpetuamente,   mensagens   da  queue  e   invocar   os 
façam   o   seu   trabalho   mesmo   quando   não   têm   uma              métodos   correspondentes   do  object,   através   do  event  
ligação disponível naquele momento.                                        handler. 

Uma linguagem  deste género, tem também  de incluir o 
suporte à descoberta e gestão dos dispositivos e serviços                  4.3        Asynchronous message passing
da   sua   vizinhança.   No   entanto,   a   forma   como   os             No   AmbientTalk   as   mensagens   assíncronas   podem   ser 
dispositivos   comunicam   para   alcançar   esse   objectivo,             enviadas   entre  objects  pertencentes   ao   mesmo   ou   a 
revela   mais   um   grau   de   emparelhamento   com                      diferentes  actors.   No   caso   de   ambos,   o   receptor   e 
importantes repercussões em mobile ad hoc networks:                        emissor,   pertencerem   ao   mesmo  actor,   a   mensagem   é 
                                                                           simplesmente adicionada a queue do dono da mensagem 
                                                                           e   os   parâmetros   são   passados   por  reference,   tal   como 
     Decoupling in space:  os dispositivos não necessitam 
                                                                           seriam   num   envio   síncrono.   No   caso   de   envio   da 
de   se   conhecer   previamente.   O   decoupling   in   space            mensagem  inter­actors,   onde   o  object  envia   um 
implica   que   os   dispositivos   se   valham   de   outros 
                                                                           mensagem   assincronamente   através   de   uma  far  
mecanismos,   que   não   os   endereços   e   URLs,   para   se 
                                                                           reference,  para  um  object  pertencente   a outro  actor, os 
comunicarem. Este é um aspecto importante das mobile  
                                                                           objects são transmitidos por far reference.
ad hoc networks, visto suplantar o facto de serem redes 
sem   infra­estruturação   base.   (como   já   referimos   no 
capítulo anterior)
                                                                                 5.       Programação distribuída em 
                                                                                              AmbientTalk
                   4.        AmbientTalk                                   Em   AmbientTalk,  dois  objects  são   designados  de  local, 
O AmbientTalk  é uma  linguagem  orientada  a objectos,                    quando   pertencem   ao   mesmo  actor.   Os   objectos   são 
onde   os  types  são   dinamicamente   criados.   Os   objectos           considerados  remote,   quando   pertencem   a  actors 
não são instanciados de classes, mas sim criados através                   diferentes,   mesmo   que   sejam   executados   na   mesma 
da clonagem de outros objectos já existentes ou gerados                    máquina   virtual.   O   AmbientTalk   abstrai­se   da 
automaticamente (ex­nihilo). 
localização   física   dos  actors  e   considera­os   como   a        5.2       Service discovery
unidade de distribuição.                                               O AmbientTalk também faz uso de um serviço designado 
Como objectos residentes em diferentes dispositivos, são               por:  publish/subscrive   discovery   protocol.   Uma 
necessariamente   controlados   por   diferentes  actors,   os         publication  corresponde   a   exportar   um   objecto   usando 
únicos tipos de object references que podem ocorrer entre              uma type tag. A type tag é usada como se fosse um tópico 
dispositivos diferentes, são as far references.                        conhecido   por   ambos   :   o  publisher  e   o  subscriber.   A 
                                                                       subscription, toma a forma de um registo de um  object  
                                                                       handler,   para   um   determinado  type   tag,   que   é 
5.1       Far references e partial failures                            despoletado sempre que um object contendo aquela  type  
Ao admitir que far references sejam transmitidas através               tag fica disponível na ad hoc network. 
de   máquinas   virtuais,   temos   de   especificar   a   sua 
semântica, para fazer face a possíveis falhas de envio. 
                                                                       5.3       Zero infractructure
As  far   references  do   AmbientTalk,   por   definição,   são 
                                                                       Em  mobile   ad   hoc   networks,   os   serviços   têm   de   ser 
resistentes   a  desconexões   da   rede.   Quando   ocorre uma 
falha na rede, uma  far reference  do  object  desconectado            descobertos   nas   proximidades  dos   próprios  dispositivos 
                                                                       presentes no local. Esta tipologia de rede implica que os 
começa   a   fazer   um   buffering   de   todas   as   mensagens 
                                                                       objectos não necessitem da actuação de terceiros, para se 
enviadas   para   ele.   Mais   tarde,   quando   a   conexão   é 
                                                                       descobrirem uns aos outros. Também implica que a um 
restabelecida,    a  far reference  faz um  flush  de todas as 
                                                                       remote  object  não  pode  simplesmente  ser  atribuído  um 
mensagens   acumuladas   para   o  object  respectivo, 
                                                                       URL : o dispositivo que fornece o remote object pode não 
mantendo   a   ordem   pela   qual   foram   originalmente 
                                                                       ser conhecido ou simplesmente não estar disponível  na 
enviadas.   Assim   as   mensagens   enviadas   por  far  
                                                                       local ad hoc network. Para lidar com este problema, cada 
reference  nunca   são   perdidas,   independentemente   do 
                                                                       actor      no   AmbientTalk   é   um                 topic­based  
estado interno da conexão para essa reference. 
                                                                       publish/subscribe   engine.   Os   tópicos   são   os  type   tags 
Este   comportamento   é   indispensável   em  mobile                  usados   para   classificar   os   objectos   de   uma   forma 
networks, pelo facto de a maioria das perdas parciais de               compreensível,   independente   de   qualquer   endereço 
conexão, se deverem a quebras temporárias de rede.                     particular   do   dispositivo,   garantindo   a   anonimicidade 
No entanto, o dispositivo  remoto pode ter desconectado                das   interacções   entre   objectos.   Como   cada  actor  pode 
definitivamente   ou   ter   ficado   completamente   fora   do        publicar e subscrever serviços, não é necessário o uso de 
alcance da rede wireless. Esse tipo de falhas chamam­se                qualquer servidor intermediário. 
de falhas persistentes. Para dar resposta a essas falhas o 
AmbientTalk   introduz   o   conceito   de  leasing.   Um  lease 
denota   o   direito   de   aceder   a   um   recurso   por   um                             6.         Conclusão
determinado   período   de   tempo.   Se   o   proprietário   do       Introduzimos   assim   o   AmbientTalk   como,   uma 
recurso assim o permitir, esse lease pode ser renovado ou              linguagem   distribuída   e   orientada   a   objectos, 
prolongado  ao longo do tempo. No AmbientTalk, as  far                 especificamente   desenhada   para   compor   serviços   em 
references  desempenham   o   papel   dos  lease  e   os  objects      mobile ad hoc networks. O AmbientTalk foi criado com o 
por   eles   referenciados   desempenham   o   papel   dos             objectivo   de   reduzir   os   efeitos   negativos   que,   as 
recursos. Assim sendo, uma  far reference  só providencia              particularidades   do   hardware   utilizado   nas  mobile  
o acesso a um  remote object  por um intervalo de tempo                networks possuem e exponenciar as suas valências.
determinado.   No   entanto,   enquanto   a  far   reference           No   seu   conjunto,   nenhuma   das   capacidades 
estiver a ser usada activamente (i.e., mensagens a serem               apresentadas   pelo   AmbientTalk   é   verdadeiramente 
enviadas via a  references  para o  remote object) o  lease  é         inovadora. Contudo, é no seu conceito de integração  de 
transparentemente   renovado.   Quando   ocorre   uma                  todas   essas   capacidades,   no   desenvolvimento   de 
quebra   de   rede,   o  lease  não   consegue   ser   renovado   e    aplicações   dirigidas   para   as   novas  mobile   ad   hoc  
acaba mesmo por expirar, se a desconexão ultrapassar o                 networks, que se encontra a sua grande relevância.
período determinado pelo lease.
Sendo   assim,   quando   a  lease  da  far   reference   usada 
expira,   é   anexada   uma   mensagem   de   excepção,   que 
                                                                                                  Referências
avisará o emissor de que a mensagem não foi entregue                   [1]   Tom   Van   Cutsem,   Stijn   Mostinckx,   Elisa   Gonzalez   Boix, 
ao destinatário.                                                       Jessie   Dedecker,   Wolfgang   De  Meuter,   “AmbientTalk:   Object­
                                                                       oriented Event­driven Programming in Mobile Ad hoc Networks”, 
                                                                       Vrije Universiteit Brussel.

Mais conteúdo relacionado

Destaque

Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Railshome
 
Essential programmer library
Essential programmer libraryEssential programmer library
Essential programmer libraryAndrew Hunt
 
Ruby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseRuby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseWisely chen
 
Publish-Subscribe Middlewares
Publish-Subscribe MiddlewaresPublish-Subscribe Middlewares
Publish-Subscribe Middlewareshome
 
Publish-Subscribe Middlewares
Publish-Subscribe MiddlewaresPublish-Subscribe Middlewares
Publish-Subscribe Middlewareshome
 

Destaque (7)

Happy Coding with Ruby on Rails
Happy Coding with Ruby on RailsHappy Coding with Ruby on Rails
Happy Coding with Ruby on Rails
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Essential programmer library
Essential programmer libraryEssential programmer library
Essential programmer library
 
Ruby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseRuby on Rails in UbiSunrise
Ruby on Rails in UbiSunrise
 
Slides
SlidesSlides
Slides
 
Publish-Subscribe Middlewares
Publish-Subscribe MiddlewaresPublish-Subscribe Middlewares
Publish-Subscribe Middlewares
 
Publish-Subscribe Middlewares
Publish-Subscribe MiddlewaresPublish-Subscribe Middlewares
Publish-Subscribe Middlewares
 

Semelhante a AmbientTalk: Uma linguagem para redes móveis

Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Luiz Costa
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...tdc-globalcode
 
ACM Computação Ubíqua Final
ACM Computação Ubíqua FinalACM Computação Ubíqua Final
ACM Computação Ubíqua Finalherickfaro
 
Ccna exploration fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration   fundamentos de rede - 2 comunicando-se pela redeCcna exploration   fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration fundamentos de rede - 2 comunicando-se pela redeveruzkavaz
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Renato William
 
DISCIPLINA REDES 1 TRABALHO A1
 DISCIPLINA REDES 1 TRABALHO A1 DISCIPLINA REDES 1 TRABALHO A1
DISCIPLINA REDES 1 TRABALHO A1Marcus Java
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisDuFelix02
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Um Middleware para Serviços de Alcance Virtual em Redes Bluetooth
Um Middleware para Serviços de Alcance Virtual em Redes BluetoothUm Middleware para Serviços de Alcance Virtual em Redes Bluetooth
Um Middleware para Serviços de Alcance Virtual em Redes BluetoothVando Batista
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Middlewares para TV Digital Terreste
Middlewares para TV Digital TerresteMiddlewares para TV Digital Terreste
Middlewares para TV Digital TerresteElaine Cecília Gatto
 
Computação ubíqua
Computação ubíquaComputação ubíqua
Computação ubíquaElen Arantza
 
Classificação por Dispersão Geográfica de Redes de Computadores
Classificação por Dispersão Geográfica de Redes de ComputadoresClassificação por Dispersão Geográfica de Redes de Computadores
Classificação por Dispersão Geográfica de Redes de ComputadoresDaniel Fernando Pigatto
 

Semelhante a AmbientTalk: Uma linguagem para redes móveis (20)

Modulo1 1
Modulo1 1Modulo1 1
Modulo1 1
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
 
ACM Computação Ubíqua Final
ACM Computação Ubíqua FinalACM Computação Ubíqua Final
ACM Computação Ubíqua Final
 
Open nebula
Open nebulaOpen nebula
Open nebula
 
Apo redes
Apo redesApo redes
Apo redes
 
Ccna exploration fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration   fundamentos de rede - 2 comunicando-se pela redeCcna exploration   fundamentos de rede - 2 comunicando-se pela rede
Ccna exploration fundamentos de rede - 2 comunicando-se pela rede
 
Modelo de Referência OSI
Modelo de Referência OSIModelo de Referência OSI
Modelo de Referência OSI
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
DISCIPLINA REDES 1 TRABALHO A1
 DISCIPLINA REDES 1 TRABALHO A1 DISCIPLINA REDES 1 TRABALHO A1
DISCIPLINA REDES 1 TRABALHO A1
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Um Middleware para Serviços de Alcance Virtual em Redes Bluetooth
Um Middleware para Serviços de Alcance Virtual em Redes BluetoothUm Middleware para Serviços de Alcance Virtual em Redes Bluetooth
Um Middleware para Serviços de Alcance Virtual em Redes Bluetooth
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Middlewares para TV Digital Terreste
Middlewares para TV Digital TerresteMiddlewares para TV Digital Terreste
Middlewares para TV Digital Terreste
 
Computação ubíqua
Computação ubíquaComputação ubíqua
Computação ubíqua
 
Seminario - Versão Final
Seminario - Versão FinalSeminario - Versão Final
Seminario - Versão Final
 
Classificação por Dispersão Geográfica de Redes de Computadores
Classificação por Dispersão Geográfica de Redes de ComputadoresClassificação por Dispersão Geográfica de Redes de Computadores
Classificação por Dispersão Geográfica de Redes de Computadores
 

Último

Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......suporte24hcamin
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 

Último (20)

Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 

AmbientTalk: Uma linguagem para redes móveis

  • 1. AmbientTalk Pedro Filipe Duarte Fernandes 020316007 Faculdade de Ciências da  Universidade do Porto 1. Introdução Volatile   connections:   os   dispositivos   móveis  Com   o   aparecimento   dos   novos   dispositivos   portáteis,  equipados com ligações  wireless,  possuem um limite de  cada   vez   mais   pequenos,   houve   um   crescimento  alcance,   o   que   pode   originar   perdas   de   conexão.   As  tremendo   na   investigação   de  mobile   ad   hoc   networks.  desconexões   não   são   ­   na   maioria   das   vezes   ­  Tais   redes   são   compostas   por   dispositivos   portáteis  permanentes:   os   dispositivos   podem   restabelecer   a  (equipados com tecnologias wireless) e normalmente não  conexão,   ao   ficarem   novamente   dentro   dos   alcances  são administradas. respectivos. Nestes casos, onde as redes são instáveis, as  aplicações   devem   ser   capazes   de   permitir   que   a  As capacidades wireless combinadas com a portabilidade  comunicação   se   restabeleça,   de   onde   ela   foi  dos aparelhos, resultam em aplicações onde as entidades  interrompida.  se   detectam   espontaneamente,   interligam­se   em  As redes de sistemas distribuídos tradicionais já lidam a  variadas colaborações e podem desaparecer tão depressa  muito  com  este   tipo   de   falhas,   no   entanto,  numa  rede  como apareceram. móvel,   este  género  de   situação   ocorre  com   muita   mais  Apesar   de   terem   havido   grandes   desenvolvimentos   no  frequência.  De tal  forma  que, quase que  é considerado  hardware   destes   pequenos   dispositivos,   tem   havido  como a regra no comportamento  deste tipo de conexão.  pouco desenvolvimento  no que a software, em concreto,  Daí que seja necessário a utilização de uma linguagem  no   que   a  linguagens   de   programação,   que   resolvam  as  que   esteja   bem   preparada   para   o   tratamento   dessas  questões levantadas pelas mobile networks, diz respeito. ocorrências. As   linguagens   de   programação   distribuída,  desenvolvidas   até   à   data,   ora   são   desenvolvidas   tendo  Zero   infractructure:   nas  mobile   networks,   os  em conta a alta­performance,  a computação  distribuída  dispositivos   que   oferecem   serviços,   entram   e   saem   da  com   elevado   nível   de   confiança   ou   a   computação  rede   espontaneamente.   Em   regra,   as  mobile   ad   hoc   distribuída para uso geral, em redes de dispositivos fixos  networks não são sequer administradas. Como resultado,  e estacionários. e em contraste com as redes estáticas, onde as aplicações  Nenhuma   destas   linguagens   foi   desenhada  normalmente sabem onde encontrar serviços, através de  explicitamente  para  mobile  networks.  Faltam­lhes  uma  URLs   ou   endereços   similares,   as   aplicações   de  mobile   série   de   suportes   necessários,   para   o   tratamento   das  networks tem de encontrar os serviços dinamicamente no  topologias associadas a mobile networks. meio   onde   se   encontram.   Os   serviços   dos   dispositivos  vizinhos   têm   de   ser   encontrados   sem   a   ajuda   de  O   AmbientTalk   surge   assim,   como   uma   linguagem   de  qualquer   infra­estrutura   de   apoio,   previamente  programação   distribuída   e   orientada   a   objectos,  configurada. Esta aparente falta de estruturação, leva a  desenhada  para  dar resposta  aos requisitos das  mobile   que as comunicações sejam feitas com base em ligações  ad hoc networks.  peer­to­peer,   onde   os   serviços   são   anunciados   e  descobertos   directamente   pelos   dispositivos.   Qualquer  2. Mobile Ad Hoc Networks aplicação  desenhada para  mobile ad hoc networks,  tem  Existem   duas   propriedades   nas  mobile   networks,   que  de lidar com estes fenómenos.  claramente   as   diferenciam   das   tradicionais   redes   fixas  de   computadores:   as   aplicações   são   executadas   em  Como   os   efeitos   originados   pelas   perdas   de   conexão   e  dispositivos   móveis,   que   estão   conectados   através   de  ausência  temporária  de serviço,  afectam  drasticamente  comunicações  wireless, com  um  alcance  limitado. Estas  as aplicações, os fenómenos referidos não são facilmente  redes exibem por isso duas características únicas: ultrapassados com as abstracções das bibliotecas usadas,  nas tradicionais linguagens de programação distribuída.  Daí o uso de linguagens específicas para este género de 
  • 2. situações,   ser   fulcral   para   o   sucesso   de   qualquer  4.1 Event loop concurrency aplicação. No AmbientTalk,  a execução  concorrencial   é executada  pelos  actors:   uma   máquina   virtual,   em   AmbientTalk,  pode   conter   múltiplos  actors  que   executam  3. Linguagens de programação  concorrencialmente. Os  actors implementam um modelo  orientadas ao ambiente event­driven   concurrency,  em  oposição  com  os  sistemas  Na   linguagem   AmbientTalk,   toda   a   comunicação  tradicionais de multithreaded concorrency.  distribuída   é   feita   assincronamente.   A   principal   razão  Num modelo  event­driven, um  event­loop  é uma thread  para esse facto deve­se aos dispositivos estarem loosely­ de   execução   que   perpetuamente   processa   eventos   da  coupled.   É   este   loose   coupling   que   reduz  event   queue,   evocando   para   isso   os  event   handlers  significativamente   o   impacto   das   conexões   serem  adequados. Estes ciclos de eventos concorrenciais evitam  extremamente   voláteis.   (como   já   referimos   no   capítulo  assim os deadlocks e outras situações de conflito. O não  anterior)   A   este   nível   temos   a   destacar   dois   graus   de  determinismo   do   sistema   é   confinado   à   ordem   pelos  emparelhamento: quais os eventos são processados.  Decoupling  in time:  os dispositivos  que  comunicam  não precisam de estar disponíveis ao mesmo tempo. Isto  4.2 AmbientTalk actors implica que um dispositivo pode enviar uma mensagem  Em AmbientTalk, os  actors não são representados como  para   um   destinatário   que   esta   indisponível   naquele  objects  mas   sim   como  event   loops:  o  event   queue  é  momento. representado   pela  queue  de   mensagens   do  actor  e   as  mensagens   são   então   representadas   pelos  events.   As  Synchronisation   decoupling:  permite,   por   exemplo,  notificações   de  events  (como   envios   assíncronos   de  que   o   acto   de   enviar   mensagens   seja   independente   do  mensagens)   e   os  event   handlers,   esses   sim,   são  acto   de   receber   mensagens.   Isto   leva   a   que   haja   uma  representados como objects.  abstracção relativamente ao facto de o destinatário estar  Assim  sendo, o que  o  event  loop  do  actor  faz  é  retirar,  disponível  ou não,  e assim  permitir  que  os dispositivos  perpetuamente,   mensagens   da  queue  e   invocar   os  façam   o   seu   trabalho   mesmo   quando   não   têm   uma  métodos   correspondentes   do  object,   através   do  event   ligação disponível naquele momento. handler.  Uma linguagem  deste género, tem também  de incluir o  suporte à descoberta e gestão dos dispositivos e serviços  4.3 Asynchronous message passing da   sua   vizinhança.   No   entanto,   a   forma   como   os  No   AmbientTalk   as   mensagens   assíncronas   podem   ser  dispositivos   comunicam   para   alcançar   esse   objectivo,  enviadas   entre  objects  pertencentes   ao   mesmo   ou   a  revela   mais   um   grau   de   emparelhamento   com  diferentes  actors.   No   caso   de   ambos,   o   receptor   e  importantes repercussões em mobile ad hoc networks: emissor,   pertencerem   ao   mesmo  actor,   a   mensagem   é  simplesmente adicionada a queue do dono da mensagem  e   os   parâmetros   são   passados   por  reference,   tal   como  Decoupling in space:  os dispositivos não necessitam  seriam   num   envio   síncrono.   No   caso   de   envio   da  de   se   conhecer   previamente.   O   decoupling   in   space  mensagem  inter­actors,   onde   o  object  envia   um  implica   que   os   dispositivos   se   valham   de   outros  mensagem   assincronamente   através   de   uma  far   mecanismos,   que   não   os   endereços   e   URLs,   para   se  reference,  para  um  object  pertencente   a outro  actor, os  comunicarem. Este é um aspecto importante das mobile   objects são transmitidos por far reference. ad hoc networks, visto suplantar o facto de serem redes  sem   infra­estruturação   base.   (como   já   referimos   no  capítulo anterior) 5. Programação distribuída em  AmbientTalk 4. AmbientTalk Em   AmbientTalk,  dois  objects  são   designados  de  local,  O AmbientTalk  é uma  linguagem  orientada  a objectos,  quando   pertencem   ao   mesmo  actor.   Os   objectos   são  onde   os  types  são   dinamicamente   criados.   Os   objectos  considerados  remote,   quando   pertencem   a  actors  não são instanciados de classes, mas sim criados através  diferentes,   mesmo   que   sejam   executados   na   mesma  da clonagem de outros objectos já existentes ou gerados  máquina   virtual.   O   AmbientTalk   abstrai­se   da  automaticamente (ex­nihilo). 
  • 3. localização   física   dos  actors  e   considera­os   como   a  5.2 Service discovery unidade de distribuição.  O AmbientTalk também faz uso de um serviço designado  Como objectos residentes em diferentes dispositivos, são  por:  publish/subscrive   discovery   protocol.   Uma  necessariamente   controlados   por   diferentes  actors,   os  publication  corresponde   a   exportar   um   objecto   usando  únicos tipos de object references que podem ocorrer entre  uma type tag. A type tag é usada como se fosse um tópico  dispositivos diferentes, são as far references. conhecido   por   ambos   :   o  publisher  e   o  subscriber.   A  subscription, toma a forma de um registo de um  object   handler,   para   um   determinado  type   tag,   que   é  5.1 Far references e partial failures despoletado sempre que um object contendo aquela  type   Ao admitir que far references sejam transmitidas através  tag fica disponível na ad hoc network.  de   máquinas   virtuais,   temos   de   especificar   a   sua  semântica, para fazer face a possíveis falhas de envio.  5.3 Zero infractructure As  far   references  do   AmbientTalk,   por   definição,   são  Em  mobile   ad   hoc   networks,   os   serviços   têm   de   ser  resistentes   a  desconexões   da   rede.   Quando   ocorre uma  falha na rede, uma  far reference  do  object  desconectado  descobertos   nas   proximidades  dos   próprios  dispositivos  presentes no local. Esta tipologia de rede implica que os  começa   a   fazer   um   buffering   de   todas   as   mensagens  objectos não necessitem da actuação de terceiros, para se  enviadas   para   ele.   Mais   tarde,   quando   a   conexão   é  descobrirem uns aos outros. Também implica que a um  restabelecida,    a  far reference  faz um  flush  de todas as  remote  object  não  pode  simplesmente  ser  atribuído  um  mensagens   acumuladas   para   o  object  respectivo,  URL : o dispositivo que fornece o remote object pode não  mantendo   a   ordem   pela   qual   foram   originalmente  ser conhecido ou simplesmente não estar disponível  na  enviadas.   Assim   as   mensagens   enviadas   por  far   local ad hoc network. Para lidar com este problema, cada  reference  nunca   são   perdidas,   independentemente   do  actor  no   AmbientTalk   é   um  topic­based   estado interno da conexão para essa reference.  publish/subscribe   engine.   Os   tópicos   são   os  type   tags  Este   comportamento   é   indispensável   em  mobile   usados   para   classificar   os   objectos   de   uma   forma  networks, pelo facto de a maioria das perdas parciais de  compreensível,   independente   de   qualquer   endereço  conexão, se deverem a quebras temporárias de rede.   particular   do   dispositivo,   garantindo   a   anonimicidade  No entanto, o dispositivo  remoto pode ter desconectado  das   interacções   entre   objectos.   Como   cada  actor  pode  definitivamente   ou   ter   ficado   completamente   fora   do  publicar e subscrever serviços, não é necessário o uso de  alcance da rede wireless. Esse tipo de falhas chamam­se  qualquer servidor intermediário.  de falhas persistentes. Para dar resposta a essas falhas o  AmbientTalk   introduz   o   conceito   de  leasing.   Um  lease  denota   o   direito   de   aceder   a   um   recurso   por   um  6. Conclusão determinado   período   de   tempo.   Se   o   proprietário   do  Introduzimos   assim   o   AmbientTalk   como,   uma  recurso assim o permitir, esse lease pode ser renovado ou  linguagem   distribuída   e   orientada   a   objectos,  prolongado  ao longo do tempo. No AmbientTalk, as  far   especificamente   desenhada   para   compor   serviços   em  references  desempenham   o   papel   dos  lease  e   os  objects  mobile ad hoc networks. O AmbientTalk foi criado com o  por   eles   referenciados   desempenham   o   papel   dos  objectivo   de   reduzir   os   efeitos   negativos   que,   as  recursos. Assim sendo, uma  far reference  só providencia  particularidades   do   hardware   utilizado   nas  mobile   o acesso a um  remote object  por um intervalo de tempo  networks possuem e exponenciar as suas valências. determinado.   No   entanto,   enquanto   a  far   reference  No   seu   conjunto,   nenhuma   das   capacidades  estiver a ser usada activamente (i.e., mensagens a serem  apresentadas   pelo   AmbientTalk   é   verdadeiramente  enviadas via a  references  para o  remote object) o  lease  é  inovadora. Contudo, é no seu conceito de integração  de  transparentemente   renovado.   Quando   ocorre   uma  todas   essas   capacidades,   no   desenvolvimento   de  quebra   de   rede,   o  lease  não   consegue   ser   renovado   e  aplicações   dirigidas   para   as   novas  mobile   ad   hoc   acaba mesmo por expirar, se a desconexão ultrapassar o  networks, que se encontra a sua grande relevância. período determinado pelo lease. Sendo   assim,   quando   a  lease  da  far   reference   usada  expira,   é   anexada   uma   mensagem   de   excepção,   que  Referências avisará o emissor de que a mensagem não foi entregue  [1]   Tom   Van   Cutsem,   Stijn   Mostinckx,   Elisa   Gonzalez   Boix,  ao destinatário. Jessie   Dedecker,   Wolfgang   De  Meuter,   “AmbientTalk:   Object­ oriented Event­driven Programming in Mobile Ad hoc Networks”,  Vrije Universiteit Brussel.