On Additivity in Transformation Languages

On Additivity in Transformation Languages
复制标题

论转换语言中的可加性

DOI:
10.1109/models.2017.21
复制
发表时间:
2017
期刊:
2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems
影响因子:
--
通讯作者:
Tisi Massimo
Tisi Massimo
中科院分区:
--
文献类型:
--
作者:
Hidaka Soichiro;Jouault Frederic;Tisi Massimo

文献摘要

相似文献

计算机科学的某些领域的特点是数据工件的共享基础结构(例如列表、表格、树、图、模型)以及用于转换该结构的专用语言。我们观察到,在其中几种语言中,可以识别转换代码中的某些元素与其生成的输出之间的明确对应关系。相反,给定输出工件中的元素,通常可以立即跟踪负责其创建的转换部分。在本文中,我们通过定义一个表征不同领域中多种转换语言的属性来形式化这个直观的概念。我们将此属性命名为可加性:对于给定的固定输入,程序元素的添加或删除会导致输出部分的相应添加或删除。我们提供了可加性的正式定义,并认为可加性通过枚举该属性启用或促进的一组任务来增强转型工程活动的模块化和增量性。然后我们描述它是如何在一些著名的转换语言中实例化的。我们期望具有可加性的语言新的正式结果的开发将受益于我们的定义。
Some areas in computer science are characterized by a shared base structure for data artifacts (e.g., list, table, tree, graph, model), and dedicated languages for transforming this structure. We observe that in several of these languages it is possible to identify a clear correspondence between some elements in the transformation code and the output they generate. Conversely given an element in an output artifact it is often possible to immediately trace the transformation parts that are responsible for its creation. In this paper we formalize this intuitive concept by defining a property that characterizes several transformation languages in different domains. We name this property additivity: for a given fixed input, the addition or removal of program elements results in a corresponding addition or removal of parts of the output. We provide a formal definition for additivity and argue that additivity enhances modularity and incrementality of transformation engineering activities, by enumerating a set of tasks that this property enables or facilitates. Then we describe how it is instantiated in some well-known transformation languages. We expect that the development of new formal results on languages with additivity will benefit from our definitions.