2025 Volume 42 Issue 3 Pages 3_40-3_55
Transition systems are at the heart of various software systems, such as programming language processing systems and model checkers. While formal definitions of small systems are relatively easy to describe, understand, and maintain, transition systems embedded in real-world systems can be large-scale. Thus, their extensibility and execution efficiency can be critical concerns. In this paper, we propose a DSL that can concisely describe transition systems that are also efficient and extensible enough to be embedded in practical systems. We demonstrate the extensibility of our DSL by using the series of semantics of tiny programming languages. We also compared the performance of our DSL with that of one of the previous studies and confirmed that our DSL achieved a significant improvement in execution time.