Import BPMN 2.0 models into GenMyModel

GenMyModel BPMN Import

The BPMN 2 standard is packaged in two parts: a structural part and a graphical one. This means your BPMN model has two flavors in the same artifact: the model and the diagram. The fact that a standard exists for these two parts enables GenMyModel to import all standard BPMN 2 projects no matter the BPMN editor the projects come from.

You can get your BPMN models online and work collaboratively within seconds. They will be safely stored in the cloud and be available everywhere.

The BPMN 2 format structure

BPMN 2 file format is structured as follows: the model is defined before the graphical part (the visual diagram). Obviously, the graphical part reference elements of the model using the model element id. Here is a small example of how the structural model and the graphical model look like in a BPMN 2 file and how the graphical part references the structural one:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

<semantic:definitions id="_1373649849716" name="A.1.0" ...stuffs abouts metamodels and extensions schemas...>

    <!-- structural model part here -->
    <semantic:process isExecutable="false" id="WFP-6-">
        <semantic:startEvent name="Start Event" id="_stevent_01"/>

    <!-- graphical model part here -->
    <bpmndi:BPMNDiagram documentation="" id="diag_A10_1" name="A.1.0" resolution="96.00000267028808">
        <bpmndi:BPMNPlane bpmnElement="WFP-6-">
            <bpmndi:BPMNShape bpmnElement="_stevent_01" id="shape_stevent_01">
                <dc:Bounds height="30.0" width="30.0" x="186.0" y="336.0"/>
                <bpmndi:BPMNLabel labelStyle="LS1373649849858">
                    <dc:Bounds height="12.804751171875008" width="94.93333333333335" x="153.67766754457273" y="371.3333333333333"/>


As you can see, the graphical part is divided into the diagram and the plane. The BPMNDiagram element represents a graphical diagram. This diagram contains a BPMNPlane which is the equivalent to the blank page in which each element will be graphically drawn. Below the BPMNShape element is bound to the start event model element _stevent_01 (look at the bpmnElement attribute). This shape also contains various information about its location in the plane, its height and its width. It is as simple as that.

Import BPMN2 models in GenMyModel

Importing standard BPMN 2 models in GenMyModel is straightforward as this unity in BPMN2 file format is the key point GenMyModel import feature relies on. The import feature is available from your dashboard:

  1. in your dashboard, go to the project view and click on “Import”

    BPMN Import Menu

  2. in the project import view, enter the project information and choose the .bpmn file

    BPMN Import Project Information

  3. a nice message will confirm when the import is done

    BPMN Import Sucess

  4. once imported, you can edit your model right away. This is what you get importing the file shown above:

Enjoy BPMN Modeling

Darkness over wonderland

Unfortunately, having a standard does not mean that everybody sticks to it. During our coding and test phases, we observed that some BPMN editors do not strictly respect the BPMN2 format as their output files could not be correctly imported. Some add their secret sauce and interpret on their own what “standard” means. Either they do not conform the BPMN2 metamodel or they define graphical elements that are badly bound to model elements.

We try our best to retrieve the most graphical elements but we couldn’t solve all cases from all editors. Perhaps our import engine will miss the tricky cases. If so, please let us know and send us an email with your model attached at If you are used to work with a real standard BPMN 2 tool, well, importing your models and enjoy online BPMN modeling is a no-brainer !


Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedIn

About the author

vince Team

Music, cards and beer lover...

Also PhD in Computer Science specialized in software modeling, code generation and model driven development. Interest/work in code generation, reverse engineering techniques, interpretation and compilation.