Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization
In model-driven engineering, developing a textual domain-specific language (DSL) involves constructing a meta-model, which defines an underlying abstract syntax, and a grammar, which defines the concrete syntax for the DSL. Language workbenches such as Xtext allow the grammar to be automatically gen...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | |
container_start_page | |
container_title | |
container_volume | |
creator | Zhang, Weixing Holtmann, Jörg Strüber, Daniel Hebig, Regina Steghöfer, Jan-Philipp |
description | In model-driven engineering, developing a textual domain-specific language
(DSL) involves constructing a meta-model, which defines an underlying abstract
syntax, and a grammar, which defines the concrete syntax for the DSL. Language
workbenches such as Xtext allow the grammar to be automatically generated from
the meta-model, yet the generated grammar usually needs to be manually
optimized to improve its usability. When the meta-model changes during rapid
prototyping or language evolution, it can become necessary to re-generate the
grammar and optimize it again, causing repeated effort and potential for
errors. In this paper, we present GrammarOptimizer, an approach for optimizing
generated grammars in the context of meta-model-based language evolution. To
reduce the effort for language engineers during rapid prototyping and language
evolution, it offers a catalog of configurable grammar optimization rules. Once
configured, these rules can be automatically applied and re-applied after
future evolution steps, greatly reducing redundant manual effort. In addition,
some of the supported optimizations can globally change the style of concrete
syntax elements, further significantly reducing the effort for manual
optimizations. The grammar optimization rules were extracted from a comparison
of generated and existing, expert-created grammars, based on seven available
DSLs. |
doi_str_mv | 10.48550/arxiv.2401.17351 |
format | Article |
fullrecord | <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_2401_17351</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2401_17351</sourcerecordid><originalsourceid>FETCH-LOGICAL-a671-f785d9277309a181c1c0970504bcf147b587f33705a3f52ab4bd19b5450fcf733</originalsourceid><addsrcrecordid>eNotj0FOwzAURL1hgQoHYFVfIMGO7TpZVlUpSEFF0H30HceppSS2XKdQTk_SshpppDeah9ATJSnPhSDPEH7sOc04oSmVTNB7dPwavXch2qHF702EpHe66RIFp0bjEoZ2hLbB27PrxmjdgGHQ-BO81fgjuOjixc_kt41HvB6j6yFO3C5A30PAex9tb39hJh_QnYHu1Dz-5wIdXraHzWtS7ndvm3WZwErSxMhc6CKTkpECaE5rWpNCEkG4qg3lUolcGsamBpgRGSiuNC2U4IKY2kjGFmh5m72qVj7Y6cilmpWrqzL7AyVUUnM</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization</title><source>arXiv.org</source><creator>Zhang, Weixing ; Holtmann, Jörg ; Strüber, Daniel ; Hebig, Regina ; Steghöfer, Jan-Philipp</creator><creatorcontrib>Zhang, Weixing ; Holtmann, Jörg ; Strüber, Daniel ; Hebig, Regina ; Steghöfer, Jan-Philipp</creatorcontrib><description>In model-driven engineering, developing a textual domain-specific language
(DSL) involves constructing a meta-model, which defines an underlying abstract
syntax, and a grammar, which defines the concrete syntax for the DSL. Language
workbenches such as Xtext allow the grammar to be automatically generated from
the meta-model, yet the generated grammar usually needs to be manually
optimized to improve its usability. When the meta-model changes during rapid
prototyping or language evolution, it can become necessary to re-generate the
grammar and optimize it again, causing repeated effort and potential for
errors. In this paper, we present GrammarOptimizer, an approach for optimizing
generated grammars in the context of meta-model-based language evolution. To
reduce the effort for language engineers during rapid prototyping and language
evolution, it offers a catalog of configurable grammar optimization rules. Once
configured, these rules can be automatically applied and re-applied after
future evolution steps, greatly reducing redundant manual effort. In addition,
some of the supported optimizations can globally change the style of concrete
syntax elements, further significantly reducing the effort for manual
optimizations. The grammar optimization rules were extracted from a comparison
of generated and existing, expert-created grammars, based on seven available
DSLs.</description><identifier>DOI: 10.48550/arxiv.2401.17351</identifier><language>eng</language><subject>Computer Science - Programming Languages ; Computer Science - Software Engineering</subject><creationdate>2024-01</creationdate><rights>http://creativecommons.org/licenses/by-nc-nd/4.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,885</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/2401.17351$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.2401.17351$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Zhang, Weixing</creatorcontrib><creatorcontrib>Holtmann, Jörg</creatorcontrib><creatorcontrib>Strüber, Daniel</creatorcontrib><creatorcontrib>Hebig, Regina</creatorcontrib><creatorcontrib>Steghöfer, Jan-Philipp</creatorcontrib><title>Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization</title><description>In model-driven engineering, developing a textual domain-specific language
(DSL) involves constructing a meta-model, which defines an underlying abstract
syntax, and a grammar, which defines the concrete syntax for the DSL. Language
workbenches such as Xtext allow the grammar to be automatically generated from
the meta-model, yet the generated grammar usually needs to be manually
optimized to improve its usability. When the meta-model changes during rapid
prototyping or language evolution, it can become necessary to re-generate the
grammar and optimize it again, causing repeated effort and potential for
errors. In this paper, we present GrammarOptimizer, an approach for optimizing
generated grammars in the context of meta-model-based language evolution. To
reduce the effort for language engineers during rapid prototyping and language
evolution, it offers a catalog of configurable grammar optimization rules. Once
configured, these rules can be automatically applied and re-applied after
future evolution steps, greatly reducing redundant manual effort. In addition,
some of the supported optimizations can globally change the style of concrete
syntax elements, further significantly reducing the effort for manual
optimizations. The grammar optimization rules were extracted from a comparison
of generated and existing, expert-created grammars, based on seven available
DSLs.</description><subject>Computer Science - Programming Languages</subject><subject>Computer Science - Software Engineering</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotj0FOwzAURL1hgQoHYFVfIMGO7TpZVlUpSEFF0H30HceppSS2XKdQTk_SshpppDeah9ATJSnPhSDPEH7sOc04oSmVTNB7dPwavXch2qHF702EpHe66RIFp0bjEoZ2hLbB27PrxmjdgGHQ-BO81fgjuOjixc_kt41HvB6j6yFO3C5A30PAex9tb39hJh_QnYHu1Dz-5wIdXraHzWtS7ndvm3WZwErSxMhc6CKTkpECaE5rWpNCEkG4qg3lUolcGsamBpgRGSiuNC2U4IKY2kjGFmh5m72qVj7Y6cilmpWrqzL7AyVUUnM</recordid><startdate>20240130</startdate><enddate>20240130</enddate><creator>Zhang, Weixing</creator><creator>Holtmann, Jörg</creator><creator>Strüber, Daniel</creator><creator>Hebig, Regina</creator><creator>Steghöfer, Jan-Philipp</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20240130</creationdate><title>Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization</title><author>Zhang, Weixing ; Holtmann, Jörg ; Strüber, Daniel ; Hebig, Regina ; Steghöfer, Jan-Philipp</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a671-f785d9277309a181c1c0970504bcf147b587f33705a3f52ab4bd19b5450fcf733</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Computer Science - Programming Languages</topic><topic>Computer Science - Software Engineering</topic><toplevel>online_resources</toplevel><creatorcontrib>Zhang, Weixing</creatorcontrib><creatorcontrib>Holtmann, Jörg</creatorcontrib><creatorcontrib>Strüber, Daniel</creatorcontrib><creatorcontrib>Hebig, Regina</creatorcontrib><creatorcontrib>Steghöfer, Jan-Philipp</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Zhang, Weixing</au><au>Holtmann, Jörg</au><au>Strüber, Daniel</au><au>Hebig, Regina</au><au>Steghöfer, Jan-Philipp</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization</atitle><date>2024-01-30</date><risdate>2024</risdate><abstract>In model-driven engineering, developing a textual domain-specific language
(DSL) involves constructing a meta-model, which defines an underlying abstract
syntax, and a grammar, which defines the concrete syntax for the DSL. Language
workbenches such as Xtext allow the grammar to be automatically generated from
the meta-model, yet the generated grammar usually needs to be manually
optimized to improve its usability. When the meta-model changes during rapid
prototyping or language evolution, it can become necessary to re-generate the
grammar and optimize it again, causing repeated effort and potential for
errors. In this paper, we present GrammarOptimizer, an approach for optimizing
generated grammars in the context of meta-model-based language evolution. To
reduce the effort for language engineers during rapid prototyping and language
evolution, it offers a catalog of configurable grammar optimization rules. Once
configured, these rules can be automatically applied and re-applied after
future evolution steps, greatly reducing redundant manual effort. In addition,
some of the supported optimizations can globally change the style of concrete
syntax elements, further significantly reducing the effort for manual
optimizations. The grammar optimization rules were extracted from a comparison
of generated and existing, expert-created grammars, based on seven available
DSLs.</abstract><doi>10.48550/arxiv.2401.17351</doi><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | DOI: 10.48550/arxiv.2401.17351 |
ispartof | |
issn | |
language | eng |
recordid | cdi_arxiv_primary_2401_17351 |
source | arXiv.org |
subjects | Computer Science - Programming Languages Computer Science - Software Engineering |
title | Supporting Meta-model-based Language Evolution and Rapid Prototyping with Automated Grammar Optimization |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-23T08%3A18%3A58IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Supporting%20Meta-model-based%20Language%20Evolution%20and%20Rapid%20Prototyping%20with%20Automated%20Grammar%20Optimization&rft.au=Zhang,%20Weixing&rft.date=2024-01-30&rft_id=info:doi/10.48550/arxiv.2401.17351&rft_dat=%3Carxiv_GOX%3E2401_17351%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |