Um modelo para linguagens orientadas a objetos distribuido

Detalhes bibliográficos
Autor(a) principal: Cavalheiro, Gerson Geraldo Homrich
Data de Publicação: 1994
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/25936
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++.
id URGS_0e35205c0adde3256d901b4408eade84
oai_identifier_str oai:www.lume.ufrgs.br:10183/25936
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Cavalheiro, Gerson Geraldo HomrichNavaux, Philippe Olivier AlexandreGeyer, Claudio Fernando Resin2010-09-23T04:18:50Z1994http://hdl.handle.net/10183/25936000105003Linguagens 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++.The objects-oriented programming languages have many features who make simple their use in front of others imperatives languages. In the software project and development, the inheritance mechanism allows an increasing and evaluative way of codes that have been written. It also possible gain applications with goods levels of security and confiability with the encapsulation of both data and functions in the form of object, which represent the basic execution unit in an object-oriented language. The same resource that provides high levels of security also permits that object-oriented languages may be inherently distributed. Objects have their own area of data, their execution codes are independent from the other. Accesses to the internal data of an object are possible only through a specific protocol among objets. When this occurs, an object requests a specific action to other object with or without parameters or results return. This work presents a model for build a distributed object-oriented language, devoted to environments compounded by several processing nodes with local memory and linked by a communication network. The model is discussed in two different levels: language level and operational level. In the language level are analyzed the programming resources usually used in object-oriented languages when implemented in distributed environments. The executing environments support are analyzed in the operational level. In the language level presentation are made a discussion about distributed object-oriented language features in front of conventional sequential implementations. It is emphasized inheritance in a distributed executing environment, who is done by code copy, due to can not be by memory sharing. Also are presented news compilation directives necessaries to the distributed environment. Those directives aim to explorer concurrence levels in an application during its execution, differing class who defining local or distributed objects and the different messages types among objects. The operational level boards the ways that mean to extract the best performance for the applications and the execution environment management. An execution manager element allows the control as the application objects as the available to execution processor nodes. The task of object control makes possible the objects creation and removal during the application executing as well their network identification. The processor nodes control allows the continuous analyzes of the computational load in the nodes available to processing. In this way, every object to be created can be allocated in a node with low occupation rates, propitiating a better performance in the application executing. The union of the proposed distributed execution model to an objectoriented language results in an efficient language as in the software production as in execution performance. The systems production efficiency is obtained from two items: the utilization of the object-oriented paradigm an the transparency of the operational level to the programmer, that no need know the used mechanisms to object activation and message exchange. The execution efficiency is gained by the utilization of multiples processor nodes supporting the application executing. In this work is presented a prototype that implements the proposed model. The language, called DPC++, Distributed Processing in C++, is turned to execute in workstation network with Unix operational system, using sockets as communication mechanism. The style of DPC++ programming are based in C++.application/pdfporLinguagens : Programacao orientadas : ObjetosProcessamento distribuídoDistributed languagesObject orientedDistributed processingUm modelo para linguagens orientadas a objetos distribuidoA model for distributed object—oriented languages info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaCurso de Pós-Graduação em Ciência da ComputaçãoPorto Alegre, BR-RS1994mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000105003.pdf000105003.pdfTexto completoapplication/pdf18703929http://www.lume.ufrgs.br/bitstream/10183/25936/1/000105003.pdfb37ba1ea56461fde05ac0b96531d10bfMD51TEXT000105003.pdf.txt000105003.pdf.txtExtracted Texttext/plain197874http://www.lume.ufrgs.br/bitstream/10183/25936/2/000105003.pdf.txt96701715110eee30ca7f23099f958fe0MD52THUMBNAIL000105003.pdf.jpg000105003.pdf.jpgGenerated Thumbnailimage/jpeg1229http://www.lume.ufrgs.br/bitstream/10183/25936/3/000105003.pdf.jpga98ece37db87a937e59a41080f1fb596MD5310183/259362022-02-22 04:44:54.446126oai:www.lume.ufrgs.br:10183/25936Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532022-02-22T07:44:54Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Um modelo para linguagens orientadas a objetos distribuido
dc.title.alternative.en.fl_str_mv A model for distributed object—oriented languages
title Um modelo para linguagens orientadas a objetos distribuido
spellingShingle Um modelo para linguagens orientadas a objetos distribuido
Cavalheiro, Gerson Geraldo Homrich
Linguagens : Programacao orientadas : Objetos
Processamento distribuído
Distributed languages
Object oriented
Distributed processing
title_short Um modelo para linguagens orientadas a objetos distribuido
title_full Um modelo para linguagens orientadas a objetos distribuido
title_fullStr Um modelo para linguagens orientadas a objetos distribuido
title_full_unstemmed Um modelo para linguagens orientadas a objetos distribuido
title_sort Um modelo para linguagens orientadas a objetos distribuido
author Cavalheiro, Gerson Geraldo Homrich
author_facet Cavalheiro, Gerson Geraldo Homrich
author_role author
dc.contributor.author.fl_str_mv Cavalheiro, Gerson Geraldo Homrich
dc.contributor.advisor1.fl_str_mv Navaux, Philippe Olivier Alexandre
dc.contributor.advisor-co1.fl_str_mv Geyer, Claudio Fernando Resin
contributor_str_mv Navaux, Philippe Olivier Alexandre
Geyer, Claudio Fernando Resin
dc.subject.por.fl_str_mv Linguagens : Programacao orientadas : Objetos
Processamento distribuído
topic Linguagens : Programacao orientadas : Objetos
Processamento distribuído
Distributed languages
Object oriented
Distributed processing
dc.subject.eng.fl_str_mv Distributed languages
Object oriented
Distributed processing
description 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++.
publishDate 1994
dc.date.issued.fl_str_mv 1994
dc.date.accessioned.fl_str_mv 2010-09-23T04:18:50Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/25936
dc.identifier.nrb.pt_BR.fl_str_mv 000105003
url http://hdl.handle.net/10183/25936
identifier_str_mv 000105003
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/25936/1/000105003.pdf
http://www.lume.ufrgs.br/bitstream/10183/25936/2/000105003.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/25936/3/000105003.pdf.jpg
bitstream.checksum.fl_str_mv b37ba1ea56461fde05ac0b96531d10bf
96701715110eee30ca7f23099f958fe0
a98ece37db87a937e59a41080f1fb596
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1800308994471886848