萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1372|回复: 4

[计算机] 实在是要求助一下了,有人对MOF QVT了解多一些吗。。。内有详细问题

[复制链接]
发表于 2009-8-5 00:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
本帖最后由 大钙片 于 2009-8-7 09:34 编辑

要做的题目是关于M2M模型转换的。。就是pim -> psm
有两种方式,用ATL和QVT..  ATL的我已经做好了, 但是QVT真是tm难住我了啊。。。
语言复杂不说,就连刚开始的设定metamodel都搞不定 :(

有人对这个了解多些么?

详细问题请看5楼
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2009-8-5 15:24 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-8-6 16:11 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2009-8-7 00:05 | 显示全部楼层
当时学的时候只是大概了解了一下有这些这些东西,没深学
我就是特别感叹为啥德国人都这么喜欢搞mof,而且有的东西理论弄的那么深,但是一点儿没看出来德国在这方面有多高的生产力
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2009-8-7 08:39 | 显示全部楼层
唉。。还是把问题发上来吧

我用qvt写了一个简单的转换程序,但是转换结果怎么弄都是空文件。。

然后我进行了一个简单的测试:

1. 利用OMG给的转换example运行下面的转换:

  1. modeltype UML uses 'http://www.eclipse.org/qvt/1.0.0/Operational/examples/simpleuml';
  2. modeltype RDB uses 'http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb';

  3. transformation Simpleuml_To_Rdb(in uml : UML, out RDB);

  4. main() {
  5.         uml.rootObjects()[UML::Model]->map model2RDBModel();
  6. }

  7. mapping UML::Model::model2RDBModel() : RDB::Model {
  8.         name := self.name;
  9. }
复制代码
Input是一个自己创建的.simpleuml文件,里面有一个Model类,转换结果很正常,自动创见了一个目标文件 .rbd. 里面有一个Model类

然后我用自己做的两个metamodel来转换,代码也是和上面一个性质的:

  1. modeltype uml uses "platform:/resource/QVT/Klasse.ecore";
  2. modeltype relational uses "platform:/resource/QVT/Relational.ecore";

  3. transformation Klasse2Relational(in xx : uml, out relational);

  4. main() {
  5.         xx.rootObjects()[uml::Klasse]->map class2table();
  6. }

  7. mapping uml::Klasse::class2table() : relational::Table {
  8.         name := self.name;

  9. }

复制代码
也是自己创建了一个.klasse文件作为input, 内含一个Klasse类, 按理说转换结果应该是一个.relational文件,里面包含一个Table类,但是结果却是一个.relational文件,里面是空的。。我是百思不得其解啊。。

详细的metamodel可以在这里看到:

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-2-7 22:12 , Processed in 0.060416 second(s), 19 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表