sexta-feira, 12 de setembro de 2008

Espaço de Tuplas

Um espaço de tuplas tem como função criar uma abstração de memória compartilhada sobre um sistema distribuído. Por propiciar modelos de programação muito simples e com baixo acoplamento entre os elementos do sistema, espaços de tuplas têm sido empregados na construção de sistemas distribuídos complexos. O espaço de tuplas JavaSpaces é um dos mais populares espaços de tuplas para a linguagem Java. Ele tem como características relevantes a conformidade a objetos, a persistência e o emprego de transações. As atuais implementações de JavaSpaces apresentam restrições como: complexidade de configuração, limitação de alcance e não serem abertas. Por “complexidade de configuração” entende-se ter que usar boa parte da infra-estrutura Jini (feita para facilitar o desenvolvimento e administração de sistemas distribuídos) e o Remote Method Invocation (mecanismo de chamadas remotas padrão no ambiente Java), mesmo quando eles seriam dispensáveis. Por "limitação de alcance", entende-se não poder usar as implementações sobre redes amplas, como a Internet. Por “não ser aberto” entende-se que: ou o código fonte não está disponível ou o código fonte e o aplicativo são distribuídos por licenças de software proprietárias ou o uso do software requer algum componente proprietário.

Linda é um espaço de tuplas constituído de um conjunto de seis operações e um sistema de run-time( que é composto por daemons em execução nos diversos nós do sistema).
As operações de Linda são usadas ao longo do código-fonte de um programa que se quer executar e que é escrito em alguma linguagem de programação associada ao Linda( mais comumente C ou Fortran). Um pré-compilador transforma as operações de Linda em instruções de mais baixo nível dirigidas para o sistema run-time. Essas instruções são escritas na linguagem associada e são inseridas diretamente no código-fonte. Durante a execução do programa o sistema de run-time responde às requisições devidamente construídas pelo pré-processador.
O pré-compilador Linda possui, a priori, informações sobre os componentes, as características e a configuração do sistema distribuído sobre o qual o programa será executado. Desta forma, o pré-compilador pode otimizar alguns parâmetros de execução do sistema run-time, como, por exemplo, a distribuição das tuplas. Portanto, Linda é um espaço de tuplas voltado para sistemas distribuídos fechados.

Nenhum comentário: