Analysis of modern software solutions for creating problem-oriented programming languages


  • Ihor Baklan
  • Oleksandr Ocheretianyi





Recent research and publications.Support systems for designing programming languages (SPPMP) as a means to create problem-oriented languages were popularized by Martin Fowler in 2010. Such tools provide efficient design, reuse, and support for languages and their integrated development tools. SPPMPs enable a wide range of engineers to develop new languages and, as a result, create a new level of language engineering where sets of syntactically and semantically integrated languages can be developed with relatively little effort. This can lead to the emergence of programming environments with many paradigms and metalanguages focused on creating a language [2, 3], which can solve important problems of software engineering.
The aim of the study. Thus, there is a need to study the effectiveness of existing systems to support the design of programming languages to obtain quality criteria for the design process of problem-oriented programming languages. You also need to find out which design support systems best support the effective development of problem-oriented languages.
Main material of the study.To make a qualitative comparison of existing systems for supporting the design of programming languages, it is necessary to define criteria for comparison. We propose to compare these tools according to the requirements that classify the product as modern software. Our main parameters are: the ability to create problem-oriented languages, support for integrated development tools, support for language combination, support for making changes to the created language, providing basic language testing capabilities, integration with other software engineering tools. A separate point that is an indicator of the high level of development of design support systems is the availability of metrics for evaluating the initial result. This feature is absent for classical integrated development tools as their main focus is on software development without domain domain specification. This situation makes any comparison of the resulting products impossible because for a web application the server response in 3 seconds may be too high and for a web platform for processing large data it is the shortest server response time. The criteria described above will be used to evaluate the following SPPMP: tef tcs and emf.
Conclusions. The study compares the support systems for designing programming languages that are focused on working with problem-oriented languages. The advantages of these systems are the focus on working with specific areas to describe the notations of programming languages. The systems allow you to create the necessary tools to work with the designed programming languages and provide basic improvements in the design process. The disadvantages of these systems are the lack of similarity in the operation of systems and products that the developer receives at the exit. Another important drawback is the lack of any metrics for assessing the quality of created languages.


M. Fowler, Domain Specific Languages (1st. ed.). Addison-Wesley Professional, 2010,552 p.

S. Dmitriev, Language oriented programming: The next programming paradigm. OnBoard, Online Magazine, 2005, 1-14.

M. P. Ward. Language-oriented programming. Software – Concepts and Tools,1995, 15:147–161.

M. Mernik, J. Heering, A. M. Sloane. When and how to develop domain-specific languages. ACM Comput. Surv.,2005, 37(4):316–344.

L. C. L. Kats , E. Visser. The Spoofax language workbench: Rules for declarative specification of languages and IDEs. OOPSLA ACM.2010, 444–463.

Z. Hemel,E. Visser. Declaratively programming the mobile web with Mobl. OOPSLA, ACM,2011,695–712.

J. van den Bos ,T. van der Storm. Bringing domain-specific languages to digital forensics. ICSE SEIP, ACM,2011, 671–680.

Scheidgen, Markus . Textual Modelling Embedded into Graphical Modelling. Model Driven Architecture - Foundations and Applications,2008,153-168.

Jouault F, Bézivin J, Kurtev I.. TCS: A DSL for the specification of textual concrete syntaxes in model engineering. Proceedings of the 5th International Conference on Generative Programming and Component Engineering, 2006. 249-254.

Heidenreich F., Johannes J., Karol S., Seifert M., Wende C. Model-Based Language Engineering with EMFText. Generative and Transformational Techniques in Software Engineering. Springer. 2011.322-345.