arXiv · 2508.01199
Efficient compilation and execution of synchronous programs via type-state programming
Abstract
Synchronous programs are used extensively in implementation of safety critical embedded software. Imperative synchronous programming languages model multiple Finite State Machines (FSMs) executing in lockstep at logical clock ticks. The synchronous view of time along with the FSM based design enables easier formal verification. The synchronous composition of multiple FSMs, during compilation, results in the well known state space explosion problem. Hence, efficiently compiling imperative synchronous programs into small and fast executables is challenging. This paper introduces a novel linear time compilation technique for automata based compilation of synchronous programs. Graph based rewrite rules for kernel programming constructs are introduced. A linear time algorithm applies these rules to produce a FSM. The FSM is then encoded into a type-state program using template meta-programming in C++. Experimental results show that the compilation time and generated binary size is comparable, while the execution times are on average 31-60% faster than current state-of-the-art compilers.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Avinash Malik. 2025-08-02. Efficient compilation and execution of synchronous programs via type-state programming. https://arxiv.org/abs/2508.01199
Cite the original work for its findings. Save a collection to share your selection of sources.