Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2012 |
| Tipo de documento: | Trabalho de conclusão de curso |
| Idioma: | por |
| Título da fonte: | Repositório Institucional da UFRGS |
| Texto Completo: | http://hdl.handle.net/10183/54124 |
Resumo: | Neste trabalho é proposta uma nova função primitiva, retry-transaction, para o sistema de Memória Transacional de Software (STM) de Clojure. STM é vista por muitos pesquisadores como uma possível forma de simplificar programação concorrente. Porém, uma ausência em muitos sistemas de STM é uma forma de conciliar código a ser executado na STM com código que deve bloquear. Este trabalho se baseia numa proposta originalmente para a STM de Haskell. São apresentados para contextualizar a proposta: a linguagem de programação Clojure; estruturas de dados puramente funcionais para facilitar a escrita de código funcional, que é um requisito da STM de Clojure; o conceito de STM; como é realizado STM em Clojure. Em seguida é apresentada a proposta central deste trabalho, que diz respeito a uma nova função para a STM, retry-transaction, que permite a escrita de código bloqueante utilizando a STM. |
| id |
UFRGS-2_173885b11a5b2487fd2bea1e7befa006 |
|---|---|
| oai_identifier_str |
oai:www.lume.ufrgs.br:10183/54124 |
| network_acronym_str |
UFRGS-2 |
| network_name_str |
Repositório Institucional da UFRGS |
| repository_id_str |
|
| spelling |
Ferreira, André MartinsMoreira, Alvaro Freitas2012-08-17T01:37:19Z2012http://hdl.handle.net/10183/54124000855619Neste trabalho é proposta uma nova função primitiva, retry-transaction, para o sistema de Memória Transacional de Software (STM) de Clojure. STM é vista por muitos pesquisadores como uma possível forma de simplificar programação concorrente. Porém, uma ausência em muitos sistemas de STM é uma forma de conciliar código a ser executado na STM com código que deve bloquear. Este trabalho se baseia numa proposta originalmente para a STM de Haskell. São apresentados para contextualizar a proposta: a linguagem de programação Clojure; estruturas de dados puramente funcionais para facilitar a escrita de código funcional, que é um requisito da STM de Clojure; o conceito de STM; como é realizado STM em Clojure. Em seguida é apresentada a proposta central deste trabalho, que diz respeito a uma nova função para a STM, retry-transaction, que permite a escrita de código bloqueante utilizando a STM.This paper proposes a new primitive function, retry-transaction, for Clojure’s STM system. Software Transactional Memory is seen by many researchers as a possible way to simplify concurrent programming. However, there is an absence in many STM systems of a mechanism for conciliating code to be executed inside the STM with code that has to block. This work is based on a proposal originally designed for Haskell’s STM. This proposal contains the following: the Clojure programming language; purely functional data structures to facilitate writing functional code, a requisite for Clojure’s STM; the concept of STM; Clojure’s STM. Following that, this paper’s main proposal is described: a new primitive function for Clojure’s STM,retry-transaction, which allows blocking code using STM.application/pdfporLinguagens : ProgramacaoProgramação orientada : ObjetosSTMClojureRetry-transaction : uma nova função primitiva de bloqueio para a STM de ClojureRetry-transaction: a new primitive function for blocking in the Clojure STM info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2012Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000855619.pdf000855619.pdfTexto completoapplication/pdf231198http://www.lume.ufrgs.br/bitstream/10183/54124/1/000855619.pdfbcce6ab1c3f4d57bda61dc4d50b015b2MD51TEXT000855619.pdf.txt000855619.pdf.txtExtracted Texttext/plain64375http://www.lume.ufrgs.br/bitstream/10183/54124/2/000855619.pdf.txt2ab7128a278b8d235f23d135e26a6820MD52THUMBNAIL000855619.pdf.jpg000855619.pdf.jpgGenerated Thumbnailimage/jpeg997http://www.lume.ufrgs.br/bitstream/10183/54124/3/000855619.pdf.jpg8d5cba4e7f4f43bbb72d4f0b82360272MD5310183/541242018-10-15 08:12:02.976oai:www.lume.ufrgs.br:10183/54124Repositório InstitucionalPUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.bropendoar:2018-10-15T11:12:02Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
| dc.title.pt_BR.fl_str_mv |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure |
| dc.title.alternative.en.fl_str_mv |
Retry-transaction: a new primitive function for blocking in the Clojure STM |
| title |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure |
| spellingShingle |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure Ferreira, André Martins Linguagens : Programacao Programação orientada : Objetos STM Clojure |
| title_short |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure |
| title_full |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure |
| title_fullStr |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure |
| title_full_unstemmed |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure |
| title_sort |
Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure |
| author |
Ferreira, André Martins |
| author_facet |
Ferreira, André Martins |
| author_role |
author |
| dc.contributor.author.fl_str_mv |
Ferreira, André Martins |
| dc.contributor.advisor1.fl_str_mv |
Moreira, Alvaro Freitas |
| contributor_str_mv |
Moreira, Alvaro Freitas |
| dc.subject.por.fl_str_mv |
Linguagens : Programacao Programação orientada : Objetos |
| topic |
Linguagens : Programacao Programação orientada : Objetos STM Clojure |
| dc.subject.eng.fl_str_mv |
STM Clojure |
| description |
Neste trabalho é proposta uma nova função primitiva, retry-transaction, para o sistema de Memória Transacional de Software (STM) de Clojure. STM é vista por muitos pesquisadores como uma possível forma de simplificar programação concorrente. Porém, uma ausência em muitos sistemas de STM é uma forma de conciliar código a ser executado na STM com código que deve bloquear. Este trabalho se baseia numa proposta originalmente para a STM de Haskell. São apresentados para contextualizar a proposta: a linguagem de programação Clojure; estruturas de dados puramente funcionais para facilitar a escrita de código funcional, que é um requisito da STM de Clojure; o conceito de STM; como é realizado STM em Clojure. Em seguida é apresentada a proposta central deste trabalho, que diz respeito a uma nova função para a STM, retry-transaction, que permite a escrita de código bloqueante utilizando a STM. |
| publishDate |
2012 |
| dc.date.accessioned.fl_str_mv |
2012-08-17T01:37:19Z |
| dc.date.issued.fl_str_mv |
2012 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
| format |
bachelorThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/54124 |
| dc.identifier.nrb.pt_BR.fl_str_mv |
000855619 |
| url |
http://hdl.handle.net/10183/54124 |
| identifier_str_mv |
000855619 |
| 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:Repositório Institucional 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 |
Repositório Institucional da UFRGS |
| collection |
Repositório Institucional da UFRGS |
| bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/54124/1/000855619.pdf http://www.lume.ufrgs.br/bitstream/10183/54124/2/000855619.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/54124/3/000855619.pdf.jpg |
| bitstream.checksum.fl_str_mv |
bcce6ab1c3f4d57bda61dc4d50b015b2 2ab7128a278b8d235f23d135e26a6820 8d5cba4e7f4f43bbb72d4f0b82360272 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
| repository.mail.fl_str_mv |
lume@ufrgs.br |
| _version_ |
1834472138035167232 |