Special Topics in Software Engineering:

Design and Implementation of Domain-specific Languages

339.014 1KV Porubän Block Begin: 5.5.2010

The course main topics are DSL design and implementation. Domain specific languages (DSLs) are designed to be used in specifying solutions to problems in particular areas or domains. The main goal of DSL is to raise the level of abstraction of the language to a particular domain. The main implementation techniques for textual and visual DSL processing are presented in the course. The course describes design and implementation of internal and external DLSs and techniques for code generation including compiler-generator tools as well as the visual language environments. Examples of visual DSLs are provided in the Microsoft Visual Studio 2008 Domain-Specific Language Tools.


Dr. Jaroslav Porubän
Technical University of Kosice, Slovak Republic
Department of Computers and Informatics


Date Time Room
We 5.5.2010 15:30 - 18:00 UC 6
Th 6.5.2010 15:30 - 18:00 UC 5
Fr 7.5.2010 13:45 - 17:00 UC 6


  1. Domain-specific languages
  2. Language anatomy -- concrete and abstract syntax, semantics
  3. Concrete syntax -- textual and visual form
  4. Embedded DSLs
  5. Standalone DSLs
  6. Language transformations, code generation
  7. Tool support for DSL development
  8. Case Study: DSL development
  9. Student project: Simple DSL -- design and development


Students will have to do a project and send it to the lecturer. The marks for this course will be based on the project.



  1. J. Greenfield, K. Short, S. Cook, S. Kent: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, 2004, 500 pp. ISBN 0471202843.
  2. T. Stahl, M. Voelter: Model-Driven Software Development: Technology, Engineering, Management. Wiley, 2006, 444 pp. ISBN 0470025700.
  3. 3. K. Czarnecki, U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000, 832 pp. ISBN 0201309777.
  4. S. Cook, G. Jones, S. Kent, A. C. Wills: Domain Specific Development With Visual Studio DSL Tools, Addison-Wesley, 2007, 576 pp. ISBN 0321398203.