Repository logo
 
Publication

ForkSim: animation of programs to support the learning of concurrent programming

datacite.subject.fosEngenharia e Tecnologia::Outras Engenharias e Tecnologiaspt_PT
dc.contributor.advisorPereira, Maria João
dc.contributor.advisorRufino, José
dc.contributor.advisorCampiolo, Rodrigo
dc.contributor.authorFarina, Daniel Augusto Rodrigues
dc.date.accessioned2024-07-26T13:03:11Z
dc.date.available2024-07-26T13:03:11Z
dc.date.issued2024
dc.descriptionMestrado de dupla diplomação com a UTFPR - Universidade Tecnológica Federal do Paranápt_PT
dc.description.abstractThis document discusses the development of forkSim, a tool that can be used to support the teaching of system-level programming within the context of Operating Systems classes, by facilitating the comprehension and analysis of the behavior of C codes representing process-based concurrent programs involving fork system calls. The tool builds on two main components. The first is a C code preprocessor, created using language processing techniques. The preprocessor embeds inspectors into the C code before its compilation and execution. In runtime, the inspectors extract relevant data from the actions performed and generate a JSON file. The second component is a web application that generates a visual representation of the program flow based on the JSON file. This visualization incorporates elements from BPMN diagrams and draws inspiration from representations used for many years in OS classes. The development of forkSim faced several technical challenges and involved some design decisions, both documented in this document, along with a discussion of the results achieved. The tool was evaluated in a real classroom environment, and the results suggest that it can be a valuable resource for students and instructors in the context of Operating Systems classes.pt_PT
dc.description.abstractEste documento discute o desenvolvimento do forkSim, uma ferramenta que pode ser usada para apoiar o ensino de programação de nível de sistema no contexto das aulas de Sistemas Operativos, facilitando a compreensão e análise do comportamento de códigos C que representam programas concorrentes baseados em processos envolvendo chamadas de sistema fork. A ferramenta se baseia em dois componentes principais. O primeiro é um preprocessador de código C, criado utilizando técnicas de processamento de linguagem. Este pré-processador insere inspetores no código C antes de sua compilação e execução. Em tempo de execução, os inspetores extraem dados relevantes das ações realizadas e geram um arquivo JSON. O segundo componente é uma aplicação web que gera uma representação visual do fluxo do programa com base no arquivo JSON. Essa visualização incorpora elementos de diagramas BPMN e se inspira em representações utilizadas há muitos anos em aulas de Sistemas Operativos. O desenvolvimento do forkSim enfrentou vários desafios técnicos e envolveu algumas decisões de design, todas documentadas neste documento, juntamente com uma discussão dos resultados alcançados. A ferramenta foi avaliada em um ambiente de sala de aula real, e os resultados sugerem que ela pode ser um recurso valioso para estudantes e instrutores no contexto de aulas de Sistemas Operativos.pt_PT
dc.identifier.tid203666550pt_PT
dc.identifier.urihttp://hdl.handle.net/10198/30102
dc.language.isoengpt_PT
dc.rights.urihttp://creativecommons.org/licenses/by-nc/4.0/pt_PT
dc.subjectE-Learning toolpt_PT
dc.subjectOperating systempt_PT
dc.subjectSystem programmingpt_PT
dc.subjectCode instrumentationpt_PT
dc.subjectInspector functionspt_PT
dc.subjectCpt_PT
dc.subjectBPMNpt_PT
dc.titleForkSim: animation of programs to support the learning of concurrent programmingpt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameInformáticapt_PT

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Daniel Farina.pdf
Size:
1.68 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.75 KB
Format:
Item-specific license agreed upon to submission
Description: