🤖 AI Summary
To address the challenges of modeling time-triggered processes communicating via FIFOs in asynchronous reactive embedded systems—and the lack of side-effect support in conventional synchronous dataflow languages—this paper proposes Mimosa, a two-layer domain-specific language integrating time-triggered semantics with asynchronous coordination. Methodologically, Mimosa extends the Lustre dataflow syntax with explicit side-effect semantics and establishes a unified formal semantics framework comprising a process layer (textual rewriting) and a coordination layer (graphical rewriting). A prototype toolchain supports parsing, semantic interpretation, and simulation-based verification. Experimental evaluation demonstrates that Mimosa enables rigorous modeling of asynchronous temporal behaviors with side effects, achieving substantially greater expressiveness and semantic verifiability compared to existing synchronous dataflow languages.
📝 Abstract
This paper introduces the Mimosa language, a programming language for the design and implementation of asynchronous reactive systems, describing them as a collection of time-triggered processes which communicate through FIFO buffers. Syntactically, Mimosa builds upon the Lustre data-flow language, augmenting it with a new semantics to allow for the expression of side-effectful computations, and extending it with an asynchronous coordination layer which orchestrates the communication between processes. A formal semantics is given to both the process and coordination layer through a textual and graphical rewriting calculus, respectively, and a prototype interpreter for simulation is provided.