Applications of graph transformation (GT) systems often require control structures that can be used to direct GT processes. Most existing GT tools follow a stateful computational model, where a single graph is repeatedly modified "in-place" when GT rules are applied. The implementation of control structures in such tools is not trivial. Common challenges include dealing with the non-determinism inherent to rule application and transactional constraints when executing compositions of GTs, in particular atomicity and isolation. The complexity of associated transaction mechanisms and rule application search algorithms (e.g., backtracking) complicates the definition of a formal foundation for these control structures. Compared to these stateful approaches, functional graph rewriting presents a simpler (stateless) computational model, which simplifies the definition of a formal basis for (functional) GT control structures. In this paper, we propose the "Graph Transformation control Algebra" (GTA) as such a foundation. The GTA has been used as the formal basis for implementing the control structures in the (functional) GT tool "GrapeVine".
翻译:图形转换(GT)系统的应用往往需要能够用于引导 GT 过程的控制结构。 多数现有的 GT 工具都遵循一种状态化的计算模型, 使用 GT 规则时, 单个图形会反复修改“ 现位” 。 在使用 GT 规则时, 控制结构的实施并非微不足道。 常见的挑战包括处理规则应用所固有的非决定性和交易限制, 特别是原子性和孤立性。 相关交易机制和规则应用搜索算法( 如回溯跟踪)的复杂性使这些控制结构的正式基础的定义复杂化。 与这些显示性化的方法相比, 功能式图重写提出了一个简单( 无定位)的计算模型, 简化了GT 控制结构正式基础的定义。 在本文中, 我们提议将“ GGT 变换控制 Algebra ” (GrapeVine) 工具中的控制结构作为实施正式基础。 GAT 。 GRApeVine 。