Coordination languages for the tuple spaces can o er significant advantages in the specification and implementation of distributed systems. Replication can further improve the performance or robustness of these systems. A possible approach has been proposed to extend the coordination languages with replica-aware primitives. However, this approach relies on the ability of the programmer to specify and coordinate the replication of tuple spaces in order to preserve the desired consistency. Manual exploitation of the o ered replication primitives is expensive and extremely hard. We present a technique that combines static analysis and program transformation for automated replication of tuple spaces. As a starting point, we take goSpace coordination language, an implementation of Klaim in Go programming language, and extend it with the replica-aware tuple manipulation primitives to obtain what we call RepligoSpaces. We also present how a Go program that uses goSpace can be transformed into a program that uses RepligoSpaces while preserving the desired consistency level. This transformation is optimized by statically analysing the data access patterns. Custom static analyses may be plugged in relatively easily in our prototype implementation. We see this as a first step towards developing an integrated framework to experiment with data replication in distributed systems with tuple spaces. Thus, supporting designers for quick prototyping and evaluation of replication schemes. A series of experiments are performed on a case study to show how our approach can be used to design and test replication schemes.

Automated Replication of Tuple Spaces via Static Analysis and Transformation of Go Programs / Uwimbabazi, Aline. - (2022 Sep 07).

Automated Replication of Tuple Spaces via Static Analysis and Transformation of Go Programs

UWIMBABAZI, ALINE
2022-09-07

Abstract

Coordination languages for the tuple spaces can o er significant advantages in the specification and implementation of distributed systems. Replication can further improve the performance or robustness of these systems. A possible approach has been proposed to extend the coordination languages with replica-aware primitives. However, this approach relies on the ability of the programmer to specify and coordinate the replication of tuple spaces in order to preserve the desired consistency. Manual exploitation of the o ered replication primitives is expensive and extremely hard. We present a technique that combines static analysis and program transformation for automated replication of tuple spaces. As a starting point, we take goSpace coordination language, an implementation of Klaim in Go programming language, and extend it with the replica-aware tuple manipulation primitives to obtain what we call RepligoSpaces. We also present how a Go program that uses goSpace can be transformed into a program that uses RepligoSpaces while preserving the desired consistency level. This transformation is optimized by statically analysing the data access patterns. Custom static analyses may be plugged in relatively easily in our prototype implementation. We see this as a first step towards developing an integrated framework to experiment with data replication in distributed systems with tuple spaces. Thus, supporting designers for quick prototyping and evaluation of replication schemes. A series of experiments are performed on a case study to show how our approach can be used to design and test replication schemes.
7-set-2022
Coordination Languages, Tuple Spaces, Static Analysis, Automated Replication, Program Transformation, Golang
Automated Replication of Tuple Spaces via Static Analysis and Transformation of Go Programs / Uwimbabazi, Aline. - (2022 Sep 07).
File in questo prodotto:
File Dimensione Formato  
2022_PhDThesis_Uwimbabazi.pdf

accesso aperto

Tipologia: Tesi di dottorato
Licenza: Dominio pubblico
Dimensione 759.63 kB
Formato Adobe PDF
759.63 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12571/27524
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact