MontiCore: a framework for compositional development of domain specific languages

MontiCore: a framework for compositional development of domain specific languages
复制标题

DOI:
10.1007/s10009-010-0142-1
复制
发表时间:
2010-09
影响因子:
1.5
通讯作者:
Holger Krahn;Bernhard Rumpe;Steven Völkel
Holger Krahn;Bernhard Rumpe;Steven Völkel
中科院分区:
计算机科学3区
文献类型:
--
作者:
Holger Krahn;Bernhard Rumpe;Steven Völkel

文献摘要

被引文献

相似文献

领域特定语言(DSL)的使用越来越多。处理复杂的语言定义,以结构化的方式发展它们,并确保它们的无错误性是DSL设计和实现的主要挑战。因此,在语言组件的独立开发中,使用模块化语言定义和组合运算符是不可避免的。在这篇文章中,我们讨论了这些问题,描述了一个框架的文本DSL和他们的支持工具的组合开发。我们使用一个无冗余的定义,一个可读的具体语法和一个可理解的抽象语法,因为这两种表示显着重叠,在其结构。为了增强抽象语法的可用性,我们将关联和继承等概念添加到基于语法的定义中,以构建任意图(如元建模所知)。讨论了模块性的两个概念:文法继承和嵌入。它们允许组合语言定义,从而简化了基于现有语言的扩展。我们表明,新语言的组合工程是一个有用的概念时,项目的个别DSL与适当的工具支持的定义。
Domain specific languages (DSLs) are increasingly used today. Coping with complex language definitions, evolving them in a structured way, and ensuring their error freeness are the main challenges of DSL design and implementation. The use of modular language definitions and composition operators are therefore inevitable in the independent development of language components. In this article, we discuss these arising issues by describing a framework for the compositional development of textual DSLs and their supporting tools. We use a redundance-free definition of a readable concrete syntax and a comprehensible abstract syntax as both representations significantly overlap in their structure. For enhancing the usability of the abstract syntax, we added concepts like associations and inheritance to a grammar-based definition in order to build up arbitrary graphs (as known from metamodeling). Two modularity concepts, grammar inheritance and embedding, are discussed. They permit compositional language definition and thus simplify the extension of languages based on already existing ones. We demonstrate that compositional engineering of new languages is a useful concept when project-individual DSLs with appropriate tool support are defined.