Contents
What is MPS DSL?
MPS is a tool to design domain-specific languages (DSL). It uses projectional editing which allows users to overcome the limits of language parsers, and build DSL editors, such as ones with tables and diagrams. It implements language-oriented programming.
When should I create a DSL?
Firstly, I would use a DSL when the problem domain your developing against is a widely well known domain, and some business experts of that domain have already went through great lengths to build such a DSL so that you wouldn’t have to go through the lengths yourself to solve all the problems they have already figured …
How do you develop DSL?
Let’s look at each phase in more detail.
- Decision. The development of a DSL starts with the decision to develop a DSL, to reuse an existing one, or to use a GPL.
- Analysis. In the analysis phase the problem domain is identified and domain knowledge is gathered.
- Design.
- Implementation.
- Deployment.
- Maintenance.
What does MPS stand for in supply chain?
Master Production Schedule
MPS stands for Master Production Schedule. A Master Production Schedule is the virtually exact same thing as MRP (Material Requirements Planning), the calculations are exactly the same, but there is one distinction. MPS plans items that have “direct” demand, called independent demand.
What is MRP vs MPS?
In short, an MRP, or Materials Requirements Planning, is used to determine how many materials to order for a particular item, while an MPS, or Master Production Schedule, is used to determine when the materials will be used to produce an item.
Can a custom editor be used for DSLs?
With MPS you can define a custom editor for any new language to make using DSLs simpler. Even domain experts, who are not familiar with traditional programming, can work easily in MPS, with domain-specific languages designed with their own domain-specific terminology.
How are domain specific languages used in MPs?
With MPS, however, you use the MPS framework with its specialized DSLs for language development to define language extensions. The IDE thus knows about them, so the system can provide full IDE support for the domain-specific embedded languages. What is Language-Oriented Programming?
How is DSL code integrated with regular code?
There are two fundamentally different ways of how traditional code and DSL code can be integrated. The first one keeps DSL code and regular code in separate files. The DSL code is then transformed into programming language code by an automated code generator, or alternatively the program loads the domain-specific code and executes it.
Which is an example of an external DSL?
Think of SQL as an example of an external DSL. An alternative approach mixes DSL code and general-purpose code in the same program file, leading to a much tighter integration between them. The DSL reuses the grammar and the parser of the GPL and exploits available extension options of the host language.