模型组合语义与文本语言IDE生成探索
1. 模型组合的代数视角
在模型组合的研究中,有关于合并不完整和不一致的基于图的视图的代数方法被提出。与范畴理论和余极限作为表达不同图之间关系的理论基础不同,我们更关注模型组合的代数性质。
我们对模型组合运算符如何与模型语义相互作用以及组合运算符应具备的属性进行了研究。首先,抽象地描述了语义的定义方式,接着引入了模型组合代数,它描述了模型、语义等价模型的等价类、模型组合和语义之间的形式关系。
从这个设定中可以得出一些重要结果:
- 模型组合应该是由语义定义所诱导的同余关系。
- 组合应该是关于语义的可交换和可结合的运算符。
这些理论结果对模型组合运算符、建模语言和语义域的设计具有实际影响。任何组合运算符都应遵循代数所隐含的属性,以实现基于模型的软件系统的模块化开发,允许模型独立编译/转换为其他表示形式和抽象级别。
2. 文本语言IDE生成的背景与需求
目前,软件开发过程中对语言设计的兴趣日益增加。一方面,领域特定建模语言(DSMLs)变得越来越重要,它们专注于描述软件系统的特定方面或视角;另一方面,偶尔使用的小型语言需求也在持续存在,例如大型长期项目中用于自动化特定重复任务的脚本语言。
这些新语言通常由元模型指定,这使得元建模工具包如Eclipse Modeling Framework (EMF) 和Microsoft的DSL工具受到欢迎。我们认为元建模工具包应全面支持语言创建,不仅要帮助语言设计者创建元模型,还要为语言使用者创建必要的工具。
当前对工具的要求很高,如文本编辑器应具备语法高亮和代码补全功能,建模语言的工具