  Designing a new domain specific language is as any other complex task
sometimes error-prone and usually time consuming, especially if the language
shall be of high-quality and comfortably usable. Existing tool support focuses
on the simplification of technical aspects but lacks support for an enforcement
of principles for a good language design. In this paper we investigate
guidelines that are useful for designing domain specific languages, largely
based on our experience in developing languages as well as relying on existing
guidelines on general purpose (GPLs) and modeling languages. We defined
guidelines to support a DSL developer to achieve better quality of the language
design and a better acceptance among its users.
