Невозможно добавить InputPin в качестве узла действия (Eclipse/Epsilon)

Я пишу преобразование модели в модель в данный момент. Вот часть моего файла 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();

Я ДЕЙСТВИТЕЛЬНО получаю возврат обоих пинов. Но они не отображаются в окне «Свойства» моей модели.

Любые идеи?


person ramy    schedule 26.01.2019    source источник


Ответы (1)


Трудно сказать без информации о метамодели. Кажется, что активность и узел являются противоположными отношениями 1:1. Таким образом, op.activity = a фактически приводит к удалению активности из отношения ip.activity, т. е. активность может быть связана только с одним выводом.

person Arcanefoam    schedule 24.04.2019