| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 806.38 KB | Adobe PDF |
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
