Tool-supported multi-level language evolution

Elmar Jürgens and Markus Pizka.

Tool-supported multi-level language evolution.

In Tomi Männistö, Eila Niemelä, and Mikko Raatikainen, editors, Software and Services Variability Management Workshop - Concepts, Models and Tools, number 3 in Helsinki University of Technology Software Business and Engineering Institute Research Reports, pages 48-67, Helsinki, Finland, April 2007.

Abstract

Through their high degree of specialization, domain specific languages (DSLs) promise higher productivity and thus shorter development time and lower costs than general purpose programming languages. Since many domains are subject to continuous evolution, the associated DSLs inevitably have to evolve too, to retain their value. However, the continuous evolution of a DSL itself can be very expensive, since its compiler as well as existing words (i. e. programs) have to be adapted according to the changes to a DSL’s specification. These maintenance costs compromise the expected reduction of development costs and thus limit the success of domain specific languages in practice. This paper proposes a concept and a tool for the evolutionary development of domain specific languages. It provides language evolution operations that automate the adaptation of the compiler and existing DSL programs according to changes to the DSL specification. This significantly reduces the cost of DSL maintenance and paves the ground for bottom-up development of domain specific languages.