0

I'm writing a model-to-model transformation at the moment. Here is a part of my ETL file:

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;
    ...
}

When I validate my output, I get: "The opposite features 'activity' of 'Input Pin' and 'node' of 'Activity test' do not refer to each other".

The "activity" feature of my Input Pin is displayed correctly. However, the "node" feature of my Activities are empty.

What is strange though is that when I try this:

a.nodes.println();

I DO get both Pins returned. But they do not show up in the "Properties" window of my model.

Any ideas?

ramy
  • 64
  • 1
  • 15

1 Answers1

0

It's hard to tell without the metamodel information. It seems that activity and node are 1:1 opposite relations. So op.activity = a actually causes the activity to be removed from the ip.activity relation, i.e. activity can only be related to one pin.

Arcanefoam
  • 687
  • 7
  • 20