加拿大华人论坛 德国留学移民签证实在是要求助一下了,有人对MOF QVT了解多一些吗
在加拿大
要做的题目是关于M2M模型转换的。。就是pim -> psm
有两种方式,用ATL和QVT.. ATL的我已经做好了, 但是QVT真是tm难住我了啊。。。
语言复杂不说,就连刚开始的设定metamodel都搞不定 :(
有人对这个了解多些么?
详细问题请看5楼
评论
楼主这是学校作业啊还是啥?
评论
是pa要做的东西。。楼上了解qvt不?
评论
当时学的时候只是大概了解了一下有这些这些东西,没深学
我就是特别感叹为啥德国人都这么喜欢搞mof,而且有的东西理论弄的那么深,但是一点儿没看出来德国在这方面有多高的生产力
评论
唉。。还是把问题发上来吧
我用qvt写了一个简单的转换程序,但是转换结果怎么弄都是空文件。。
然后我进行了一个简单的测试:
1. 利用OMG给的转换example运行下面的转换:
modeltype UML uses 'http://www.eclipse.org/qvt/1.0.0/Operational/examples/simpleuml';
modeltype RDB uses 'http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb';
transformation Simpleuml_To_Rdb(in uml : UML, out RDB);
main() {
uml.rootObjects()[UML::Model]->map model2RDBModel();
}
mapping UML::Model::model2RDBModel() : RDB::Model {
name := self.name;
}
复制代码Input是一个自己创建的.simpleuml文件,里面有一个Model类,转换结果很正常,自动创见了一个目标文件 .rbd. 里面有一个Model类
然后我用自己做的两个metamodel来转换,代码也是和上面一个性质的:
modeltype uml uses "platform:/resource/QVT/Klasse.ecore";
modeltype relational uses "platform:/resource/QVT/Relational.ecore";
transformation Klasse2Relational(in xx : uml, out relational);
main() {
xx.rootObjects()[uml::Klasse]->map class2table();
}
mapping uml::Klasse::class2table() : relational::Table {
name := self.name;
}
复制代码也是自己创建了一个.klasse文件作为input, 内含一个Klasse类, 按理说转换结果应该是一个.relational文件,里面包含一个Table类,但是结果却是一个.relational文件,里面是空的。。我是百思不得其解啊。。
详细的metamodel可以在这里看到:
·生活百科 小爱同学可以带到澳洲并正常使用吗?
·生活百科 电话线断了