Repository logo
 
Loading...
Thumbnail Image
Publication

Automatic and Dynamic Visualization of Process-Based Concurrent Programs

Use this identifier to reference this record.
Name:Description:Size:Format: 
Automatic and Dynamic Visualization.pdf806.38 KBAdobe PDF Download

Advisor(s)

Abstract(s)

This article 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 preprocessor, created using language processing techniques. This preprocessor embeds inspectors into the C code before its 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 paper, along with a discussion of the results achieved.

Description

Keywords

E-Learning tool System programming Concurrent programming Code instrumentation Inspector functions JSON Konva JS Canvas Python React JS BPMN

Pedagogical Context

Citation

Farina, Daniel Augusto Rodrigues; Campiolo, Rodrigo; Rufino, José; Pereira, Maria João Varanda (2024). Automatic and Dynamic Visualization of Process-Based Concurrent Programs. In 13th Symposium on Languages, Applications and Technologies (SLATE 2024). Schloss Dagstuhz, 6, p. 1-12

Organizational Units

Journal Issue