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 de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar: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 |
|
_version_ |
1815447090019434496 |