We've just finished a draft of a new paper describing the source language of Acumen and how it is compiled. The PDF can be downloaded from the links on the right of the page. Here's the abstract:
"Cyber-physical systems comprise digital components that directly interact with a physical environment. Specifying the behavior desired of such systems requires analytical modeling of physical phenomena. Similarly, testing them requires simulation of continuous systems. While numerous tools support later stages of developing simulation codes, there is still a large gap between analytical modeling and building running simulators. This gap significantly impedes the ability of scientists and engineers to develop novel cyber-physical systems.
We propose bridging this gap by automating the mapping from analytical models to simulation codes. Focusing on mechanical systems as an important class of models of physical systems, we study the form of analytical models that arise in this domain, along with the process by which domain experts map them to executable codes. We show that the key steps needed to automate this mapping are 1) a light-weight analysis to partially direct equations, 2) a binding-time analysis, and 3) an efficient implementation of symbolic differentiation. As such, our work pinpoints and highlights a number of limitations in the state of the art in tool support of simulation, and shows how some of
these limitations can be overcome."
Enjoy!