Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java

Detalhes bibliográficos
Autor(a) principal: Echevarria, Marcos Gonçalves
Data de Publicação: 2010
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações do UCpel
Texto Completo: http://tede.ucpel.edu.br:8080/jspui/handle/tede/110
Resumo: As arquiteturas multi-core influenciam diretamente no desenvolvimento de software. Para que os programas possam tirar proveito dessas arquiteturas ´e necess´ario que estes possuam v´arias atividades concorrentes e que possam ser alocadas aos cores dispon ´ıveis. Programas concorrentes para m´aquinas multi-core s ao geralmente implementados usando threads e se comunicam atrav´es de uma mem´oria compartilhada. Para evitar que threads interfiram de maneira errada no trabalho de outras threads, as linguagens fornecem mecanismos de sincronizac¸ ao, como por exemplo bloqueios. Mas sincronizac¸ oes baseadas em bloqueios apresentam algumas armadilhas que dificultam a programac¸ ao e s ao propensas a erros (PEYTON JONES, 2007; HERLIHY; MOSS, 1993). Mem´orias transacionais fornecem um novo modelo de controle de concorr encia que n ao apresenta as mesmas dificuldades encontradas no uso de bloqueios. Elas trazem para a programac¸ ao concorrente os conceitos de controle de concorr encia usados h`a d´ecadas pela comunidade de banco de dados. Construc¸ oes em linguagens transacionais s ao f´aceis de serem usadas e podem gerar programas altamente escal´aveis (ADLTABATABAI; KOZYRAKIS; SAHA, 2006). O objetivo deste trabalho ´e apresentar a linguagem CMTJava. CMTJava ´e uma linguagem de dom´ınio espec´ıfico para programac¸ ao de mem´orias transacionais em Java e foi criada visando facilitar a programac¸ ao de m´aquinas multi-core. Seu sistema foi todo desenvolvido em Java e a forma de implementac¸ ao pode ser aplicada em qualquer outra linguagem orientada a objetos que suporte closures, como por exemplo C#. CMTJava faz uso das chamadas m onadas para compor ac¸ oes transacionais. Ac¸ oes transacionais podem ser combinadas para gerar novas transac¸ oes e vale ressaltar que o sistema de tipos da linguagem CMTJava garante que ac¸ oes transacionais somente ser ao executadas atrav´es da primitiva atomic. CMTJava apresenta todas as construc¸ oes de mem´orias transacionais (atomic, retry, OrElse) e ´e a primeira extens ao Java para transac¸ oes que suporta a construc¸ ao OrElse
id UCPe_def27b8b6d8dedc923b48870cd0139d6
oai_identifier_str oai:tede.ucpel.edu.br:tede/110
network_acronym_str UCPe
network_name_str Biblioteca Digital de Teses e Dissertações do UCpel
repository_id_str
spelling Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Javamemórias TransacionaisLinguagem de Domínio Específico, Programação Concorrente, Linguagem Java.CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOAs arquiteturas multi-core influenciam diretamente no desenvolvimento de software. Para que os programas possam tirar proveito dessas arquiteturas ´e necess´ario que estes possuam v´arias atividades concorrentes e que possam ser alocadas aos cores dispon ´ıveis. Programas concorrentes para m´aquinas multi-core s ao geralmente implementados usando threads e se comunicam atrav´es de uma mem´oria compartilhada. Para evitar que threads interfiram de maneira errada no trabalho de outras threads, as linguagens fornecem mecanismos de sincronizac¸ ao, como por exemplo bloqueios. Mas sincronizac¸ oes baseadas em bloqueios apresentam algumas armadilhas que dificultam a programac¸ ao e s ao propensas a erros (PEYTON JONES, 2007; HERLIHY; MOSS, 1993). Mem´orias transacionais fornecem um novo modelo de controle de concorr encia que n ao apresenta as mesmas dificuldades encontradas no uso de bloqueios. Elas trazem para a programac¸ ao concorrente os conceitos de controle de concorr encia usados h`a d´ecadas pela comunidade de banco de dados. Construc¸ oes em linguagens transacionais s ao f´aceis de serem usadas e podem gerar programas altamente escal´aveis (ADLTABATABAI; KOZYRAKIS; SAHA, 2006). O objetivo deste trabalho ´e apresentar a linguagem CMTJava. CMTJava ´e uma linguagem de dom´ınio espec´ıfico para programac¸ ao de mem´orias transacionais em Java e foi criada visando facilitar a programac¸ ao de m´aquinas multi-core. Seu sistema foi todo desenvolvido em Java e a forma de implementac¸ ao pode ser aplicada em qualquer outra linguagem orientada a objetos que suporte closures, como por exemplo C#. CMTJava faz uso das chamadas m onadas para compor ac¸ oes transacionais. Ac¸ oes transacionais podem ser combinadas para gerar novas transac¸ oes e vale ressaltar que o sistema de tipos da linguagem CMTJava garante que ac¸ oes transacionais somente ser ao executadas atrav´es da primitiva atomic. CMTJava apresenta todas as construc¸ oes de mem´orias transacionais (atomic, retry, OrElse) e ´e a primeira extens ao Java para transac¸ oes que suporta a construc¸ ao OrElseUniversidade Catolica de PelotasInformáticaBRUcpelMestrado em Ciência da ComputaçãoYamin, AdenauerCPF:29122201068Echevarria, Marcos Gonçalves2016-03-22T17:26:23Z2010-08-162010-03-25info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfECHEVARRIA, Marcos Gonçalves. Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java. 2010. 80 f. Dissertação (Mestrado em Informática) - Universidade Catolica de Pelotas, Pelotas, 2010.http://tede.ucpel.edu.br:8080/jspui/handle/tede/110porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações do UCpelinstname:Universidade Católica de Pelotas (UCPEL)instacron:UCPEL2020-09-29T21:40:08Zoai:tede.ucpel.edu.br:tede/110Biblioteca Digital de Teses e Dissertaçõeshttp://www2.ufpel.edu.br/tede/http://tede.ucpel.edu.br:8080/oai/requestbiblioteca@ucpel.edu.br||cristiane.chim@ucpel.tche.bropendoar:2020-09-29T21:40:08Biblioteca Digital de Teses e Dissertações do UCpel - Universidade Católica de Pelotas (UCPEL)false
dc.title.none.fl_str_mv Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
title Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
spellingShingle Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
Echevarria, Marcos Gonçalves
memórias Transacionais
Linguagem de Domínio Específico, Programação Concorrente, Linguagem Java.
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
title_full Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
title_fullStr Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
title_full_unstemmed Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
title_sort Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
author Echevarria, Marcos Gonçalves
author_facet Echevarria, Marcos Gonçalves
author_role author
dc.contributor.none.fl_str_mv Yamin, Adenauer
CPF:29122201068
dc.contributor.author.fl_str_mv Echevarria, Marcos Gonçalves
dc.subject.por.fl_str_mv memórias Transacionais
Linguagem de Domínio Específico, Programação Concorrente, Linguagem Java.
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic memórias Transacionais
Linguagem de Domínio Específico, Programação Concorrente, Linguagem Java.
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description As arquiteturas multi-core influenciam diretamente no desenvolvimento de software. Para que os programas possam tirar proveito dessas arquiteturas ´e necess´ario que estes possuam v´arias atividades concorrentes e que possam ser alocadas aos cores dispon ´ıveis. Programas concorrentes para m´aquinas multi-core s ao geralmente implementados usando threads e se comunicam atrav´es de uma mem´oria compartilhada. Para evitar que threads interfiram de maneira errada no trabalho de outras threads, as linguagens fornecem mecanismos de sincronizac¸ ao, como por exemplo bloqueios. Mas sincronizac¸ oes baseadas em bloqueios apresentam algumas armadilhas que dificultam a programac¸ ao e s ao propensas a erros (PEYTON JONES, 2007; HERLIHY; MOSS, 1993). Mem´orias transacionais fornecem um novo modelo de controle de concorr encia que n ao apresenta as mesmas dificuldades encontradas no uso de bloqueios. Elas trazem para a programac¸ ao concorrente os conceitos de controle de concorr encia usados h`a d´ecadas pela comunidade de banco de dados. Construc¸ oes em linguagens transacionais s ao f´aceis de serem usadas e podem gerar programas altamente escal´aveis (ADLTABATABAI; KOZYRAKIS; SAHA, 2006). O objetivo deste trabalho ´e apresentar a linguagem CMTJava. CMTJava ´e uma linguagem de dom´ınio espec´ıfico para programac¸ ao de mem´orias transacionais em Java e foi criada visando facilitar a programac¸ ao de m´aquinas multi-core. Seu sistema foi todo desenvolvido em Java e a forma de implementac¸ ao pode ser aplicada em qualquer outra linguagem orientada a objetos que suporte closures, como por exemplo C#. CMTJava faz uso das chamadas m onadas para compor ac¸ oes transacionais. Ac¸ oes transacionais podem ser combinadas para gerar novas transac¸ oes e vale ressaltar que o sistema de tipos da linguagem CMTJava garante que ac¸ oes transacionais somente ser ao executadas atrav´es da primitiva atomic. CMTJava apresenta todas as construc¸ oes de mem´orias transacionais (atomic, retry, OrElse) e ´e a primeira extens ao Java para transac¸ oes que suporta a construc¸ ao OrElse
publishDate 2010
dc.date.none.fl_str_mv 2010-08-16
2010-03-25
2016-03-22T17:26:23Z
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 ECHEVARRIA, Marcos Gonçalves. Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java. 2010. 80 f. Dissertação (Mestrado em Informática) - Universidade Catolica de Pelotas, Pelotas, 2010.
http://tede.ucpel.edu.br:8080/jspui/handle/tede/110
identifier_str_mv ECHEVARRIA, Marcos Gonçalves. Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java. 2010. 80 f. Dissertação (Mestrado em Informática) - Universidade Catolica de Pelotas, Pelotas, 2010.
url http://tede.ucpel.edu.br:8080/jspui/handle/tede/110
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.publisher.none.fl_str_mv Universidade Catolica de Pelotas
Informática
BR
Ucpel
Mestrado em Ciência da Computação
publisher.none.fl_str_mv Universidade Catolica de Pelotas
Informática
BR
Ucpel
Mestrado em Ciência da Computação
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações do UCpel
instname:Universidade Católica de Pelotas (UCPEL)
instacron:UCPEL
instname_str Universidade Católica de Pelotas (UCPEL)
instacron_str UCPEL
institution UCPEL
reponame_str Biblioteca Digital de Teses e Dissertações do UCpel
collection Biblioteca Digital de Teses e Dissertações do UCpel
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações do UCpel - Universidade Católica de Pelotas (UCPEL)
repository.mail.fl_str_mv biblioteca@ucpel.edu.br||cristiane.chim@ucpel.tche.br
_version_ 1801044719906586624