Verificación de correctitud para tipos de datos replicados en Coq

Autores
Gómez, Pablo Nicolás
Año de publicación
2021
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Roldán, Christian Hugo
Melgratti, Hernán Claudio
Descripción
La replicación de datos es un concepto fundamental en sistemas distribuidos ya que ofrece garantías como escalabilidad y alta disponibilidad a expensas de tener una visión inconsistente del estado del sistema. Esto significa que los usuarios de dicho sistema, temporalmente, podrían percibir diferencias sobre el estado del mismo. En particular, esta tesis se concentra en un enfoque de replicación basada en estados, donde cada réplica (o nodo) que compone al sistema, transmite su estado al resto de las réplicas con el fin de que estas puedan combinarlo con su propio estado y alcancen así un mismo estado común. La literatura propone los tipos de datos replicados o RDTs (por su acrónimo en inglés, Replicated Data Types), quienes lidean con inconsistencias temporales que puedan existir y resuelven de forma automática cuando existen conflictos entre escrituras concurrentes. Diferentes líneas de investigación han abordado el problema de especificar e implementar RDTs. Más aún, hay demostraciones manuales sobre la correcta implementación de un RDT con respecto a su especificación. En esta tesis proponemos abordar el problema de formalizar y verificar la correcta implementación de RDTs utilizando el asistente de demostraciones Coq. Coq es un sistema formal de semidecisión de manejo de demostraciones de teoremas chequeadas por computadora. Proveemos por lo tanto, de un marco de trabajo para verificar la correctitud de RDTs de una manera computarizada, lo cual ofrece una alternativa confiable y mecánica de abordar esta tarea. Más concretamente, en esta tesis nos centramos en realizar la experiencia de formalizar en Coq una especificación y una implementación de un RDT (tomando como caso de estudio el tipo de datos: Contador ). Para esto, (i) mostraremos cómo transformar las definiciones existentes en definiciones equivalentes en Coq. Luego, (ii) probaremos que la implementación del tipo de datos es correcta, basándonos en un resultado que establece la existencia de una relación de simulación entre la semántica operacional asociada a la especificación, y la implementación concreta del Contador. Finalmente, (iii) presentamos una prueba en el asistente sobre la correcta implementación del tipo de datos, mostrando para esto, la existencia de dicha relación de simulación.
Fil: Gómez, Pablo Nicolás. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
REPLICACION
TIPOS DE DATOS REPLICADOS
CORRECTITUD DE IMPLEMENTACIONES
SIMULACION
COQ
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000484_Gomez

id BDUBAFCEN_686a2b5a7008e9bff9db04456e500c4a
oai_identifier_str seminario:seminario_nCOM000484_Gomez
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Verificación de correctitud para tipos de datos replicados en CoqGómez, Pablo NicolásREPLICACIONTIPOS DE DATOS REPLICADOSCORRECTITUD DE IMPLEMENTACIONESSIMULACIONCOQLa replicación de datos es un concepto fundamental en sistemas distribuidos ya que ofrece garantías como escalabilidad y alta disponibilidad a expensas de tener una visión inconsistente del estado del sistema. Esto significa que los usuarios de dicho sistema, temporalmente, podrían percibir diferencias sobre el estado del mismo. En particular, esta tesis se concentra en un enfoque de replicación basada en estados, donde cada réplica (o nodo) que compone al sistema, transmite su estado al resto de las réplicas con el fin de que estas puedan combinarlo con su propio estado y alcancen así un mismo estado común. La literatura propone los tipos de datos replicados o RDTs (por su acrónimo en inglés, Replicated Data Types), quienes lidean con inconsistencias temporales que puedan existir y resuelven de forma automática cuando existen conflictos entre escrituras concurrentes. Diferentes líneas de investigación han abordado el problema de especificar e implementar RDTs. Más aún, hay demostraciones manuales sobre la correcta implementación de un RDT con respecto a su especificación. En esta tesis proponemos abordar el problema de formalizar y verificar la correcta implementación de RDTs utilizando el asistente de demostraciones Coq. Coq es un sistema formal de semidecisión de manejo de demostraciones de teoremas chequeadas por computadora. Proveemos por lo tanto, de un marco de trabajo para verificar la correctitud de RDTs de una manera computarizada, lo cual ofrece una alternativa confiable y mecánica de abordar esta tarea. Más concretamente, en esta tesis nos centramos en realizar la experiencia de formalizar en Coq una especificación y una implementación de un RDT (tomando como caso de estudio el tipo de datos: Contador ). Para esto, (i) mostraremos cómo transformar las definiciones existentes en definiciones equivalentes en Coq. Luego, (ii) probaremos que la implementación del tipo de datos es correcta, basándonos en un resultado que establece la existencia de una relación de simulación entre la semántica operacional asociada a la especificación, y la implementación concreta del Contador. Finalmente, (iii) presentamos una prueba en el asistente sobre la correcta implementación del tipo de datos, mostrando para esto, la existencia de dicha relación de simulación.Fil: Gómez, Pablo Nicolás. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesRoldán, Christian HugoMelgratti, Hernán Claudio2021-06-10info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000484_Gomezspainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-09-29T13:43:39Zseminario:seminario_nCOM000484_GomezInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-09-29 13:43:40.227Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Verificación de correctitud para tipos de datos replicados en Coq
title Verificación de correctitud para tipos de datos replicados en Coq
spellingShingle Verificación de correctitud para tipos de datos replicados en Coq
Gómez, Pablo Nicolás
REPLICACION
TIPOS DE DATOS REPLICADOS
CORRECTITUD DE IMPLEMENTACIONES
SIMULACION
COQ
title_short Verificación de correctitud para tipos de datos replicados en Coq
title_full Verificación de correctitud para tipos de datos replicados en Coq
title_fullStr Verificación de correctitud para tipos de datos replicados en Coq
title_full_unstemmed Verificación de correctitud para tipos de datos replicados en Coq
title_sort Verificación de correctitud para tipos de datos replicados en Coq
dc.creator.none.fl_str_mv Gómez, Pablo Nicolás
author Gómez, Pablo Nicolás
author_facet Gómez, Pablo Nicolás
author_role author
dc.contributor.none.fl_str_mv Roldán, Christian Hugo
Melgratti, Hernán Claudio
dc.subject.none.fl_str_mv REPLICACION
TIPOS DE DATOS REPLICADOS
CORRECTITUD DE IMPLEMENTACIONES
SIMULACION
COQ
topic REPLICACION
TIPOS DE DATOS REPLICADOS
CORRECTITUD DE IMPLEMENTACIONES
SIMULACION
COQ
dc.description.none.fl_txt_mv La replicación de datos es un concepto fundamental en sistemas distribuidos ya que ofrece garantías como escalabilidad y alta disponibilidad a expensas de tener una visión inconsistente del estado del sistema. Esto significa que los usuarios de dicho sistema, temporalmente, podrían percibir diferencias sobre el estado del mismo. En particular, esta tesis se concentra en un enfoque de replicación basada en estados, donde cada réplica (o nodo) que compone al sistema, transmite su estado al resto de las réplicas con el fin de que estas puedan combinarlo con su propio estado y alcancen así un mismo estado común. La literatura propone los tipos de datos replicados o RDTs (por su acrónimo en inglés, Replicated Data Types), quienes lidean con inconsistencias temporales que puedan existir y resuelven de forma automática cuando existen conflictos entre escrituras concurrentes. Diferentes líneas de investigación han abordado el problema de especificar e implementar RDTs. Más aún, hay demostraciones manuales sobre la correcta implementación de un RDT con respecto a su especificación. En esta tesis proponemos abordar el problema de formalizar y verificar la correcta implementación de RDTs utilizando el asistente de demostraciones Coq. Coq es un sistema formal de semidecisión de manejo de demostraciones de teoremas chequeadas por computadora. Proveemos por lo tanto, de un marco de trabajo para verificar la correctitud de RDTs de una manera computarizada, lo cual ofrece una alternativa confiable y mecánica de abordar esta tarea. Más concretamente, en esta tesis nos centramos en realizar la experiencia de formalizar en Coq una especificación y una implementación de un RDT (tomando como caso de estudio el tipo de datos: Contador ). Para esto, (i) mostraremos cómo transformar las definiciones existentes en definiciones equivalentes en Coq. Luego, (ii) probaremos que la implementación del tipo de datos es correcta, basándonos en un resultado que establece la existencia de una relación de simulación entre la semántica operacional asociada a la especificación, y la implementación concreta del Contador. Finalmente, (iii) presentamos una prueba en el asistente sobre la correcta implementación del tipo de datos, mostrando para esto, la existencia de dicha relación de simulación.
Fil: Gómez, Pablo Nicolás. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description La replicación de datos es un concepto fundamental en sistemas distribuidos ya que ofrece garantías como escalabilidad y alta disponibilidad a expensas de tener una visión inconsistente del estado del sistema. Esto significa que los usuarios de dicho sistema, temporalmente, podrían percibir diferencias sobre el estado del mismo. En particular, esta tesis se concentra en un enfoque de replicación basada en estados, donde cada réplica (o nodo) que compone al sistema, transmite su estado al resto de las réplicas con el fin de que estas puedan combinarlo con su propio estado y alcancen así un mismo estado común. La literatura propone los tipos de datos replicados o RDTs (por su acrónimo en inglés, Replicated Data Types), quienes lidean con inconsistencias temporales que puedan existir y resuelven de forma automática cuando existen conflictos entre escrituras concurrentes. Diferentes líneas de investigación han abordado el problema de especificar e implementar RDTs. Más aún, hay demostraciones manuales sobre la correcta implementación de un RDT con respecto a su especificación. En esta tesis proponemos abordar el problema de formalizar y verificar la correcta implementación de RDTs utilizando el asistente de demostraciones Coq. Coq es un sistema formal de semidecisión de manejo de demostraciones de teoremas chequeadas por computadora. Proveemos por lo tanto, de un marco de trabajo para verificar la correctitud de RDTs de una manera computarizada, lo cual ofrece una alternativa confiable y mecánica de abordar esta tarea. Más concretamente, en esta tesis nos centramos en realizar la experiencia de formalizar en Coq una especificación y una implementación de un RDT (tomando como caso de estudio el tipo de datos: Contador ). Para esto, (i) mostraremos cómo transformar las definiciones existentes en definiciones equivalentes en Coq. Luego, (ii) probaremos que la implementación del tipo de datos es correcta, basándonos en un resultado que establece la existencia de una relación de simulación entre la semántica operacional asociada a la especificación, y la implementación concreta del Contador. Finalmente, (iii) presentamos una prueba en el asistente sobre la correcta implementación del tipo de datos, mostrando para esto, la existencia de dicha relación de simulación.
publishDate 2021
dc.date.none.fl_str_mv 2021-06-10
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000484_Gomez
url https://hdl.handle.net/20.500.12110/seminario_nCOM000484_Gomez
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1844618757141430272
score 12.891075