![](https://csdnimg.cn/release/download_crawler_static/88749335/bg4.jpg)
K. Ehrig
等人理论计算机科学电子笔记
127
(
2005
)
127
必要的布局规范。 语言约束限制有效的
VL
图集建模,限制
编辑操作,允许在生成的编辑器。使用像
EMF
这样的元模型,许多语言
约束只能通过向元模型类图添加
OCL
约束或自然语言注释来表达。因
此,元建模方法更适合于低复杂度的图形。使用图形转换,只允许产生
有效
VL
图的编辑操作 生成的编辑器中的编辑操作 被组合到图的内部
抽象语法图的相应改变。编辑器操作被建模为应用于当前图的抽象语法
图的图规则(在
VL
类型图上键入)。定义这些编辑器操作的图形语法
被称为
VL
语法,
因为它定义了
VL
的完整语法(与
VL
字母表一起)使用
否定应用条件的映射规则是一种定义良好且具有建设性的方式来表达哪
些图属于
VL
。基于语法的编辑被称为
语法导向编辑
,并且只允许编辑
语法正确的图。此外,语法规则可以指定复杂的编辑操作,如删除一个
完整的层次结构级别的状态图在一个步骤。当一个图被编辑后,其他的
图语法(如模拟语法)可以被应用于执行模型模拟或模型分析,基于相
同的图转换引擎。可视化编辑器和环境生成器,如D
IA
G
EN
[16]
,AT
O
M
3
[12]
[1]
和G
EN
GED
[1]
从
VL specifica
生成自己的
VL specific
编辑器
基于图变换的方法。他们创建自己的编辑器功能,用于布局图,撤销
/
重
做,缩放等。在G
EN
GED中,布局纯粹基于图形约束求解,这是一种灵
活而优雅的方式来建模布局约束。不幸的是,在某些情况下,这会导致
性能问题,因为大型约束满足问题的计算可能相当复杂。因此,G
EN
GED(以及D
IA
G
EN
)允许编辑器设计者用
Java
编写特定于
VL
的布局算
法,当
VL
变得更复杂时,这些算法可以取代约束求解器。这种解决方
案要求编辑器设计者具备
Java
编程和内部语言模型方面的知识。 AT
O
M
3
o
在其生成的编辑器中提供了一个标准的布局算法,该算法仅适用于
简单的图形。对于更复杂的
VL
,编辑器用户必须通过在面板上手动定
位图元素来处理适当的图布局
所有生成的环境并不意味着要集成到其他现有的工具环境中。作为
独立的应用程序,它们并不总是具有常见编辑器功能的标准外观,例如
缩放或撤消
/
重做。