模型驱动工程:运行时模型转换与OCL扩展
1. 引言
随着模型驱动工程(MDE)在众多领域的广泛应用,除了单纯的代码生成,在常规程序运行时对模型进行操作的需求日益凸显。同时,某些编程任务可以看作是模型转换任务,借助模型转换技术能够简化这些任务。然而,当前模型管理框架与通用编程语言(GPL)之间存在差距,阻碍了模型转换技术在编程中的有效应用。
2. OCL扩展及其应用
为了支持测试目的的规范以及将其自动转换为正则表达式,研究人员定义了一种具有基于形式化场景语义的语言,并将其扩展集成到Eclipse的OCL插件(版本4.×)中。该OCL扩展在专门针对UML/OCL模型的测试目的框架中得到应用,用于开发支持智能卡操作系统GlobalPlatform安全属性自动测试的策略。
3. 运行时模型转换的挑战与需求
在将模型与GPL(尤其是Java)集成时,存在一些挑战和需求:
- 非侵入性 :不能修改现有的元模型或API,例如不能使用手动编写的注释。
- 无缝集成 :模型转换定义应能像黑盒一样,通过GPL的常规构造轻松无缝地从程序中调用。同时,模型转换开发者应能像处理元模型描述的模型元素一样处理运行时对象。
- 高效性 :Java对象与模型之间的桥梁应在性能和内存使用方面都高效,理想情况下不需要中间数据结构。
- API风格覆盖 :应考虑最常见的对象访问机制,以覆盖更广泛的API。
4. 运行时模型转换的架构
架构
超级会员免费看
订阅专栏 解锁全文

226

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



