Метамодель ATL содержит несколько классификаторов с ошибкой с одинаковым именем

У меня есть небольшая программа ATL, преобразующая BPMN2.0 в другую модель:

-- @nsURI MM1=http://www.my.site/path/to/my/MM1
-- @nsURI BPMN20=http://www.omg.org/spec/BPMN/20100524/MODEL-XMI
-- @path reo=/BPMN20reo/reo.ecore
rule definition2module {
    from
        b: BPMN20!Definitions
    to
        m: reo!Connector(name<-b.name)
}

проверка модуля; создать OUT: reo из IN: BPMN20;

Код генерирует следующие ошибки. Я считаю, что это как-то связано с загрузкой/поиском модели BPMN 2. Я также пытался использовать адрес файла BPMN 2, но все равно получаю следующие ошибки:

Метамодель содержит несколько классификаторов с одинаковыми именами: DocumentRoot Метамодель содержит несколько классификаторов с одинаковыми именами: DocumentRoot Метамодель содержит несколько классификаторов с одинаковыми именами: di::DocumentRoot Метамодель содержит несколько классификаторов с одинаковыми именами: DocumentRoot

Вот мой код https://github.com/behnaaz/BPMN2ATL


person DrB    schedule 11.07.2015    source источник
comment
Сгенерированный вывод также пуст: ‹?xml version=1.0 encoding=ISO-8859-1?› ‹xmi:XMI xmi:version=2.0 xmlns:xmi=omg.org/XMI  -  person DrB    schedule 11.07.2015
comment
Вы знаете, что такое di в di::DocumentRoot?   -  person zelus    schedule 21.07.2015
comment
Zelus: Это пример bpmndi, как я упоминал ранее, для информации о диаграмме ‹bpmndi:BPMNDiagram id=BPMNDiagram_1›   -  person DrB    schedule 27.07.2015
comment
Проверяли ли вы метамодели ecore?   -  person victormpav    schedule 04.08.2015
comment
Он поступает напрямую из плагина bpmn 2. Нужно ли мне его подтверждать?   -  person DrB    schedule 05.08.2015
comment
Я бы попытался проверить как входную, так и выходную метамодель, чтобы убедиться, что у них нет проблем с проверкой.   -  person victormpav    schedule 09.08.2015
comment
С мета-моделями проблем нет.   -  person DrB    schedule 09.08.2015
comment
Я создам проект на github и поделюсь всем проектом.   -  person DrB    schedule 09.08.2015
comment
Я проверил модели ecore, и ошибок не было. Вот мой код github.com/behnaaz/BPMN2ATL   -  person DrB    schedule 11.08.2015
comment
Я скачал код и пытаюсь выполнить преобразование. Я обнаружил, что модель newDiagram_1.bpmn не соответствует метамодели BPMN20, например, корневой элемент (определения) в метамодели определен как определения, и ATL может выполнять преобразование. После устранения предыдущей ошибки я обнаружил, что метамодель определений в вашей модели содержит и процесс атрибутов, который не содержит элементы определений в метамоделях.   -  person victormpav    schedule 11.08.2015
comment
С другой стороны, при работе с ATL необходимо, чтобы одно из правил генерировало в выводе только один элемент, который является корневым элементом модели, а остальные элементы являются дочерними элементами корневого элемента.   -  person victormpav    schedule 11.08.2015
comment
Спасибо Виктор. Я ценю вашу помощь. Я не думаю, что входные данные, генерируемые инструментом BPMN 2, несовместимы с моделью. Определения — это экземпляр rootElement, который содержит элементы потока, процесс которых является их экземпляром.   -  person DrB    schedule 11.08.2015


Ответы (1)


Вопрос в том, что такое Метамодельная шизофрения - две нагруженные модели для одной цели. Кажется, зарегистрировано более одного класса BPMN 2.

Я удалил все плагины, связанные с BPMN 2, из Eclipse, поэтому единственной метамоделью в проекте была моя собственная метамодель.

person DrB    schedule 24.08.2015
comment
Я также подозреваю, что, поскольку BPMN2 зависит от трех других ecore, с ним все немного странно. Любая мысль? - person DrB; 25.08.2015
comment
Также не все BPMN2 предоставляют файлы XMI, которые хорошо читаются ATL. Кажется, что ATL не может прочитать их без каких-либо ошибок или предупреждений. - person DrB; 01.09.2015