A Static Analysis of Non-confluent Triple Graph Grammars for Efficient Model Transformation

A Static Analysis of Non-confluent Triple Graph Grammars for Efficient Model Transformation
复制标题

用于高效模型转换的非融合三图文法的静态分析

DOI:
10.1007/978-3-319-09108-2_9
复制
发表时间:
2014
期刊:
Proceedings of the Principles and Practices of Programming on The Java Platform
影响因子:
--
通讯作者:
G. Taentzer
G. Taentzer
中科院分区:
--
文献类型:
--
作者:
Anthony Anjorin;Erhan Leblebici;Andy Schürr;G. Taentzer

文献摘要

被引文献

相似文献

三重图文法(TGG)是一种著名的双向模型转换语言。所有积极开发的TGG工具都提出了限制,以保证效率(多项式运行时),而不会损害形式属性。大多数工具都需要TGG的融合,这意味着可以自由地在适用规则之间进行选择,而不会影响转换的最终结果。然而,这是对具有固有自由度的变换的强限制,这些自由度不应在设计时受到限制。eMotivation是一个支持非融合TGG的TGG工具,允许根据运行时选择不同的结果。尽管如此,为了保证效率,基于规则的源上下文依赖性对要翻译的下一个源元素的本地选择必须不导致死胡同,即,转换为没有规则适用于当前选择的要翻译的源元素的状态,并且转换尚未完成。我们在本文中的贡献是形式化相应的属性,称为局部完整性,使用图约束。基于著名的应用条件的约束转换,我们提出了一个静态分析,保证死端自由非合流TGGs。
Triple Graph Grammars (TGGs) are a well-known bidirectional model transformation language. All actively developed TGG tools pose restrictions to guarantee efficiency (polynomial runtime), without compromising formal properties. Most tools demand confluence of the TGG, meaning that a choice between applicable rules can be freely made without affecting the final result of a transformation. This is, however, a strong restriction for transformations with inherent degrees of freedom that should not be limited at design time. eMoflon is a TGG tool that supports non-confluent TGGs, allowing different results depending on runtime choices. To guarantee efficiency, nonetheless, a local choice of the next source element to be translated, based on source context dependencies of the rules, must not lead to a dead end, i.e., to a state where no rule is applicable for the currently chosen source element to be translated, and the transformation is not yet complete. Our contribution in this paper is to formalize a corresponding property, referred to as local completeness, using graph constraints. Based on the well-known transformation of constraints to application conditions, we present a static analysis that guarantees dead end-freeness for non-confluent TGGs.