Date: May 24, 2002, 11am
Place: Columbia
In this talk, I will describe recent efforts to build a domain specific language (DSL) for describing large-scale, distributed, real-time, computer systems. In particular, the DSL is targeted at describing the kind of component-based software that is used in aircraft, and its design is being shaped by interactions with engineers and researchers at Boeing.
In the existing Boeing system, component configurations are described by hand-written XML data files. Our DSL allows equivalent XML files to be generated automatically from higher-level descriptions, enabling domain experts to express their ideas quickly and concisely, to work more productively, to avoid certain kinds of coding error, and to tackle more complex problems than might otherwise be possible. For example, our DSL has been used to produce a clear and modular description of the largest example in the current Boeing system that is approximately 25 times smaller than the original XML version.
Those familiar with previous work on domain specific languages will not be surprised to learn that our DSL is built on the foundation of a functional language (in this case, the Haskell subset of Timber). In an attempt to keep them interested, I will also reflect on the effectiveness and the challenges of using functional languages in this way.
[This talk describes work carried out in the context of Project Timber, which is sponsored by DARPA as part of the PCES program.]