Um Formalismo de Gramática de Grafos para Corretude de Memória Transacional de Software
Autor(a) principal: | |
---|---|
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 |