Generated BPMN models are not conforming to BPMN20.ecore

Hey all,
I am writing an ATL translation from BPMN2 to another model. An ATL program expects an input model and its corresponding meta model (ecore format). I am using the only BPMN2 ecore model I could find that is from https://www.eclipse.org/bpmn2-modeler/ (you can access my copy of the file here https://github.com/behnaaz/BPMN2ATL/blob/master/atttl/BPMN20.ecore).

The problem is that BPMN models I create with bpmn.io are not considered valid by the BPMN2.0.

Thanks,
Behnaz

In which regard are the models not valid? Provide us with some concrete examples and we might be able to shed light on this matter.

I know that the meta-model taken from Eclipse has some known problems, i.e. does not conform with the BPMN 2.0 standard itself. One example: a SubProcess is, according to the ecore not an InteractionNode and thus cannot be a target of a MessageFlow.

The BPMN model BMPN model can not be opened with the sample reflective editor in Eclipse with BPMN plugin installed.
Also the model looks different for instance this is what is comformant with BPMN2 ecore model

<?xml version="1.0" encoding="UTF-8"?>

<bpmn:Definitions

xmi:version="2.0"

xmlns:xmi="http://www.omg.org/XMI"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI"

id="d" name="d">

<rootElements

  xsi:type="bpmn:Process"

  id="p"

  name="p"

  processType="Public">

<flowElements

    xsi:type="bpmn:StartEvent"

    outgoing="1"/>

<flowElements

    xsi:type="bpmn:UserTask"

    outgoing="2"

    incoming="1"/>

<flowElements

    xsi:type="bpmn:Task"

    outgoing="3"

    incoming="2"/>

<flowElements

    xsi:type="bpmn:EndEvent"

    incoming="3"/>

<flowElements

    xsi:type="bpmn:SequenceFlow"

    id="1"

    name="1"

    targetRef="//@rootElements.0/@flowElements.1"

    sourceRef="//@rootElements.0/@flowElements.0"/>

<flowElements

    xsi:type="bpmn:SequenceFlow"

    id="2"

    name="2"

    targetRef="//@rootElements.0/@flowElements.2"

    sourceRef="//@rootElements.0/@flowElements.1"/>

<flowElements

    xsi:type="bpmn:SequenceFlow"

    id="3"

    name="3"

    targetRef="//@rootElements.0/@flowElements.3"

    sourceRef="//@rootElements.0/@flowElements.2"/>

</bpmn:Definitions>

The diagram you pasted is not a BPMN 2.0 diagram but a XMI file.