You are here: Home / RTLWS 1999-2017 / 
2023-04-01 - 15:39

Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010

Eighth Real-Time Linux Workshop on October 12 to 15, 2006, in Lanzhou, Gansu, P.R.China

Numerical Model Compiler:
A Design for Generating Real-Time Numerical Simulation Code

Ivan Raikov and Robert Butera
Georgia Institute of Technology
Atlanta, Georgia 30332, USA

This paper presents the design of a domain-specific language processor that takes in a collection of first-order algebraic, differential or difference equations as input, and produces an executable that performs a real-time numerical simulation of the model described by these equations.

Domain-specific languages are a general software engineering approach that in this case allow for easy encoding of a wide variety of target APIs, and for clean encapsulation and separation of the user model from the surrounding operating system and simulation environment.

A key feature of the design is the intermediate language, which is a variant of lambda calulus augmented with semantics for memory allocation that allow the compiler to generate a static representation of the heap used by the model, and guarantee that all memory operations throughout the simulation are constant-time. The design outlined here uses type-preserving transformations that guarantee that given a syntactically correct input model, the generated output code is type correct, and by extension memory safe.

The paper concludes by showing an example of extending the user input language with support for asynchronous events, and using the example as way of anecdotal evidence for the extensibility and flexibility of the system.


Valid XHTML 1.0 Transitional