Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software

Detalhes bibliográficos
Autor(a) principal: Cardoso, Diogo João
Data de Publicação: 2023
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da UFPel - Guaiaca
Texto Completo: http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/9814
Resumo: Com a crescente demanda de sistemas multi-core, programação concorrente tem visto um aumento em uso. Porém, desenvolver programas concorrentes que sejam corretos e eficientes é algo notoriamente desafiador. Um sistema de Memória Transacional de Software (MTS) provém uma interface de programação conveniente para o programador acessar a memória compartilhada sem se preocupar com problemas de concorrência. Um MTS permite desenvolver programas e raciocinar sobre sua corretude como se cada transação fosse executada atomicamente e sem intercalação. Para verificar a corretude de qualquer sistema MTS, uma descrição formal das garantias de implementação é necessária. Existem diversas condições de corretude para memória transacional, muitas delas envolvem a noção de história de operações sobre a memória compartilhada, além disso, algumas usam grafos como ferramentas para ajudar a formalizar o processo de correção. O uso de grafos no formalismo MTS geralmente envolve uma representação de dependências e relações entre transações e suas operações. Uma condição de corretude em particular, chamada Opacidade, usa um grafo para representar conflitos entre transações em uma história, e um método que extrapola se a execução da história é considerada correta ou não. Grafos e transformações de grafos desempenham um papel central na modelagem de sistemas de software. Esses modelos são especificados usando um formalismo que utiliza abstrações de alto nível independente da plataforma, de modo que o foco pode estar nos conceitos e não na implementação do sistema que está sendo forma lizado. Nas Gramáticas de Grafos (GGs), a modificação de grafos é especificada por meio de regras de transformação de grafos, que definem esquematicamente como um estado do sistema pode ser transformado em um novo estado. Ao formalizar sistemas complexos, os GGs podem levar em consideração orientação a objetos, concorrência, mobilidade, distribuição etc. Esta tese apresenta uma metodologia para formalizar algoritmos de memória transacional utilizando gramática de grafos e demonstrar a corretude de suas execuções. O objetivo não é apenas descrever os procedimentos do algoritmo usando regras de produção, mas também incluir os passos necessários para aplicar a caracterização do grafo de certos critérios de corretude. A metodologia inclui três passos principais: uma tradução do algoritmo para uma gramática de grafo, o método para gerar histórias e o teste de corretude. Alguns estudos de caso são apresentados, como o algoritmo CaPR+, que trata de rollbacks parciais. Outro estudo de caso é o algoritmo STM Haskell, que é mais conhecido e é usado para comparar o comportamento entre diferentes aplicações de critérios de corretude. Por fim, uma alternativa à ferramenta GROOVE, utilizada para verificação de correção, é apresentada na forma de um modelo Event-B que inclui o mesmo formalismo gráfico do MTS, mas difere ao lidar com o espaço de estados e prova de corretude. Diferente de outros trabalhos que focam em formalização de algoritmos de MT, a metodologia proposta lida com grafos em todos os passos e não só durante o passao de verificação de corretude. Isso resulta em uma metodologia que pode tirar vantagem de ferramentas e características que focam em transformação de grafo e podem possivelmente fazer parte de um processo mais automatizado para para formalizações de MT futuras.
id UFPL_f9337c8952d48c7332f7f4c0b9e0fd86
oai_identifier_str oai:guaiaca.ufpel.edu.br:prefix/9814
network_acronym_str UFPL
network_name_str Repositório Institucional da UFPel - Guaiaca
repository_id_str
spelling 2023-07-20T12:27:00Z2023-07-20T12:27:00Z2023-04-06CARDOSO, Diogo João. Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software. Orientadora: Luciana Foss. 2023. 138 f. Tese (Doutorado) - Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2023.http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/9814Com a crescente demanda de sistemas multi-core, programação concorrente tem visto um aumento em uso. Porém, desenvolver programas concorrentes que sejam corretos e eficientes é algo notoriamente desafiador. Um sistema de Memória Transacional de Software (MTS) provém uma interface de programação conveniente para o programador acessar a memória compartilhada sem se preocupar com problemas de concorrência. Um MTS permite desenvolver programas e raciocinar sobre sua corretude como se cada transação fosse executada atomicamente e sem intercalação. Para verificar a corretude de qualquer sistema MTS, uma descrição formal das garantias de implementação é necessária. Existem diversas condições de corretude para memória transacional, muitas delas envolvem a noção de história de operações sobre a memória compartilhada, além disso, algumas usam grafos como ferramentas para ajudar a formalizar o processo de correção. O uso de grafos no formalismo MTS geralmente envolve uma representação de dependências e relações entre transações e suas operações. Uma condição de corretude em particular, chamada Opacidade, usa um grafo para representar conflitos entre transações em uma história, e um método que extrapola se a execução da história é considerada correta ou não. Grafos e transformações de grafos desempenham um papel central na modelagem de sistemas de software. Esses modelos são especificados usando um formalismo que utiliza abstrações de alto nível independente da plataforma, de modo que o foco pode estar nos conceitos e não na implementação do sistema que está sendo forma lizado. Nas Gramáticas de Grafos (GGs), a modificação de grafos é especificada por meio de regras de transformação de grafos, que definem esquematicamente como um estado do sistema pode ser transformado em um novo estado. Ao formalizar sistemas complexos, os GGs podem levar em consideração orientação a objetos, concorrência, mobilidade, distribuição etc. Esta tese apresenta uma metodologia para formalizar algoritmos de memória transacional utilizando gramática de grafos e demonstrar a corretude de suas execuções. O objetivo não é apenas descrever os procedimentos do algoritmo usando regras de produção, mas também incluir os passos necessários para aplicar a caracterização do grafo de certos critérios de corretude. A metodologia inclui três passos principais: uma tradução do algoritmo para uma gramática de grafo, o método para gerar histórias e o teste de corretude. Alguns estudos de caso são apresentados, como o algoritmo CaPR+, que trata de rollbacks parciais. Outro estudo de caso é o algoritmo STM Haskell, que é mais conhecido e é usado para comparar o comportamento entre diferentes aplicações de critérios de corretude. Por fim, uma alternativa à ferramenta GROOVE, utilizada para verificação de correção, é apresentada na forma de um modelo Event-B que inclui o mesmo formalismo gráfico do MTS, mas difere ao lidar com o espaço de estados e prova de corretude. Diferente de outros trabalhos que focam em formalização de algoritmos de MT, a metodologia proposta lida com grafos em todos os passos e não só durante o passao de verificação de corretude. Isso resulta em uma metodologia que pode tirar vantagem de ferramentas e características que focam em transformação de grafo e podem possivelmente fazer parte de um processo mais automatizado para para formalizações de MT futuras.With the rising demand of multi-core systems, the usage of concurrent programming has seen a growth lately. However, the development of correct and efficient concurrent programs is notoriously challenging. A Software Transactional Memory system (STM) provides a convenient programming interface for the programmer to access shared memory without worrying about concurrency issues. STM allows developing programs and reasoning about their correctness as if each transaction executed atomically and without interleaving. In order to check the correctness of any STM system, a formal description of the implementation’s guarantees is necessary. There are many correctness conditions for transactional memory, many of them involve the notion of a history of operations to the shared memory, some of which use graphs as tools to help formalize the correctness process. The use of graphs in STM formalism usually involves a depiction of dependencies and relations between transactions and their operations. One correctness condition in particular, called Opacity, uses a graph to represent conflicts between transactions in a history, and a method that extrapolates whether or not that history execution is considered correct. Graphs and graph transformations play a central role in the modeling of software systems. These models are specified via a formalism that uses a high-level abstraction that is independent of the platform, so the focus can be on the concepts rather than the implementation of the system being formalized. In Graph Grammars (GGs), the modification of graphs is specified via graph transformation rules, which schematically define how a state of the system may be transformed into a new state. When formalizing complex systems, GGs can take into account object-orientation, concurrency, mobility, distribution, etc. This thesis presents methodology to formalize STM algorithms using graph transformations that includes a verification of the correctness of the executions. The goal is not only to describe the algorithm procedures using production rules, but also include the steps necessary to apply the graph characterization of certain correctness criteria. The methodology includes three main steps: a translation of the algorithm into graph grammar, the method to generate histories and the test for correctness. Some case studies are presented, such as the CaPR+ algorithm, which deals with partial rollbacks. Another case study is the STM Haskell algorithm, which is more well known and is used to compare the behavior between different correctness criteria application. Finally, an alternative to the tool GROOVE, used for correctness verification, is presented in the form of an Event-B model that includes the same graph formalism of STM, but differs when dealing with the state space and proof of correctness test. Differently from other work that focuses on formalization of TM algorithms, the methodology proposed deals with graphs in every step, not just in the correctness verification. This results in a methodology that can take advantage of tools and features that focuses on graph transformation and possibly be part of a more automated process for future TM formalization.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESporUniversidade Federal de PelotasPrograma de Pós-Graduação em ComputaçãoUFPelBrasilCC BY-NC-SAinfo:eu-repo/semantics/openAccessCIENCIAS EXATAS E DA TERRACIENCIA DA COMPUTACAOGramática de grafosFormalismoMemória Transacional de SoftwareCorretudeGraph GrammarFormalismSoftware Transactional MemoryCorrectnessUm Formalismo de Gramática de Grafos para Corretude de Memória Transacional de SoftwareA Graph Grammar Formalism for Software Transactional Memory Correctness.info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisDu Bois, André RauberFoss, LucianaCardoso, Diogo Joãoreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPELORIGINALTese_Diogo Joao Cardoso.pdfTese_Diogo Joao Cardoso.pdfapplication/pdf891290http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/1/Tese_Diogo%20Joao%20Cardoso.pdf2cea79bcdb95aef03f3262a70e4cf997MD51open accessTEXTTese_Diogo Joao Cardoso.pdf.txtTese_Diogo Joao Cardoso.pdf.txtExtracted texttext/plain277871http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/3/Tese_Diogo%20Joao%20Cardoso.pdf.txtefad7a753e32b16bde035c275a67d26eMD53open accessTHUMBNAILTese_Diogo Joao Cardoso.pdf.jpgTese_Diogo Joao Cardoso.pdf.jpgGenerated Thumbnailimage/jpeg1204http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/4/Tese_Diogo%20Joao%20Cardoso.pdf.jpg78845069306f3ba63ed962439a138668MD54open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81960http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/2/license.txta963c7f783e32dba7010280c7b5ea154MD52open accessTEXTTese_Diogo Joao Cardoso.pdf.txtTese_Diogo Joao Cardoso.pdf.txtExtracted texttext/plain277871http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/3/Tese_Diogo%20Joao%20Cardoso.pdf.txtefad7a753e32b16bde035c275a67d26eMD53open accessTHUMBNAILTese_Diogo Joao Cardoso.pdf.jpgTese_Diogo Joao Cardoso.pdf.jpgGenerated Thumbnailimage/jpeg1204http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/4/Tese_Diogo%20Joao%20Cardoso.pdf.jpg78845069306f3ba63ed962439a138668MD54open accessprefix/98142023-07-21 03:02:16.745open accessoai:guaiaca.ufpel.edu.br:prefix/9814TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkkgLSBDb20gYSBhcHJlc2VudGHDp8OjbyBkZXN0YSBsaWNlbsOnYSwgdm9jw6ogKG8ocykgYXV0b3IoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIChSSSkgZGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgUGVsb3RhcyAoVUZQZWwpIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCB0cmFkdXppciAKKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIHN1YSBwdWJsaWNhw6fDo28gKGluY2x1aW5kbyBvIHJlc3VtbykgcG9yIHRvZG8gbyBtdW5kbyBubyBmb3JtYXRvIGltcHJlc3NvIAplIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW87CgpJSSAtIFZvY8OqIGNvbmNvcmRhIHF1ZSBvIFJJIGRhIFVGUGVsIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gCnBhcmEgZmlucyBkZSBwcmVzZXJ2YcOnw6NvOwoKSUlJIC0gVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgbyBSSSBkYSBVRlBlbCBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgZGUgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIGZpbnMgZGUgc2VndXJhbsOnYSwgYmFja3VwIAplIHByZXNlcnZhw6fDo287CgpJViAtIFZvY8OqIGRlY2xhcmEgcXVlIGEgc3VhIHB1YmxpY2HDp8OjbyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gClZvY8OqIHRhbWLDqW0gZGVjbGFyYSBxdWUgbyBkZXDDs3NpdG8gZGEgc3VhIHB1YmxpY2HDp8OjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgbsOjbyBpbmZyaW5nZSBkaXJlaXRvcyBhdXRvcmFpcyAKZGUgbmluZ3XDqW07CgpWIC0gQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBSSSBkYSBVRlBlbCBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhOwoKVkkgLSBDQVNPIEEgUFVCTElDQcOHw4NPIE9SQSBERVBPU0lUQURBIFRFTkhBIFNJRE8gUkVTVUxUQURPIERFIFVNIFBBVFJPQ8ONTklPIE9VIEFQT0lPIERFIFVNQSBBR8OKTkNJQSBERSBGT01FTlRPIE9VCk9VVFJBIE9SR0FOSVpBw4fDg08sIFZPQ8OKIERFQ0xBUkEgUVVFIFJFU1BFSVRPVSBUT0RPUyBFIFFVQUlTUVVFUiBESVJFSVRPUyBERSBSRVZJU8ODTyBDT01PIFRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUyAKRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETzsKClZJSSAtIE8gUkkgZGEgVUZQZWwgc2UgY29tcHJvbWV0ZSBhIGlkZW50aWZpY2FyIGNsYXJhbWVudGUgbyBzZXUgbm9tZSBvdSBvKHMpIG5vbWUocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyAKYXV0b3JhaXMgZGEgcHVibGljYcOnw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuCg==Repositório InstitucionalPUBhttp://repositorio.ufpel.edu.br/oai/requestrippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.bropendoar:2023-07-21T06:02:16Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)false
dc.title.pt_BR.fl_str_mv Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
dc.title.alternative.pt_BR.fl_str_mv A Graph Grammar Formalism for Software Transactional Memory Correctness.
title Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
spellingShingle Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
Cardoso, Diogo João
CIENCIAS EXATAS E DA TERRA
Gramática de grafos
Formalismo
Memória Transacional de Software
Corretude
Graph Grammar
Formalism
Software Transactional Memory
Correctness
CIENCIA DA COMPUTACAO
title_short Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
title_full Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
title_fullStr Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
title_full_unstemmed Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
title_sort Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
author Cardoso, Diogo João
author_facet Cardoso, Diogo João
author_role author
dc.contributor.advisor-co1.fl_str_mv Du Bois, André Rauber
dc.contributor.advisor1.fl_str_mv Foss, Luciana
dc.contributor.author.fl_str_mv Cardoso, Diogo João
contributor_str_mv Du Bois, André Rauber
Foss, Luciana
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA
topic CIENCIAS EXATAS E DA TERRA
Gramática de grafos
Formalismo
Memória Transacional de Software
Corretude
Graph Grammar
Formalism
Software Transactional Memory
Correctness
CIENCIA DA COMPUTACAO
dc.subject.por.fl_str_mv Gramática de grafos
Formalismo
Memória Transacional de Software
Corretude
Graph Grammar
Formalism
Software Transactional Memory
Correctness
dc.subject.cnpq1.pt_BR.fl_str_mv CIENCIA DA COMPUTACAO
description Com a crescente demanda de sistemas multi-core, programação concorrente tem visto um aumento em uso. Porém, desenvolver programas concorrentes que sejam corretos e eficientes é algo notoriamente desafiador. Um sistema de Memória Transacional de Software (MTS) provém uma interface de programação conveniente para o programador acessar a memória compartilhada sem se preocupar com problemas de concorrência. Um MTS permite desenvolver programas e raciocinar sobre sua corretude como se cada transação fosse executada atomicamente e sem intercalação. Para verificar a corretude de qualquer sistema MTS, uma descrição formal das garantias de implementação é necessária. Existem diversas condições de corretude para memória transacional, muitas delas envolvem a noção de história de operações sobre a memória compartilhada, além disso, algumas usam grafos como ferramentas para ajudar a formalizar o processo de correção. O uso de grafos no formalismo MTS geralmente envolve uma representação de dependências e relações entre transações e suas operações. Uma condição de corretude em particular, chamada Opacidade, usa um grafo para representar conflitos entre transações em uma história, e um método que extrapola se a execução da história é considerada correta ou não. Grafos e transformações de grafos desempenham um papel central na modelagem de sistemas de software. Esses modelos são especificados usando um formalismo que utiliza abstrações de alto nível independente da plataforma, de modo que o foco pode estar nos conceitos e não na implementação do sistema que está sendo forma lizado. Nas Gramáticas de Grafos (GGs), a modificação de grafos é especificada por meio de regras de transformação de grafos, que definem esquematicamente como um estado do sistema pode ser transformado em um novo estado. Ao formalizar sistemas complexos, os GGs podem levar em consideração orientação a objetos, concorrência, mobilidade, distribuição etc. Esta tese apresenta uma metodologia para formalizar algoritmos de memória transacional utilizando gramática de grafos e demonstrar a corretude de suas execuções. O objetivo não é apenas descrever os procedimentos do algoritmo usando regras de produção, mas também incluir os passos necessários para aplicar a caracterização do grafo de certos critérios de corretude. A metodologia inclui três passos principais: uma tradução do algoritmo para uma gramática de grafo, o método para gerar histórias e o teste de corretude. Alguns estudos de caso são apresentados, como o algoritmo CaPR+, que trata de rollbacks parciais. Outro estudo de caso é o algoritmo STM Haskell, que é mais conhecido e é usado para comparar o comportamento entre diferentes aplicações de critérios de corretude. Por fim, uma alternativa à ferramenta GROOVE, utilizada para verificação de correção, é apresentada na forma de um modelo Event-B que inclui o mesmo formalismo gráfico do MTS, mas difere ao lidar com o espaço de estados e prova de corretude. Diferente de outros trabalhos que focam em formalização de algoritmos de MT, a metodologia proposta lida com grafos em todos os passos e não só durante o passao de verificação de corretude. Isso resulta em uma metodologia que pode tirar vantagem de ferramentas e características que focam em transformação de grafo e podem possivelmente fazer parte de um processo mais automatizado para para formalizações de MT futuras.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-07-20T12:27:00Z
dc.date.available.fl_str_mv 2023-07-20T12:27:00Z
dc.date.issued.fl_str_mv 2023-04-06
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv CARDOSO, Diogo João. Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software. Orientadora: Luciana Foss. 2023. 138 f. Tese (Doutorado) - Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2023.
dc.identifier.uri.fl_str_mv http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/9814
identifier_str_mv CARDOSO, Diogo João. Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software. Orientadora: Luciana Foss. 2023. 138 f. Tese (Doutorado) - Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2023.
url http://guaiaca.ufpel.edu.br/xmlui/handle/prefix/9814
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv CC BY-NC-SA
info:eu-repo/semantics/openAccess
rights_invalid_str_mv CC BY-NC-SA
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pelotas
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Computação
dc.publisher.initials.fl_str_mv UFPel
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pelotas
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPel - Guaiaca
instname:Universidade Federal de Pelotas (UFPEL)
instacron:UFPEL
instname_str Universidade Federal de Pelotas (UFPEL)
instacron_str UFPEL
institution UFPEL
reponame_str Repositório Institucional da UFPel - Guaiaca
collection Repositório Institucional da UFPel - Guaiaca
bitstream.url.fl_str_mv http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/1/Tese_Diogo%20Joao%20Cardoso.pdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/3/Tese_Diogo%20Joao%20Cardoso.pdf.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/4/Tese_Diogo%20Joao%20Cardoso.pdf.jpg
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/2/license.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/3/Tese_Diogo%20Joao%20Cardoso.pdf.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/9814/4/Tese_Diogo%20Joao%20Cardoso.pdf.jpg
bitstream.checksum.fl_str_mv 2cea79bcdb95aef03f3262a70e4cf997
efad7a753e32b16bde035c275a67d26e
78845069306f3ba63ed962439a138668
a963c7f783e32dba7010280c7b5ea154
efad7a753e32b16bde035c275a67d26e
78845069306f3ba63ed962439a138668
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)
repository.mail.fl_str_mv rippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.br
_version_ 1813710161694425088