2012-05-11 4 views
1

큰 EMF 모델, 특히 MDT 프로젝트의 BPMN2.0 모델이 있습니다. BPMN2.0 스키마와 거의 일치하는 Oracle 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> 

는 NS2에 대한 XSD 스키마가있다, 그래서 쉽게 correspinding의는 Ecore 모델을 생성했습니다. 2 일 동안 해결하려고하는 문제는 OracleExtensions 모델을 기존 BPMN2.0 eCore 모델에 올바른 방법으로 '연결'하는 것입니다. 달성하고자하는 목표는 BPMN2.0 모델러 플러그인을 사용하여 모델을 편집하고 오라클 특정 기능을 편집하기 위해 확장 된 특성을 제공하는 것입니다.

모든 의견을 환영합니다!

답변

2

EMF Facet에 대한 작업 같은 소리 :

도구는 최종 사용자가 정말 원하는 모든 가능한 확장을 상상할 수 없다는 당신이 개발 문제. 이것이 EMF Facet이 기존의 Ecore 메타 모델을 수정하지 않고도 확장 할 수있는 솔루션을 제안한 이유입니다.

아이디어는 메타 모델에 새로운 기능 (종류, 특성, 운영 및 참조)를 추가하고, 추가 속성 (아이콘, 레이블 등)

을 추가하여 기존 기능을 사용자 정의하는 비 침입 메커니즘을 제공하는 것입니다