Debugging Behavioral Programs Using [email protected]

Tom Felber, Sebastian Götz · 2024

Behavioral programming is a paradigm that allows to develop software based on scenarios and use cases. Behavior is implemented in asynchronous threads (b-threads) that run concurrently with each other and use event-based mechanisms to communicate and effect the overall system state. While the approach enables a natural and incremental development process, with a growing number of threads it gets increasingly harder to comprehend the system's state changes. In this paper, we address this problem with a debugger for behavioral programs. The debugger increases program comprehension by providing a clear overview of the system state as well as debugging-specific control capabilities such as breakpoints and advanced techniques like time-traveling and trace-comparison. For this, we utilize a runtime model of the system's state that is causally connected to the running system. We evaluate our approach using two case studies from literature.

Read the paper · More papers on PaperTik