Sobre el diseño y la implementación de un modelo de programación puramente funcional para sistemas distribuidos y procesamiento de datos
View/ Open
Metadata
Show full item recordcomunitat-uji-handle:10234/158176
comunitat-uji-handle2:10234/71324
comunitat-uji-handle3:10234/107061
comunitat-uji-handle4:
TFG-TFMMetadata
Title
Sobre el diseño y la implementación de un modelo de programación puramente funcional para sistemas distribuidos y procesamiento de datosAuthor (s)
Tutor/Supervisor
Vilar Torres, Juan Miguel; Miller, Heather; Odersky, MartinTutor/Supervisor; University.Department
Universitat Jaume I. Departament de Llenguatges i Sistemes InformàticsDate
2016-06-13Publisher
Universitat Jaume IAbstract
El modelo function passing proporciona un soporte más directo sobre el cual construir sistemas
distribuidos orientados a datos. En resumen, construye una estructura de datos funcional y
persistente que representa ... [+]
El modelo function passing proporciona un soporte más directo sobre el cual construir sistemas
distribuidos orientados a datos. En resumen, construye una estructura de datos funcional y
persistente que representa transformaciones en datos immutables y distribuidos pasando funciones
serializables y bien tipadas entre distintos nodos y aplicandolas sobre datos immutables. De
esta manera, el diseño del modelo simplifica la tolerancia a fallos—los datos se pueden recuperar
aplicando otra vez las funciones sobre los datos originarios guardados en memoria. Técnicas
como la evaluación diferida son centrales en el modelo, haciéndolo eficiente y fácil de entender,
y evaluándolo sólo en el punto en el que una comunicación en la red comienza.
Este proyecto provee un resumen de la implementación de tal modelo en Scala, discutiendo
importantes mejores requeridas en dos complejas extensiones del compilador de Scala: Scala
Pickling y Spores, así como lo requerido para aunar ambos proyectos de una forma óptima. El
presente trabajo permite una míriada de nuevas oportunidades para construir sistemas distribuidos
orientados a datos; ya no solo sistemas como Apache Spark, aunque puede ser visto como
el caso de uso típico para este modelo. Mientras el modelo esté diseñado para ser agnóstico de
la plataforma (está implementado en Scala y se ejecuta sobre la JVM), puede interoperar con
otros lenguajes de programación como Javascript mediante Scala.js, un plugin del compilador de
Scala que permite a cualquier framework basado en Javascript beneficiarse de esta contribución. [-]
Subject
Grau en Enginyeria Informàtica | Grado en Ingeniería Informática | Bachelor's Degree in Computer Engineering | Computación distribuida | Function passing | Serializable | Comunicación tipada | Apache | Spark | Tipos | Modelo de programación | Big data | Procesamiento de datos | Diseño de lenguajes de programación | Programación funcional | Distributed computing | Function passing | Serializable | Typed communication | Functional programming | Data processing | Programming languages | Types | Programing model | Programming languages design
Description
Treball final de Grau en Enginyeria Informàtica. Codi: EI1054. Curs acadèmic 2015-2016
Type
info:eu-repo/semantics/bachelorThesisRights
info:eu-repo/semantics/openAccess
This item appears in the folowing collection(s)
The following license files are associated with this item: