Uma Linguagem de Domíınio Específico para Programação de Memórias Transacionais em Java
| Ano de defesa: | 2010 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Catolica de Pelotas
Informática BR Ucpel Mestrado em Ciência da Computação |
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | 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_ |
1840084805161582592 |