DocumentCode
2748880
Title
Agile Engineering of Internal Domain-Specific Languages with Dynamic Programming Languages
Author
Günther, Sebastian ; Haupt, Maximilian ; Splieth, Matthias
Author_Institution
Sch. of Comput. Sci., Univ. of Magdeburg, Magdeburg, Germany
fYear
2010
fDate
22-27 Aug. 2010
Firstpage
162
Lastpage
168
Abstract
Domain-Specific Languages (DSL) abstract from the domain entities and operations to represent domain knowledge in the form of an executable language. While they solve many of the current software development challenges, related literature claims that DSLs usually have a flaw: The high effort required to implement and use them. However, internal DSLs are developed with less effort because they are built on top of an existing programming language and can use the whole language infrastructure consisting of interpreter, compiler, or editors. This article presents an engineering process for internal DSLs. An agile process leads from analysis to design and implementation. Expressions and language capabilities are implemented using tests and a set of patterns, which provide reusable knowledge how to properly structure and design the DSL implementation. As a case study, we show how to implement a software product line configuration DSL using Ruby and Python as host languages. In summary, the proposed process and patterns facilitate the successful planning and developing of internal DSLs using dynamic programming languages as the host.
Keywords
high level languages; software engineering; Python; Ruby; agile engineering; agile process; compiler; domain entities; domain knowledge; dynamic programming languages; editors; executable language; internal domain-specific languages; interpreter; reusable knowledge; software development; software product line configuration DSL; Concrete; Context; DSL; Semantics; Software; Unified modeling language; domain-specific-languages;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Advances (ICSEA), 2010 Fifth International Conference on
Conference_Location
Nice
Print_ISBN
978-1-4244-7788-3
Electronic_ISBN
978-0-7695-4144-0
Type
conf
DOI
10.1109/ICSEA.2010.32
Filename
5615143
Link To Document