Apples and oranges: comparing top-down and bottom-up language product lines

Apples and oranges: comparing top-down and bottom-up language product lines
复制标题

苹果和橘子:比较自上而下和自下而上的语言产品线

DOI:
--
复制
发表时间:
2016
期刊:
Software Product Lines Conference
影响因子:
--
通讯作者:
W. Cazzola
W. Cazzola
中科院分区:
--
文献类型:
--
作者:
Thomas Kühn;W. Cazzola

文献摘要

被引文献

相似文献

在过去的十年中,语言开发工具得到了显著的改进。这使得从业者和研究人员能够设计各种各样的领域特定语言(DSL)和编程语言的扩展。此外,许多研究人员已经将不同的语言变体结合起来,形成了DSL家族和编程语言。不幸的是,目前的语言开发工具不能直接支持这些家庭的发展。为了克服这一限制,研究人员最近应用软件产品线(SPL)的思想来创建语言家族的编译器/解释器的产品线,表示为语言产品线(LPL)。然而,与SPL类似,这些产品线可以使用自上而下或自下而上的方法创建。然而,没有案例研究比较这两种方法对LPL开发的适用性,因此不清楚语言开发工具应该如何发展。因此,本文比较了这两种特征建模方法,将它们应用到开发的LPL的家庭基于角色的编程语言,并讨论其适用性,可行性和整体适用性的LPL的发展。虽然有人可能会说这是苹果和橘子的比较,但我们相信这个案例仍然提供了对每种方法的需求,假设和挑战的重要见解。
Over the past decade language development tools have been significantly improved. This permitted both practitioners and researchers to design a wide variety of domain-specific languages (DSL) and extensions to programming languages. Moreover, multiple researchers have combined different language variants to form families of DSLs as well as programming languages. Unfortunately, current language development tools cannot directly support the development of these families. To overcome this limitation, researchers have recently applied ideas from software product lines (SPL) to create product lines of compilers/interpreters for language families, denoted language product lines (LPL). Similar to SPLs, however, these product lines can be created either using a top-down or a bottom-up approach. Yet, there exist no case study comparing the suitability of both approaches to the development of LPLs, making it unclear how language development tools should evolve. Accordingly, this paper compares both feature modeling approaches by applying them to the development of an LPL for the family of role-based programming languages and discussing their applicability, feasibility and overall suitability for the development of LPLs. Although one might argue that this compares apples and oranges, we believe that this case still provides crucial insights into the requirements, assumptions, and challenges of each approach.