У меня есть большая модель EMF, более конкретно модель BPMN2.0 из проекта MDT. Для нашего программного обеспечения существует требование, что мы должны поддерживать формат экспорта JDeveloper BPMN2, который почти соответствует схеме BPMN2.0, но имеет собственное расширение. Вот пример:EMF Расширение существующей модели
<startEvent isInterrupting="false" name="Start" id="startEvent0">
<ns2:OracleExtensions>
<ns2:GraphicsAttributes>
<ns2:Position y="225" x="100"/>
<ns2:Size height="21" width="21"/>
</ns2:GraphicsAttributes>
<ns2:FeatureSet>
<ns2:BooleanFeature value="false" name="sync"/>
<ns2:BooleanFeature value="false" name="catchAllErrors"/>
<ns2:BooleanFeature value="false" name="catchAllSystemExceptions"/>
<ns2:StringFeature value="" name="associatedProcess"/>
<ns2:StringFeature value="" name="associatedNode"/>
<ns2:StringFeature value="" name="initiator"/>
<ns2:StringFeature value="operation" name="definedOperationName"/>
<ns2:StringFeature value="PROCESS_DEFAULT" name="generatesEvents"/>
<ns2:StringFeature value="USE_PROCESS_PERMISSION" name="sealType"/>
</ns2:FeatureSet>
<ns2:Participant/>
</ns2:OracleExtensions>
<outputSet/>
<messageEventDefinition/>
</startEvent>
Там есть XSD схемы для NS2, так что я легко создать модель Ecore correspinding. Проблема, которую я пытаюсь решить в течение двух дней - это «правильно подключить» модель OracleExtensions в существующую модель BPMN2.0 eCore. Цель, которую я пытаюсь достичь, - это отредактировать модель с помощью плагинов-модификаторов BPMN2.0 и предоставить расширенные свойства для редактирования функций, связанных с оракулом.
Любые предложения приветствуются!