Repository logo
 
Publication

Improving parallel and concurrent programming in FreeST

datacite.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapt_PT
dc.contributor.advisorRodrigues, Andreia Filipa Torcato Mordido
dc.contributor.advisorVasconcelos, Vasco Manuel Thudichum de Serpa
dc.contributor.authorLopes, Guilherme João Correia
dc.date.accessioned2024-11-25T18:20:41Z
dc.date.available2024-11-25T18:20:41Z
dc.date.issued2024
dc.date.submitted2024
dc.descriptionTese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de Ciênciaspt_PT
dc.description.abstractTechnological advancements led manufacturers to shift from single-processor to multi-core architectures, fostering the rise of parallel and concurrent computing. This transition has yielded substantial benefits, such as improved performance and enhanced interprocess communication in distributed systems. However, it has also introduced challenges requiring specialized tools and languages to handle parallelism and concurrency efficiently and make these tasks easier for developers. Languages like Erlang and Go were purpose-built to meet these demands, while others, such as Java, have evolved to incorporate features facilitating parallel and concurrent programming, providing accessible solutions for emerging paradigms. FreeST is a modern, message-passing concurrent functional language featuring context-free session types to ensure strict adherence to communication protocols. While session types were designed for concurrent programming, FreeST, despite its strengths, stumbles upon limitations stemming from its embryonic state and the lack of comprehensive tools for addressing various parallel and concurrent programming paradigms. Consequently, FreeST demands substantial domain knowledge and effort to develop parallel and concurrent systems effectively, posing a steep learning curve. Our goal in this work is to provide a set of tools that improve and ease parallel and concurrent programming in FreeST. This thesis proposes the development of three modules aimed at enhancing FreeST’s capability to handle diverse parallel and concurrent programming paradigms and concepts: data parallelism and embarrassingly parallel problems, futures and divide-and-conquer strategies, and stream programming. These modules are designed to leverage FreeST’s unique features and expand its practical utility in real-world applications, making it a more versatile and effective tool for addressing complex parallel and concurrent computing challenges. To validate our contributions, we employ surveys and a Lines of Code (LoC) comparison.pt_PT
dc.identifier.tid203741170
dc.identifier.urihttp://hdl.handle.net/10400.5/95630
dc.language.isoengpt_PT
dc.subjectTipos de sessãopt_PT
dc.subjectConcorrênciapt_PT
dc.subjectProblemas embaraçosamente paralelospt_PT
dc.subjectFuturospt_PT
dc.subjectStreamspt_PT
dc.subjectTeses de mestrado - 2024pt_PT
dc.titleImproving parallel and concurrent programming in FreeSTpt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameMestrado em Engenharia Informáticapt_PT

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TM_Guilherme_Lopes.pdf
Size:
5.77 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.2 KB
Format:
Item-specific license agreed upon to submission
Description: