DMLtoC.xsl is an XSLT (Extensible Stylesheet Language Transformations) transform that converts a vehicle model described in DAVE-ML (an XML markup language) into a “C” language version of the same model. DAVE-ML is a markup language for describing aerodynamic vehicle models. A DAVE-ML representation of an aero-model is composed of elements and sub-elements that describe variables, variable initialization, mathematical expressions for calculating variable values, interpolation functions, and break-point values. The DMLtoC.xsl XSLT transform transforms a DAVE-ML description of an aerodynamic model into executable C code by transforming each of the model elements, as appropriate, into C/C++ variable declarations, variable initializers, assignment statements, function calls, and interpolation data structures while preserving the corresponding relationships between these elements.

DMLtoC.xsl transforms a DAVE-ML model directly into C/C++, rather than interpreting it, which has been the norm. This allows model execution to be significantly faster. Because DMLtoC.xsl is written in XSLT, for which there are many freely available processors, translating the DAVE-ML model into C/C++ is relatively easy.

This work was done by John M. Penn of L-3 Communications for Johnson Space Center. MSC-24950-1

NASA Tech Briefs Magazine

This article first appeared in the April, 2015 issue of NASA Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.