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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CAPÍTULO 2. CÓDIGO MÓVEL 16<br />
son [Birrell and Nelson, 1984], ela permite que programas executem código localizado em outras<br />
máquinas. Podemos associar esse método ao modelo cliente/servidor: o componente A, localizado<br />
em L A , informa a B, localizado em L B , o nome do procedimento desejado e os parâmetros de<br />
entrada. Os procedimentos que B pode executar são representados pelas instruções localizadas<br />
em L B . B então executa a tarefa e devolve o resultado a A. Para o programador da aplicação<br />
que faz a chamada, a troca de mensagens pela rede não é visível, tudo se passa como se fosse<br />
realizada uma chamada de procedimento convencional.<br />
A tecnologia de objetos tem sido aplicada com sucesso no desenvolvimento de sistemas computacionais<br />
em geral. Um objeto encapsula um comportamento e um estado, escondendo o seu<br />
funcionamento interno por meio de uma interface de uso bem definida. A interface dá acesso aos<br />
métodos de um objeto, esses métodos representam o comportamento do objeto e somente eles<br />
podem alterar o seu estado. Essa abordagem permite que objetos possam ser facilmente trocados<br />
ou modificados, contanto que a interface permaneça a mesma.<br />
Na prática, os métodos são semelhantes a procedimentos, isto é, são comandos que podem<br />
receber parâmetros de entrada e possivelmente devolvem um resultado. Portanto, com o desenvolvimento<br />
dos mecanismos de RPC, os desenvolvedores perceberam que o mesmo princípio poderia<br />
ser utilizado com objetos. Disso surge então a tecnologia de objetos remotos, cuja característica<br />
básica é a chamada remota de métodos.<br />
O componente A em L A informa a B em L B o objeto alvo, o nome do método e os parâmetros.<br />
A implementação do objeto também se localiza em L B , e B se encarrega de acionar o método<br />
com os parâmetros dados e de devolver a A uma eventual resposta.<br />
Assim como no caso da RPC, o processo todo de comunicação é transparente ao programador,<br />
isto é, do ponto de vista do desenvolvedor usuário do objeto, a invocação de um objeto remoto é<br />
feita da mesma maneira que é feita a de um objeto local. Para que isso seja possível, deve existir<br />
em L A um representante do objeto em questão. Esse representante possui a mesma interface do<br />
objeto original, porém, não contém as instruções necessárias para a realização da tarefa. O seu<br />
papel é repassar a requisição para o objeto em L B e posteriormente repassar o resultado a A.