人类可理解且机器可处理的操作语义规范
1. 引言
语言规范,尤其是语言语义的定义,通常要么是非正式的,要么是数学化的。这些规范虽然人类可读,但可能不够精确,或者需要大量的数学知识。而且,通常很难从这样的规范中自动推导出计算机工具。我们的目标是创建基于模型的语言定义,使其既易于人类理解,又能被机器执行。这样的定义对于新语言的原型设计,或者以模型驱动的方式为现有语言创建工具都非常有价值。
元建模是一种已经成熟的技术,它以一种既吸引人又能被机器处理的方式来建模语言的抽象语法。其他基于元建模的建模技术也在语言的图形和文本表示、代码生成或模型转换等方面发挥着同样的作用。我们为语言建模这一总体目标所做的贡献是一种方法,它使用现有的高级抽象图形(元)建模语言来定义操作语义。我们可以正式描述语言,并通过使用通用模型解释器,仅基于相应的语言定义来执行模型。
2. 相关工作
生成式或通用语言工具的工作包括特定领域语言开发的框架。这些框架以元模型为语言规范的核心,还涵盖了语言的表示、分析、转换或操作语义等方面。例如 GME、XMF、AToM3,以及元编程工具如 MPS、kermeta、AMMA、MetaEdit+ 等。
部分框架通过通用编程语言来定义语义(如 MPS、MetaEdit+),而其他框架则提供专门的语言来定义语义(如 XMF、kermeta、AToM3)。可以识别出两种不同的语义定义方法:GME 和 AToM3 使用模型转换到另一种语言或形式体系(语义域);AMMA、Kermeta、XMF 和 MPS 则使用动作语言来定义操作语义。
还有一些使用特定元语言来定义操作语义的方法。例如 Engels 等人提出了一种基于协作图和图转
基于元建模的操作语义规范方法
超级会员免费看
订阅专栏 解锁全文
6348

被折叠的 条评论
为什么被折叠?



