Saved in:
Bibliographic Details
Main Author: Malik, Avinash
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2508.01199
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913971956613120
author Malik, Avinash
author_facet Malik, Avinash
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2508_01199
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Efficient compilation and execution of synchronous programs via type-state programming
Malik, Avinash
Programming Languages
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.
title Efficient compilation and execution of synchronous programs via type-state programming
topic Programming Languages
url https://arxiv.org/abs/2508.01199