🤖 AI Summary
Existing Lustre clock calculi struggle to concisely express the dynamic control flow inherent in machine learning (ML) training, resulting in inefficient compilation and cumbersome modeling. This work proposes a conservatively extended clock calculus that, for the first time, integrates relaxed activation analysis into dataflow networks, naturally supporting conditional execution and loop states. By preserving the ability to statically verify activity and memory bounds, the proposed approach significantly enhances both the expressiveness and compilation performance of ML models deployed in reactive systems, while maintaining formal guarantees essential for safety-critical applications.
📝 Abstract
Previous work has shown that the simple dataflow primitives of the Lustre language allow the natural, semantically unambiguous, and compact representation of machine learning (ML) applications, including models featuring complex conditional execution and recurrent state. The Lustre clock calculus is responsible for the static determination of important properties such as liveness (absence of deadlocks) and static memory bounds. Yet existing clock calculi are tailored for embedded control applications. We show they do not cater for the representation of control patterns commonly found in training algorithms, resulting in cumbersome expressions and inefficient compilation. We propose a conservative extension of Lustre's clock calculus addressing this limitation, thereby facilitating the embedding of ML models in reactive applications.