Like model-based approaches, domain-specific languages (DSL) are becoming increasingly popular in modern development projects.
The use of DSL-based technologies enables completely new functionalities to be implemented in software development projects, since this makes complex logical relationships machine-readable and can therefore be processed automatically.
Domain-specific languages (DSL).
A DSL is always the opposite of a universal programming language, such as C ++ or Java.
It can only be used for a very specific and well-defined domain, so it always focuses on a very specific problem.
By modeling a formal language, complex issues can be modeled in a machine-readable manner.
The Meta Programming System (MPS) from JetBrains has established itself as one of the most professional and modern development frameworks around the subject complex of domain-specific languages.
This framework impresses with its concept, which allows working in the form of projecting editors directly on the underlying language model (the abstract syntax tree).
This completely eliminates the need for formal grammars, lexers, scanners and parsers, which are always required in traditional software development for the interpretation of domain-specific languages and which have to be implemented and maintained with great effort.
Since the tool chain is also based on the Java programming language,
DSL-specific functionalities can also be expanded programmatically at any time using MPS.
Alternatively, language models generated with MPS can be reused directly in existing applications.
Professional MPS development.
Our experienced software architects will be happy to work with you to design algorithms and modern software solutions based on domain-specific languages.
By using powerful features of the MPS tool chain, you benefit in a special way from the possibilities of new and innovative technologies for your software development projects.
We would be happy to support you with regard to the design and architecture of your applications as well as with the implementation of your software components in MPS.