05.04.2015 Views

Composiç˜ao e Performance Musical Utilizando Agentes Móveis

Composiç˜ao e Performance Musical Utilizando Agentes Móveis

Composiç˜ao e Performance Musical Utilizando Agentes Móveis

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CAPÍTULO 4. O SISTEMA ANDANTE 33<br />

A infra-estrutura CORBA, representada pelos ORBs (Object Request Brokers) se encarrega de<br />

traduzir e enviar a requisição para o objeto em questão. Esse objeto pode estar sendo gerenciado<br />

por outro ORB, tipicamente localizado em outra máquina. Nesse caso, a requisição é enviada<br />

pela rede utilizando o protocolo IIOP (Internet Inter-ORB Protocol). Esse fato, combinado com<br />

o mapeamento das interfaces IDL para outras linguagens, permite que os clientes utilizem objetos<br />

não só escritos em linguagens diferentes, mas também escritos para máquinas de plataformas<br />

diferentes. Essa é a base da interoperabilidade oferecida por CORBA.<br />

A especificação CORBA também descreve serviços [OMG, 1998] que os desenvolvedores de<br />

aplicações podem utilizar para gerenciar os objetos. Por exemplo, o Serviço de Nomes (Naming<br />

Service) permite encontrar objetos através de um identificador único.<br />

É importante notar que CORBA é somente a especificação de uma arquitetura. Existem várias<br />

implementações, nem todas completas. A plataforma Java oferece uma implementação que inclui<br />

a parte básica descrita até agora, incluindo também o Serviço de Nomes. Essa implementação foi<br />

utilizada na construção do sistema Andante.<br />

4.2.4 Aglets<br />

Na infra-estrutura do Andante, o gerenciamento de agentes é baseado em Aglets, um middleware<br />

que dá suporte ao desenvolvimento de sistemas baseados em agentes móveis. Ele é distribuído<br />

na forma de um pacote chamado Aglets Software Development Kit (ASDK), que é escrito em<br />

Java e foi originalmente desenvolvido pela IBM [IBM Aglets, URL]. Hoje é um projeto de código<br />

aberto [Aglets, URL]. O ASDK oferece uma API e aplicações para a implementação e gerenciamento<br />

em tempo de execução de agentes móveis [Lange and Oshima, 1998b].<br />

Aglets oferecem apenas a migração fraca (veja a Seção 2.1) devido à limitação de Java de não<br />

permitir a manipulação do estado de execução. Sempre que chega ao destino, um agente retoma<br />

a sua execução a partir do início. Embora a migração forte seja desejável, principalmente para<br />

agentes móveis, o programador do agente, com um esforço adicional, pode obter um resultado<br />

semelhante utilizando o estado do próprio agente. Antes de migrar, um agente pode armazenar<br />

informações que o ajudem a continuar a execução depois de chegar ao destino.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!