Retry-transaction : uma nova função primitiva de bloqueio para a STM de Clojure

Detalhes bibliográficos
Autor(a) principal: Ferreira, André Martins
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_ 1801224430446182400