首页> 外文期刊>Computer Languages, Systems & Structures >Exploration of modularity and reusability of domain-specific languages: an expression DSL in MetaMod
【24h】

Exploration of modularity and reusability of domain-specific languages: an expression DSL in MetaMod

机译:探索领域特定语言的模块化和可重用性:MetaMod中的表达DSL

获取原文
获取原文并翻译 | 示例

摘要

Language-oriented programming (LOP) advocates a way of creating software systems that starts from the development of a domain-specific language (DSL). The DSL is geared to-wards solving computational problems in a particular domain. Developers then use the DSL to express configurations, rules, algorithms or knowledge for this particular domain at higher levels of abstraction than those achievable with a general-purpose programming language. Achieving the vision of LOP requires methods to ease the creation and the reuse of DSLs. One of the most likely technologies to achieve the vision of LOP are the projectional language workbenches because of the flexibility they add in DSL notation and DSL modularity. Modularity, in particular, is a key factor in easing the creation and reuse of DSLs. We have previously designed a new method and associated meta-tools, called Meta Mod, for the creation of modular and reusable DSLs. The goal in this article is to demonstrate what the advantages of MetaMod are in terms of creating modular and reusable DSLs compared to the state-of-the-art projectional language workbench Jetbrains MPS. To this end, we took a comprehensive expression language, the iets3 expression DSL written in Jetbrains MPS, and redefined a fragment of it in MetaMod; we use part of this reimple-mented expression language as a running example in the article. This allowed us to make a better comparison with creating DSLs in MPS. Moreover, in the process, we also highlighted the main features of MetaMod concerning modularity and reuse. As a result of the comparison we underline the main advantage that MetaMod brings in the implementation of modular and reusable DSLs, that is, the possibility to create smaller, more conceptually cohesive DSLs. This makes DSLs more fit for reuse. Furthermore, we present an extensive overview of related work regarding features of language tools for creating modular and reusable DSLs. (C) 2017 Elsevier Ltd. All rights reserved.
机译:面向语言的编程(LOP)提倡一种创建软件系统的方法,该方法始于特定领域语言(DSL)的开发。 DSL旨在解决特定领域中的计算问题。然后,开发人员可以使用DSL以比通用编程语言可实现的抽象更高的抽象级别来表达该特定领域的配置,规则,算法或知识。实现LOP的愿景需要一些方法来简化DSL的创建和重用。投影语言工作台是实现LOP愿景的最可能技术之一,因为它们在DSL表示法和DSL模块化中增加了灵活性。特别地,模块化是简化DSL创建和重用的关键因素。我们之前已经设计了一种新方法和相关的元工具,称为Meta Mod,用于创建模块化和可重用的DSL。本文的目的是演示与先进的投影语言工作台Jetbrains MPS相比,MetaMod在创建模块化和可重用DSL方面的优势。为此,我们采用了一种综合的表达语言,即用Jetbrains MPS编写的iets3表达DSL,并在MetaMod中重新定义了它的一部分。在本文中,我们将这种重新实现的表达语言的一部分用作运行示例。这使我们可以与在MPS中创建DSL进行更好的比较。此外,在此过程中,我们还重点介绍了MetaMod在模块化和重用方面的主要功能。作为比较的结果,我们强调了MetaMod带来的模块化和可重用DSL实现的主要优势,即可以创建更小,概念更紧密的DSL。这使DSL更适合重用。此外,我们提供有关语言工具功能的相关工作的广泛概述,这些语言工具用于创建模块化和可重用的DSL。 (C)2017 Elsevier Ltd.保留所有权利。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号