NSF AI Disclosure Required
NSF requires disclosure of AI tool usage in proposal preparation. Ensure you disclose the use of FindGrants' AI drafting in your application.
CISE-ANR: CCF: Retrofit: Bringing Esterel out of its Shell
NSF
About This Grant
Synchronous programming languages offer order-of-magnitude improvements in reliability and responsiveness in software systems. They have been used in safety-critical systems such as the virtual display systems of civilian and military aircraft at Dassault Aviation, the control software of the N4 nuclear power plants, and the Airbus A320 fly-by-wire system, among others. The success is largely due to the radically different way these programming languages work. As one example, built into these programming languages is the notion of a "reaction" that is completely isolated from the environment, which makes reasoning about the correctness of the program significantly easier than it is in conventional programming languages. Despite the significant success in these safety-critical domains, most programmers remain unaware of and unable to use these programming languages because the languages are deeply tied to specific environments, requiring specialized tools that do not work in every context. In this project, the investigators plan to bring the power of synchronous programming to general-purpose programming systems by solving technical challenges that currently limit the adoption of these important languages. The major technical challenge stems from the radically different semantics that synchronous languages have. This different semantics has led to an entirely different compiler and tool-chain for programs using these languages. The investigators have two different implementation strategies, specifically for Esterel-inspired programming languages that both offer the opportunity of a connection to conventional programming languages. These techniques allow reuse of the tool-chain and existing libraries in the conventional languages' ecosystem while still offering the advantages of the synchronous programming model. One implementation relies on existing ideas for compiling Esterel, but views Esterel programs as data structures in the conventional language, in a shallow embedding manner, invoking the Esterel compiler at the hosts’ runtime to interpret and execute Esterel code. The other implementation is novel and based on a deep embedding, relying on multi-shot continuations. The project's novelties are a new semantics for the continuation-based approach to Esterel as well as novel debugging techniques. The project's impacts are to bring Esterel to a modern generation of programmers, hopefully eventually leading to more reliable and robust software. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
Focus Areas
Eligibility
How to Apply
Up to $454K
2028-06-30
One-time $749 fee · Includes AI drafting + templates + PDF export
AI Requirement Analysis
Detailed requirements not yet analyzed
Have the NOFO? Paste it below for AI-powered requirement analysis.