Publicação
Formal modelling and analysis of Clock-SI with TLA+
| 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 |
| 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. |
|---|