Publicação

Formal modelling and analysis of Clock-SI with TLA+

Ver documento

Detalhes bibliográficos
Resumo:Distributed systems are commonly used due to the advantages that they can offer, such as fault tolerance, scalability, and data replication, among others. Although these are desirable features for a large set of applications, such as database management systems, they also introduce difficulties when implementing and maintaining the applications. In this context, concurrent transactions with Atomicity, Consistency, Isolation, and Durability (ACID) guarantees are needed. However, the desired behaviour, in particular the isolation level between transactions, brings an additional complexity to the distributed database management systems. Given the difficulties presented in the development and the nature of such systems, conventional testing becomes insufficient to ensure that the solutions found have the desired behaviour. Thus, there is a need to use different techniques to gain more confidence on whether an application will exhibit the expected behaviour or not. In this thesis, we focus on the formal modelling and analysis of the Clock-SI algorithm, a protocol that can be used in distributed databases to implement Snapshot Isolation, thus maintaining some data consistency while maximizing system throughput. We used TLA+, a formal specification language suited for describing concurrent systems, to model the behaviour of the algorithm, and the TLC model checker to verify that it correctly implements Snapshot Isolation.
Autores principais:Santos, Gonçalo Couto dos
Assunto:Formal Methods Isolation Levels Snapshot Isolation TLA+ Clock-SI Níveis de isolamento Snapshot Isolation level Métodos formais TLA SingleStore Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
Ano:2025
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade do Minho
Idioma:inglês
Origem:RepositóriUM - Universidade do Minho
Descrição
Resumo:Distributed systems are commonly used due to the advantages that they can offer, such as fault tolerance, scalability, and data replication, among others. Although these are desirable features for a large set of applications, such as database management systems, they also introduce difficulties when implementing and maintaining the applications. In this context, concurrent transactions with Atomicity, Consistency, Isolation, and Durability (ACID) guarantees are needed. However, the desired behaviour, in particular the isolation level between transactions, brings an additional complexity to the distributed database management systems. Given the difficulties presented in the development and the nature of such systems, conventional testing becomes insufficient to ensure that the solutions found have the desired behaviour. Thus, there is a need to use different techniques to gain more confidence on whether an application will exhibit the expected behaviour or not. In this thesis, we focus on the formal modelling and analysis of the Clock-SI algorithm, a protocol that can be used in distributed databases to implement Snapshot Isolation, thus maintaining some data consistency while maximizing system throughput. We used TLA+, a formal specification language suited for describing concurrent systems, to model the behaviour of the algorithm, and the TLC model checker to verify that it correctly implements Snapshot Isolation.