Seminars & Colloquia
CTO, Semantic Designs
"DMS: A Program Transformation Tool for implementing DSLs that uses DSLs"
Tuesday April 13, 2010 01:30 PM
Location: 3211, EBII NCSU Centennial Campus
(Visitor parking instructions)
In this talk, I will describe DMS, a program transformation system. (http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html) DMS has been used to carry out large-scale commercial program transformations, including fully automated conversion of the mission software in the B-2 Stealth Bomber from JOVIAL to C. (http://www.semanticdesigns.com/Products/Services/NorthropGrummanB2.html)
DMS that was inspired by two key ideas: domain specific languages, and software design capture and replay (DMS == 'Design Maintenance System') to enable incremental software development and revision. While software reuse is a good idea, it doesn't provide the most leverage one might get in building software. The idea of program transformations derives from the notion that one should reuse 'how to build' knowledge rather than 'code reuse', and apply transformations to specifications to derive code. The DSL perspective comes from the Draco paradigm of cooperating DSLs to handle multiple levels of abstraction; this can be interpreted as a kind of metaprogramming. The design capture/replay idea tries to cache the design decisions to avoid the cost of deciding how to reimplement when the specifications are changed. DMS internally uses DSLs for lexing, parsing, attribute grammar evaluation, pretty printing, source-to-source transformation, and an underlying parallel programming language PARLANSE.
The talk will briefly visit each of these topics, with the intention of sparking discussion about DSLs in general.
For details, see http://www.semdesigns.com/Company/People/idbaxter/
Host: Tao Xie, Computer Science