Pipit: Reactive Systems in F★ (Extended Abstract)
Reactive languages such as Lustre and Scade are used to implement safety-critical control systems; proving such programs correct and having the proved properties apply to the compiled code is therefore equally critical. We introduce Pipit, a small reactive language embedded in F★, designed for verifying control systems and executing them in real-time. Pipit includes a verified translation to transition systems; by reusing F★’s existing proof automation, certain safety properties can be automatically proved by k-induction on the transition system. Pipit can also generate imperative code in a subset of F★ which is suitable for compilation and real-time execution on embedded devices. This translation to imperative code preserves types by construction; the proof that the imperative code preserves semantics is ongoing.
(tyde23-paper3.pdf) | 433KiB |
Mon 4 SepDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:30 | |||
16:00 22mTalk | Semantic Encapsulation using Linking Types TyDe Daniel Patterson Northeastern University, Andrew Wagner Northeastern University, Amal Ahmed Northeastern University, USA DOI | ||
16:22 22mTalk | Towards Tagless Interpretation of Stratified System F (Extended Abstract) TyDe File Attached | ||
16:45 22mTalk | Types as First-Class Values in Fuzion (Extended Abstract) TyDe Fridtjof Siebert Tokiwa Software GmbH File Attached | ||
17:07 22mTalk | Pipit: Reactive Systems in F★ (Extended Abstract) TyDe Amos Robinson Australian National University, Australia, Alex Potanin Australian National University File Attached |