Domain-specific languages

Thesis title: Domain-specific languages
Author: Jasný, Vojtěch
Thesis type: Diploma thesis
Supervisor: Pavlíček, Luboš
Opponents: Pecinovský, Rudolf
Thesis language: English
Abstract:
The topic of the thesis are domain-specific languages (DSL) and their use in software development. The target audience are developers interested in learning more about this progressive area of software development. It starts with a necessary theoretical introduction to programming languages. Then, a classification of DSLs is given and software development methodologies based on DSLs are described, notably Language Oriented Programming and Intentional Programming. Another important piece in construction of domain-specific langauges -- the language workbench is also described. In the next chapter, several important tools for DSL creation are presented, described and compared. Each of the tools represents a different possible approach to designing DSLs -- textual, projectional or graphical. The last chapter of the thesis contains a practical example of a DSL implementation in the Meta Programming System by Jet- Brains and Xtext from Eclipse. A domain-specific language for the description of questionnaires is designed from scratch and a code generator for that language is created. A comparison of the DSL based technique to traditional software development techniques is given and the tools used are compared.
Keywords: domain; domain-specific modelling; language oriented programming; language workbenches; domain-specific languages; intentional programming
Thesis title: Domain-specific languages
Author: Jasný, Vojtěch
Thesis type: Diplomová práce
Supervisor: Pavlíček, Luboš
Opponents: Pecinovský, Rudolf
Thesis language: English
Abstract:
Diplomová práce se věnuje doménově specifickým jazykům (DSL) a jejich užití v oblasti vývoje software. Cílovým publikem by pak měli být zejména vývojáři, kteří se chtějí dozvědět více o tomto progresivním novém směru vývoje software. Práce obsahuje nutný teoretický úvod do oblasti programovacích jazyků a jejich vývoje. Dále je nastíněna klasifikace těchto jazyků a jsou popsány metodologie založené na DSL, zejména Language Oriented Programming a Intentional Programming. Je vysvětlen důležitý pojem pro vývoj DSL -- typ nástroje zvaný language workbench. Následně se práce přesouvá k popisu dostupných nástrojů pro tvorbu DSL. Každý z popisovaných nástrojů reprezentuje rozdílný přístup k vývoj DSL -- projekční, textový nebo grafický. Poslední kapitola diplomové práce obsahuje praktický příklad implementace DSL ve dvou nástrojích: Meta Programming System od firmy JetBrains a Xtext, který je součástí projektu Eclipse. Navrhovaný DSL je určen k popisu strukturovaných dotazníků. Technika řešení založená na DSL je porovnávána s tradičními metodikami a je provedeno srovnání obou použitých nástrojů.
Keywords: intentional programming; domain-specific modelling; language oriented programming; doména; domain-specific jazyky; language workbench

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 17. 2. 2009
Date of submission: 1. 12. 2009
Date of defense: 11. 2. 2010
Identifier in the InSIS system: https://insis.vse.cz/zp/18827/podrobnosti

Files for download

    Last update: