私は大規模な EMF モデル、具体的には MDT プロジェクトの BPMN2.0 モデルを持っています。私たちのソフトウェアには、Oracle JDeveloper BPMN2 エクスポート形式をサポートする必要があるという要件があります。これは、BPMN2.0 スキーマにほぼ対応していますが、独自の拡張機能があります。次に例を示します。
<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>
ns2 用の XSD スキーマがあるので、対応する eCore モデルを簡単に生成できました。私が 2 日間解決しようとしている問題は、OracleExtensions モデルを既存の BPMN2.0 eCore モデルに正しい方法で「プラグイン」する方法です。私が達成しようとしている目標は、BPMN2.0 モデラー プラグインを使用してモデルを編集し、Oracle 固有の機能を編集するための拡張プロパティを提供することです。
どんな提案でも大歓迎です!