此刻,我正在编写模型到模型的转换。这是我的ETL文件的一部分:
rule process2activity
transform p : input!Process
to a : UMLOutput!Activity{
...
var ip : new UMLOutput!InputPin;
var op : new UMLOutput!OutputPin;
ip.activity = a;
op.activity = a;
...
}
当我验证输出时,我得到:“'输入引脚'的相反功能'活动'和'活动测试'的'节点'没有相互参照”。
我的输入引脚的“活动”功能正确显示。但是,我的活动的“节点”功能为空。
奇怪的是,当我尝试这样做时:
a.nodes.println();
我确实得到了两个引脚。但是它们没有显示在我模型的“属性”窗口中。
有什么想法吗?
答案 0 :(得分:0)
没有元模型信息很难说。看来 activity 和 node 是1:1对立的关系。因此op.activity = a
实际上导致活动从ip.activity关系中删除,即活动只能与一个引脚相关。