Um modelo para linguagens orientadas a objetos distribuido / A model for distributed object—oriented languages

AUTOR(ES)
DATA DE PUBLICAÇÃO

2010

RESUMO

Linguagens de programação orientadas a objetos possuem diversas características que facilitam sua utilização frente a outras linguagens imperativas. No projeto e desenvolvimento de software, o mecanismo de herança permite a construção de sistemas na forma incremental e evolutiva, possibilitando a reutilização de códigos já escritos. Também a possível atingir aplicações com bons níveis de segurança e confiabilidade, através do encapsulamento de dados e funções sob forma de objetos, que também representam a unidade básica de execução em uma linguagem orientada a objetos. O mesmo recurso que possibilita níveis elevados de segurança permite que linguagens orientadas a objetos sejam inerentemente distribuídas. Objetos possuem tanto área de dados e código de execução independentes dos demais. Acessos aos dados internos de um objeto somente são possíveis através de mensagens explicitas entre objetos. Neste caso um objeto solicita uma ação específica a outro objeto, podendo ser enviados parâmetros e existir retorno de resultados. Este trabalho apresenta um modelo para construção de uma linguagem orientada a objetos distribuída. O ambiente para suportar a execução ao modelo é compostos por vários nodos de processamento com memórias locais individuais e contando com uma rede de comunicação para troca de mensagens entre os nodos. O modelo e discutido em dois níveis distintos: a nível de linguagem e a nível operacional. A nível de linguagem são analisados os recursos de programação normalmente utilizados em linguagens orientadas a objetos quando implementados em ambientes distribuídos. O ambiente de suporte A execução necessário ao suporte do modelo da linguagem a analisado pelo nível operacional. A apresentação do modelo a nível de linguagem discute as características de uma linguagem orientada a objetos distribuída frente as implementações seqüenciais convencionais. E ressaltada a implementado de herança em um ambiente de execução distribuído, que, não podendo ser através de compartilhamento, é efetuada através de copia de código. Também são apresentadas novas diretivas de compilação necessárias exclusivamente a ambientes distribuídos. Tais diretivas visam explorar níveis de concorrência de uma aplicação durante sua execução, diferenciando classes que definem objetos locais ou distribuídos e diferentes tipos de mensagens entre objetos. As formas de extrair o melhor desempenho nas aplicações e o gerenciamento do ambiente de execução são os pontos abordados pelo nível operacional do modelo. Em operação neste nível, um elemento de gerencia de execução permite o controle tanto dos objetos da aplicação quanto dos nodos de processamento disponíveis para execução. A tarefa de controle de objetos viabiliza a criação e remoção de objetos durante a execução da aplicação, bem como a identificação de localização destes. O controle dos nodos de processamento possibilita analisar continuamente a carga computacional dos nodos de processamento. Assim, cada objeto a ser criado pode ser alocado em um nodo onde a carga computacional esteja baixa, propiciando um melhor desempenho no momento de execução da aplicação distribuído a carga entre os nodos. A unido do modelo de execução distribuído proposto a uma linguagem orientada a objetos resulta em uma linguagem eficiente tanto na produção de software como no desempenho de aplicações. A eficiência na produção de sistemas 6 obtida através de dois itens, a utilização do paradigma de orientação a objetos e a transparência do nível operacional para o programador, que não necessita conhecer os mecanismos utilizados para ativação de objetos e envio de mensagens. A eficiência de execução é obtida através da utilização de múltiplos nodos processadores servindo como base a execução. Neste trabalho é também apresentado um protótipo para uma linguagem suportando o modelo distribuído proposto. A linguagem, denominada DPC++ (Processamento Distribuído em C++), é voltada para execução em redes de estações de trabalho, sobre o sistema operacional Unix, utilizando sockets como mecanismo de comunicação. O estilo de programação em DPC++ é baseado em C++.

ASSUNTO(S)

distributed languages linguagens : programacao orientadas : objetos object oriented processamento distribuido distributed processing

Documentos Relacionados