- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Corresponding formal specifications with distributed...
Open Collections
UBC Theses and Dissertations
UBC Theses and Dissertations
Corresponding formal specifications with distributed systems Do, Minh Nhat
Abstract
As the need for computing resources grows, providers are increasingly relying on distributed systems to render their services. However, distributed systems are hard to design and implement. As an aid for design and implementation, formal verifica- tion has seen a growing interest in industry. For example, Amazon uses Temporal Logic of Actions plus (TLA⁺) and PlusCal specification languages and tool chain to formally verify manually created specifications of their web services [8]. Nevertheless, there is currently no tool to automatically establish a correspon- dence between a PlusCal specification with a concrete implementation. Further- more, PlusCal was not designed with modularity in mind, so a large PlusCal spec- ification cannot be decomposed into smaller ones for ease of modification. This thesis proposes an extension to PlusCal, named Modular PlusCal, as well as a compiler, named PGo, which compiles Modular PlusCal and PlusCal specifications into Go programs. Modular PlusCal introduces new constructs, such as archetypes and mapping macros, to provide isolation and, as a result, modularity. By auto- matically compiling PlusCal and Modular PlusCal specifications into distributed system implementations, PGo reduces the burden on programmers trying to ensure the correctness of their distributed systems.
Item Metadata
Title |
Corresponding formal specifications with distributed systems
|
Creator | |
Publisher |
University of British Columbia
|
Date Issued |
2019
|
Description |
As the need for computing resources grows, providers are increasingly relying on
distributed systems to render their services. However, distributed systems are hard
to design and implement. As an aid for design and implementation, formal verifica-
tion has seen a growing interest in industry. For example, Amazon uses Temporal
Logic of Actions plus (TLA⁺) and PlusCal specification languages and tool chain
to formally verify manually created specifications of their web services [8].
Nevertheless, there is currently no tool to automatically establish a correspon-
dence between a PlusCal specification with a concrete implementation. Further-
more, PlusCal was not designed with modularity in mind, so a large PlusCal spec-
ification cannot be decomposed into smaller ones for ease of modification. This
thesis proposes an extension to PlusCal, named Modular PlusCal, as well as a
compiler, named PGo, which compiles Modular PlusCal and PlusCal specifications
into Go programs. Modular PlusCal introduces new constructs, such as archetypes
and mapping macros, to provide isolation and, as a result, modularity. By auto-
matically compiling PlusCal and Modular PlusCal specifications into distributed
system implementations, PGo reduces the burden on programmers trying to ensure
the correctness of their distributed systems.
|
Genre | |
Type | |
Language |
eng
|
Date Available |
2019-04-18
|
Provider |
Vancouver : University of British Columbia Library
|
Rights |
Attribution-NonCommercial-NoDerivatives 4.0 International
|
DOI |
10.14288/1.0378335
|
URI | |
Degree | |
Program | |
Affiliation | |
Degree Grantor |
University of British Columbia
|
Graduation Date |
2019-05
|
Campus | |
Scholarly Level |
Graduate
|
Rights URI | |
Aggregated Source Repository |
DSpace
|
Item Media
Item Citations and Data
Rights
Attribution-NonCommercial-NoDerivatives 4.0 International