Jump to: navigation, search


The public API for BPMN2 Modeler plug-in extensions is constantly evolving as we try to figure out what features are needed and how they can best be implemented. API changes when and if they are required, will only happen on minor releases of the modeler (e.g. version 1.2.0 => major = 1, minor = 2 service update=0.) We also try to keep API changes aligned with Eclipse releases, so that version 1.0.x of the modeler is targeted for Kepler, 1.1.x for Luna and 1.2.x for Mars. These tutorials will describe specific changes for each of the Eclipse target platforms.

Prerequisites & Conventions

These tutorials assumes that you are comfortable with XML and XML Schema and have at least a working knowledge of the BPMN2 language. You should also be somewhat familiar with EMF and its terminology, as this will be used frequently. At a minimum, you should understand:

  • EClass = an object type, also known as a "class"
  • EObject = an instance of an EClass, i.e. a concrete object
  • EAttribute = a simple-valued attribute of an EClass
  • EReference = a reference to an object or list of objects. References may also act as containers for the object, or may simply point to objects contained elsewhere in the same document, or an external document.
  • EStructuralFeature = a feature of an EClass, i.e. the attributes (EAttribute) and references (EReference) defined by the object type

In this tutorial, all EMF model types (EClasses) attributes (EAttributes) and references (EReferences) are displayed in bold, for example UserTask or name. In discussions of Java or XML code fragments contained in the tutorial, references to these appear in italics, for example createBindings() or modelExtension.

The tutorials

You can find a example code on GitHub showing some of the concepts explained in the following tutorials.