Browsing by Author "Farina, Daniel Augusto Rodrigues"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
- Automatic and Dynamic Visualization of Process-Based Concurrent ProgramsPublication . Farina, Daniel Augusto Rodrigues; Campiolo, Rodrigo; Rufino, José; Pereira, Maria JoãoThis 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.
- ForkSim: animation of programs to support the learning of concurrent programmingPublication . Farina, Daniel Augusto Rodrigues; Pereira, Maria João; Rufino, José; Campiolo, RodrigoThis 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.
