Formalização da reconfiguração de protocolos de consenso usando Alloy
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | https://hdl.handle.net/1822/84345 |
Resumo: | Dissertação de mestrado integrado em Informatics Engineering |
id |
RCAP_d3c02b7aa6c1feaef409a97e10f981a1 |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/84345 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Formalização da reconfiguração de protocolos de consenso usando AlloyAlloyMERMulti-PaxosPaxosVertical PaxosSMREngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Informatics EngineeringO protocolo de máquinas de estado replicadas (MER) é uma peça fundamental dos sistemas distribuídos. No centro deste protocolo estão os algoritmos de consenso, como o Paxos, usados para manter a consistência das MER. Todavia, os sistemas modernos não podem depender estritamente das técnicas de MER, estes devem também implementar estratégias de reconfiguração. Estas estratégias consistem em alterar a configuração do sistema, adicionando, removendo ou substituindo os processos que o compõem. Dada a sua complexidade, a implementação de protocolos de reconfiguração é muito suscetível a erros, daí que seja aconselhável a especificação, validação e verificação dos mesmos. No presente trabalho apresentamos uma especificação em linguagem Alloy do protocolo de reconfiguração Vertical Paxos e do protocolo de consenso Paxos. Além destes, modelamos o protocolo Multi-Paxos, o qual implementa uma MER. Estes protocolos estão intrinsecamente relacionados e a compreensão do primeiro é facilitada com o conhecimento dos demais. Atualmente, o Alloy é uma das linguagens de especificação mais populares, mas pouco explorada na modelação de algoritmos distribuídos e, tanto quanto sabemos, não existe ainda nenhuma especificação dos referidos protocolos em Alloy. O presente trabalho visa modelar e validar os referidos protocolos, bem como verificar as suas propriedades de safety, de modo a obtermos confiança nas especificações. Ademais, realizamos uma avaliação de desempenho de diferentes solvers e estratégias de decomposição nativas do Alloy, bem como uma breve análise comparativa com o TLA+.State machine replication (SMR) protocols have a crucial role in distributed systems. At the heart of these protocols are the consensus algorithm, such as Paxos, responsible for SMR’s consistency. However, modern systems cannot only rely on SMR thecniques, they must implement reconfiguration strategies, which consist in changing their configurations by adding, removing or replacing their processes. Due to its complexity, implementing a reconfiguration algorithm is error-prone, therefore its specification, validation and verification is advisable. In this work, we present a specification, in Alloy, of the reconfiguration protocol Vertical Paxos and the consensus protocol Paxos. Besides, we model the Multi-Paxos protocol which implements a SMR. These three protocols are intrinsically related and, once we are familiar with Paxos and Multi-Paxos, understanding Vertical Paxos becomes straigthfoward. Nowadays, Alloy is one of the most popular specification languages, but littleexplored in modeling and analyzing distributed algorithms. As far as we know, there is still no specification of these protocols in Alloy. The aim of this work is to model and validate these protocols, as well as to verify their safety properties, in order to obtain confidence in our specifications. Furthermore, we evaluate the performance of different solvers and decomposition strategies. Finally, we carry out a brief comparative analysis with TLA+.Cunha, AlcinoUniversidade do MinhoSoares, Cecília da Conceição de Oliveira20222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/84345por203261216info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:26:30Zoai:repositorium.sdum.uminho.pt:1822/84345Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:20:57.272894Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Formalização da reconfiguração de protocolos de consenso usando Alloy |
title |
Formalização da reconfiguração de protocolos de consenso usando Alloy |
spellingShingle |
Formalização da reconfiguração de protocolos de consenso usando Alloy Soares, Cecília da Conceição de Oliveira Alloy MER Multi-Paxos Paxos Vertical Paxos SMR Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
Formalização da reconfiguração de protocolos de consenso usando Alloy |
title_full |
Formalização da reconfiguração de protocolos de consenso usando Alloy |
title_fullStr |
Formalização da reconfiguração de protocolos de consenso usando Alloy |
title_full_unstemmed |
Formalização da reconfiguração de protocolos de consenso usando Alloy |
title_sort |
Formalização da reconfiguração de protocolos de consenso usando Alloy |
author |
Soares, Cecília da Conceição de Oliveira |
author_facet |
Soares, Cecília da Conceição de Oliveira |
author_role |
author |
dc.contributor.none.fl_str_mv |
Cunha, Alcino Universidade do Minho |
dc.contributor.author.fl_str_mv |
Soares, Cecília da Conceição de Oliveira |
dc.subject.por.fl_str_mv |
Alloy MER Multi-Paxos Paxos Vertical Paxos SMR Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Alloy MER Multi-Paxos Paxos Vertical Paxos SMR Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Dissertação de mestrado integrado em Informatics Engineering |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022 2022-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/1822/84345 |
url |
https://hdl.handle.net/1822/84345 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
203261216 |
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 Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799132674142502912 |