Efficient compilation and execution of synchronous programs via type-state programming
Avinash Malik

TL;DR
This paper presents a new linear time compilation method for synchronous programs that significantly improves execution speed and maintains small binary size, addressing the state space explosion problem in FSM-based compilation.
Contribution
It introduces a novel linear time compilation technique using graph rewrite rules and type-state encoding, enabling faster execution of synchronous programs.
Findings
Compilation time is comparable to existing methods.
Generated binaries are smaller and faster.
Execution times are 31-60% faster than state-of-the-art compilers.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Formal Methods in Verification · Real-Time Systems Scheduling
