Domain Specific Languages (DSL) and Domain-Driven Design (DDD) are two related concepts that have been kicking around the edges of the software engineering world for a few years, but have recently started to move much more towards center stage. A DSL is a language specially geared to working within a particular area of interest: it might be a vertical domain such as telephone design, or a horizontal one like workflow. Some well-known examples of DSLs...