Resumen:
|
[CA] Aquest treball de fi de grau aborda la implementació d’un client BitTorrent utilitzant
el llenguatge de programació Erlang, centrant-se en la traducció de les especificacions del
protocol a un codi executable i ...[+]
[CA] Aquest treball de fi de grau aborda la implementació d’un client BitTorrent utilitzant
el llenguatge de programació Erlang, centrant-se en la traducció de les especificacions del
protocol a un codi executable i eficient. El projecte destaca pel seu enfocament en les regles
sintàctiques, semàntiques i de comportament del protocol, les quals s’implementen de
manera declarativa en Erlang, aprofitant les característiques intrínseques del llenguatge
que faciliten la definició clara i directa de les interaccions entre actors i de l’estructura
dels missatges amb els quals aquests es comuniquen. A més, s’explora l’arquitectura de
l’aplicació basada en l’enviament de missatges entre actors, cosa que permet paral·lelitzar
el client i adoptar una implementació idiomàtica del protocol, garantint així un processament eficient, escalable, flexible i llegible. La innovació del projecte radica en la seua
combinació única de la naturalesa declarativa d’Erlang amb una arquitectura robusta
de pas de missatges i tolerància a fallades. Aquesta configuració no sols millora el paral·lelisme i l’eficiència en l’ús de recursos i temps de resposta del client, sinó que també
incrementa la resiliència del sistema, permetent aïllar i gestionar errors eficaçment. A més,
facilita la comprensió i adaptació del funcionament del client gràcies al seu paradigma de
pas de missatges.
[-]
[ES] Este trabajo de fin de grado aborda la implementación de un cliente BitTorrent utilizando el lenguaje de programación Erlang, enfocándose en la traducción de las especificaciones del protocolo a un código ejecutable ...[+]
[ES] Este trabajo de fin de grado aborda la implementación de un cliente BitTorrent utilizando el lenguaje de programación Erlang, enfocándose en la traducción de las especificaciones del protocolo a un código ejecutable y eficiente. El proyecto destaca por su enfoque en las reglas sintácticas, semánticas y de comportamiento del protocolo, las cuales se implementan de manera declarativa en Erlang, aprovechando las características intrínsecas del lenguaje que facilitan la definición clara y directa de las interacciones entre actores y de la estructura de los mensajes con los que estos se comunican. Además, se explora la arquitectura de la aplicación basada en el envío de mensajes entre actores, lo que permite paralelizar el cliente y adoptar una implementación idiomática del protocolo, garantizando así un procesamiento eficiente, escalable, flexible y legible. La innovación del proyecto radica en su combinación única de la naturaleza declarativa de Erlang con una arquitectura robusta de paso de mensajes y tolerancia a fallos. Esta configuración no solo mejora el paralelismo y la eficiencia en el uso de recursos y tiempo de respuesta del cliente, sino que también incrementa la resiliencia del sistema, permitiendo aislar y manejar errores eficazmente. Además, facilita la comprensión y adaptación del funcionamiento del cliente gracias a su paradigma de paso de mensajes.
[-]
[EN] This final degree project addresses the implementation of a BitTorrent client using the
Erlang programming language, focusing on the translation of the protocol specifications
into executable and efficient code. The ...[+]
[EN] This final degree project addresses the implementation of a BitTorrent client using the
Erlang programming language, focusing on the translation of the protocol specifications
into executable and efficient code. The project stands out for its focus on the syntactic,
semantic and behavioral rules of the protocol, which are implemented declaratively in
Erlang, taking advantage of the intrinsic characteristics of the language that facilitate the
clear and direct definition of the interactions between actors and the structure. of the messages with which they communicate. In addition, the architecture of the application
based on the sending of messages between actors is explored, which allows parallelizing
the client and adopting an idiomatic implementation of the protocol, thus guaranteeing
efficient, scalable, flexible and readable processing. The innovation of the project lies in its
unique combination of the declarative nature of Erlang with a robust message passing
and fault tolerance architecture. This configuration not only improves parallelism and
efficiency in resource use and client response time, but also increases the resilience of the
system, allowing errors to be isolated and handled effectively. In addition, it facilitates
the understanding and adaptation of the client’s operation thanks to its message passing
paradigm.
[-]
|