Files
logseq/pages/hls__MLE23_paper_2_1691614458443_0.md
2025-06-05 22:07:12 +02:00

109 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
file:: [MLE23_paper_2_1691614458443_0.pdf](../assets/MLE23_paper_2_1691614458443_0.pdf)
file-path:: ../assets/MLE23_paper_2_1691614458443_0.pdf
- Metamodel-based DSL development in language workbenches like Xtext allows language engineers to focus more on metamodels and domain concepts rather than grammar details.
ls-type:: annotation
hl-page:: 1
hl-color:: green
id:: 64d5f222-1145-4bf7-8e85-e9c0f0e49d81
- GrammarOptimizer
ls-type:: annotation
hl-page:: 1
hl-color:: green
id:: 64d5f235-7b01-4cfc-9caf-a8186d797fe9
- In this paper, we present our vision for and current progress towards a language workbench that integrates GrammarOptimizers grammar optimization rules to support rapid prototyping and evolution of metamodel-based language
ls-type:: annotation
hl-page:: 1
hl-color:: purple
id:: 64d5f24a-954c-4359-b5b4-54612557795e
- inference of a grammar based on examples from model instances and offers a selection of language styles.
ls-type:: annotation
hl-page:: 1
hl-color:: green
id:: 64d5f2a6-5c44-4c2b-a567-dba7838e95c7
- We refer to this DSL development approach as metamodel-based development. To our knowledge, the only available workbench supporting this approach is Xtext [3].
ls-type:: annotation
hl-page:: 1
hl-color:: green
id:: 64d5f3e0-fcc7-49e5-a17c-e026e0c9cc4a
- Some of these elements are necessary, but the grammars typically become lengthy and rely on deep nesting, making it cumbersome to write code in the resulting DSL
ls-type:: annotation
hl-page:: 1
hl-color:: green
id:: 64d5f443-aa8e-4a45-90aa-9882e48eba1c
- he generated grammar often requires manual adjustments to be effectively used—we call this adjustment grammar optimization.
ls-type:: annotation
hl-page:: 1
hl-color:: green
id:: 64d5f452-f5a7-4718-9fe0-2ebe80853d40
- Therefore, we argue that there is today no language workbench that allows for metamodel-based DSL development, while also supporting rapid prototyping.
ls-type:: annotation
hl-page:: 1
hl-color:: blue
id:: 64d5f476-9a2f-45b0-a9dc-9d1f16f47a28
- Our goal is for the envisioned language workbench to facilitate the rapid prototyping of languages in iterative cycles of engineering, reducing manual work, shortening development time, and improving efficiency
ls-type:: annotation
hl-page:: 2
hl-color:: blue
id:: 64d5f4e7-f553-48f9-a1b3-028b634ef241
hl-stamp:: 1691785324558
- GrammarOptimizer
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 64d5f599-feb8-4740-bb16-e87e2a4c88c6
- 31 lines of optimization rules
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 64d5f5c0-9ad1-4f9e-b24d-e6de57a0be1e
- removing the keyword shortName
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 64d698b2-6fbc-434d-9c65-b3341987bd4e
- GrammarOptimizer leads to a substantial manual overhead
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 64d69905-e18e-4e09-a94a-8b18fa8f4e7b
- MetaEdit
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 64d734d2-3cf4-49ae-add6-893337469a4a
- MetaEdit+ has evolved into one of the most comprehensive language workbenche
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 64d734d9-2fd2-443c-b04d-912a84f5286a
- Erdweg listed a total of 34 features covering various aspects, including notation, semantics, validation, testing, composability, editing mode, syntactic services, and semantic services. From their report, it can be observed that MetaEdit+ now covers the majority of these features, even supporting symbolic notation, which is not typically supported by many other language workbenches.
ls-type:: annotation
hl-page:: 2
hl-color:: purple
id:: 64d734ea-99bc-4513-af22-2cd22ba22a30
- xceptions of graphical notation, free form, and live translation.
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 64d73507-9f97-460a-a8bc-480c89e31b51
- it does not support DSL debugging, projectional editing, or quick fixes
ls-type:: annotation
hl-page:: 2
hl-color:: purple
id:: 64d73517-c1fa-4f12-96ed-99c2348cd55f
- If the language engineer finds that the grammar does not reach the desired state while verifying models in the DSL editor, she will iterate back to the manual modification of the grammar. This iterative process continues until the language engineer is satisfied with the grammar.
ls-type:: annotation
hl-page:: 3
hl-color:: purple
id:: 64d735c6-9c25-4c7a-9382-71891d64fb0d
- rammarOptimizer can run as a standalone Eclipse plugin
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 64d736b3-ed21-427e-a0ec-ce5135da2804
- configure optimization rules through a graphical user interface, integrated into the development environment they are familiar with.
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 64d737e9-514e-4625-862e-3a7eff7f91ca