Experience Report: Playing the DSL Card

Experience Report: Playing the DSL Card, A Domain Specific Language for Component Configuration

Mark P. Jones, In Proceedings of the 13th ACM International Conference on Functional Programming (ICFP '08), Victoria, British Columbia, Canada, September 22, 2008.


Abstract:

This paper describes our experience using a functional language, Haskell, to build an embedded, domain-specific language (DSL) for component configuration in large-scale, real-time, embedded systems. Prior to the introduction of the DSL, engineers would describe the steps needed to configure a particular system in a hand-written XML document. In this paper, we outline the application domain, give a brief overview of the DSL that we developed, and provide concrete data to demonstrate its effectiveness. In particular, we show that the DSL has several significant benefits over the original, XML-based approach including reduced code size, increased modularity and scalability, and detection and prevention of common defects. For example, using the DSL, we were able to produce clear and intuitive descriptions of component configurations that were sometimes less than 1/30 of the size of the original XML.


Available by http in pdf.