Skip to main content
QUICK REVIEW

[论文解读] Towards rule-based visual programming of generic visual systems

Berthold Hoffmann, Mark Minas|ArXiv.org|Oct 10, 2000
Model-Driven Software Engineering Techniques参考文献 20被引用 5
一句话总结

本文提出 DiaPlan,一种基于图变换理论的规则化视觉编程语言,支持面向对象编程、分层图结构和类型系统。它通过基于 DiaGen 工具集构建的可重用、可扩展框架,支持定义和操作领域特定的图表符号,实现对多样化应用领域中视觉语法和语义的完全自定义,从而实现通用视觉系统开发。

ABSTRACT

This paper illustrates how the diagram programming language DiaPlan can be used to program visual systems. DiaPlan is a visual rule-based language that is founded on the computational model of graph transformation. The language supports object-oriented programming since its graphs are hierarchically structured. Typing allows the shape of these graphs to be specified recursively in order to increase program security. Thanks to its genericity, DiaPlan allows to implement systems that represent and manipulate data in arbitrary diagram notations. The environment for the language exploits the diagram editor generator DiaGen for providing genericity, and for implementing its user interface and type checker.

研究动机与目标

  • 解决现有视觉规则化语言在面向对象和模块化图编程方面支持不足的问题。
  • 支持为图定义领域特定的视觉符号,从而为不同应用领域提供定制化的用户界面。
  • 提供类型安全、可扩展的框架,用于实现可针对不同图表表示形式定制的视觉编程环境。
  • 通过 DiaGen 工具集成通用视觉编辑器和类型检查器,确保系统的可重用性和可维护性。
  • 为构建功能完整、可扩展的视觉编程环境奠定基础,该环境支持变换、类型系统以及结构化图的交互式编辑。

提出的方法

  • 该语言基于图变换,其中规则定义了图的修改方式,使用变量和替换机制来实例化和应用规则。
  • 通过包含嵌套子图的框架对图进行分层结构化,实现对复杂数据结构的模块化和面向对象的操纵。
  • 通过递归方式定义类型系统,以指定和强制执行图的形状,从而提高程序的正确性和安全性。
  • 使用 DiaGen 工具生成用户界面和类型检查器,支持在领域特定符号中对图的视觉语法进行自定义。
  • 系统架构将解释器(执行变换)、编译器(验证程序)和可视化编辑器(用于输入和程序构建)分离,所有组件均由 DiaGen 规范文本生成。
  • 实现依赖于 DiaGen 的图变换抽象机,并扩展其功能以支持基于类的结构和领域特定的图表渲染。

实验结果

研究问题

  • RQ1如何使一种视觉编程语言同时支持基于规则的变换和图的面向对象结构?
  • RQ2在基于规则的视觉编程语言中,哪些机制能够实现类型安全和图形状约束?
  • RQ3如何使视觉编程环境具备足够的通用性,以支持不同应用领域特有的任意图表符号?
  • RQ4何种架构模式能够实现仅通过单一规范自动生成用户界面和类型检查器?
  • RQ5尽管规则匹配中存在子图同构问题(NP-难),图变换系统在性能上能在多大程度上与文本式函数式或逻辑编程语言相媲美?

主要发现

  • DiaPlan 成功地将基于规则的编程、面向对象的图结构化以及图类型系统整合到单一视觉语言中,实现了视觉系统的安全且模块化的开发。
  • 通过使用框架,实现了对分层图结构的模块化操作,确保了在变换边界处的模块性保持不变。
  • 通过 DiaGen 生成的编辑器,语言支持基于领域的视觉符号,从而能够为特定应用领域创建定制化的用户界面。
  • 类型系统通过递归方式定义,并强制执行图的形状约束,从而提高了程序的正确性并减少了运行时错误。
  • 系统架构利用 DiaGen 同时生成用户界面和类型检查器,显著降低了实现工作量并提高了可维护性。
  • 尽管实现仍处于早期阶段,但该设计证明了基于图变换构建功能完整、可扩展的视觉编程环境在通用性与类型系统方面具有可行性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。