BPMN 2.0 Modeler
BPMN 2.0 Modeler
The BPMN 2.0 Modeler project is a proposed open source project
under the Service
Oriented Architecture (SOA) Container Project.
This proposal is in the Project Proposal Phase (as defined in the
Eclipse Development Process) and is written to declare its intent and
scope. We solicit additional participation and input from the Eclipse
community. Please send all feedback to the Eclipse
Feedback may also be provided by participating in discussions on the
or by email to the
The mission of the SOA
Project is to build frameworks and extensible tools that enable the
design, configuration, assembly, deployment, monitoring, and management
of software designed around a Service Oriented Architecture. The project
is guided by the values of transparency, extensibility, vendor
neutrality, community collaboration, agile development, and
There has been a lot of interest recently in the BPMN 2.0 specification, and many feel that what UML is to object modeling,
BPMN 2.0 will be to business process modeling and will become the de facto standard.
The BPMN 2.0 Modeler provides a graphical modeling tool which
allows creation and editing of BPMN ( Business
Process Modeling Notation ) diagrams. The tool is built on Eclipse Graphiti and uses
the BPMN 2.0 EMF meta model currently being developed
within the Eclipse Model
Development Tools (MDT) project. This meta model is compatible with the
specification (herafter "the specification") proposed by the Object Management
The following features are in scope for the BPMN 2.0 Modeler project:
- Basic BPMN 2.0-compliant file creation and editing capabilities
- Process Modeling, Process Execution and Choreography Modeling Conformance as defined section 2 of the specification
- Plug-in extension points that allow the editor to be customized for specific applications
- BPEL Process Execution Conformance as defined in section 2.3 of the specification
- Deployment of BPMN resources to a suitable runtime
- Simulation and debug support of business processes
- Extensive process validation, such as sequence flow paths
The specific intent of this project is to provide an intuitive modeling
tool for the business analyst, which conforms to well-established
Eclipse user interface design practices.
The BPMN 2.0 Modeler provides visual, graphical editing and
creation of BPMN 2.0-compliant files with support for both the BPMN
domain as well as the Diagram Interchange models. Currently the editor
is functional and can consume and produce valid BPMN 2.0 model files.
Although work is ongoing, only items 1, 2 and 3 listed in the Scope
section have been completed. Information regarding the current state of
the code is updated regularly and is available in the project
wiki at GitHub
While the MDT Project brings a BPMN 2.0 meta model into Eclipse,
there is as yet no visual tool for building and editing BPMN 2.0 artifacts.
The proposed BPMN 2.0 Modeler, even though still in its infancy, already supports a large and functional feature set.
We feel that there is sufficient interest in the Eclipse community, and specifically within the SOA Project community,
for a BPMN 2.0-compliant editor to help us continue to develop this tool.
Another reason for hosting this project at Eclipse is because it relies heavily on existing Eclipse top-level
projects as well as SOA sub-projects. By hosting the BPMN 2.0 Modeler at
Eclipse, we can ensure that it will remain compatible and hope to effect
some level of influence in the future direction of these projects.
Relationship with other Eclipse Projects
The BPMN sub-project will be built on top of the Eclipse Platform and will depend on the following Eclipse projects.
- MDT Project includes the BPMN2 meta model, which is the underlying model for the BPMN 2.0 Modeler.
- EMF Project is required for access to the BPMN2 meta model.
- EMF Validation Framework is used to implement additional validation rules.
- Graphiti Project is the graphical framework for the BPMN 2.0 Modeler.
- Mangrove Project will be used to connect the BPMN 2.0 Modeler
to other editors in the SOA project, as well as to transport execution information such as monitoring data,
to BPMN 2.0 diagrams.
While the existing
Eclipse BPMN Modeler
does provide business process modeling functionality, it is based on the
BPMN 1.1 specification which lacks some very important functionality:
- the generated artifacts can't be directly deployed in a
straightforward way to runtime environments
- the BPMN 1.1 specification does not define a presentation model,
requiring the use of additional, proprietary models
which must be kept in sync with the domain model
- it does not formally define extension points that allows
vendors to address specific needs without breaking the model
- it does not support choreographies to allow building of
applications that cross organizational boundaries
The BPMN 2.0 Modeler is based on the most recent recommendation from the
OMG consortium, which resolves these issues.
We have been in discussions with the BPMN Modeler project team and, in their opinion,
changing the scope of the existing project to include the BPMN 2.0 specification would be difficult at best
and may lead to confusion about the intent of that project. Their recommendation was to create a new SOA sub-project
for a BPMN 2.0 editor.
The current version of the editor is being hosted at GitHub and can be
. This will become the initial code contribution to the project.
In November of 2010,
Red Hat, Inc.
to develop the initial basic editing framework for this editor, with the
understanding that it would eventually become an Eclipse project.
Codehoop is a software consulting and development company focusing on
building and assembling Eclipse-based tools, plugins and tutorials, and
helping product teams establish their Eclipse capabilities. Codehoop
developers are active committers, contributors and community members for
several Eclipse-based projects at eclipse.org and elsewhere. The company
and its employees are well aware of the IP policies of the Eclipse
Foundation. The assumption is that the source code referenced in the
Initial Contribution section of this proposal is all original work, the
ownership of which has been legally transferred to Red Hat, Inc. as a
result of execution of the contract entered into by the two parties.
The proposed project name (BPMN 2.0 Modeler) is descriptive and
generic, and does not infringe on any existing copyrighted product or
The following individuals are proposed as initial committers to
- Bob Brodt, Red Hat, Inc.
- Bob is project lead on the BPEL Designer project where he has
made significant contributions over the past year. He will assume
project leadership this new project.
- Gary Brown, Red Hat, Inc.
- Gary has made significant contributions to the OMG consortium by helping define the BPMN 2.0 specification. He
is a domain expert and will provide guidance for this new project.
- Innar Made, Codehoop, OU
- Innar is one of the original developers of the existing
code base; he was mostly involved in graphics and stencil logic. He has
offered to continue to contribute to this new project.
- Ivar Meikas, Codehoop, OU
- Ivar is one of the original developers of the existing
code base, working on integration with the meta model, properties
editor etc. He has also offered to continue to contribute to this new
- Kris Verlaenen, Red Hat, Inc.
- Kris is the project lead for jBPM, a Red Hat product. jBPM
version 5 will be capable of directly executing BPMN 2.0-compliant
artifacts. He will provide guidance to this new project by ensuring
We welcome additional committers and contributions.
The following Architecture Council members will mentor this
- Nick Boldt
- John Graham
- Kenn Hussey
- Ed Merks
The following individuals, organisations, companies and projects
have expressed interest in this project:
- Ahti Kitsik, Codehoop
- Adrian Mos, Xerox Research
- Antoine Toulmé, Intalio
- John Graham, Red Hat
- Jan Hendrik Scheufen, SunGard
- Marc Dutoo, Open Wide Technologies
- Java Workflow Tooling project
- Make initial code contribution to Eclipse.
- Set up nightly builds and update site.
- Stabilize code and add missing features such as Outline views.
- Integrate with server deployment framework.
- Build wizards or assistants to ease creation and configuration
of some of the more complex notation elements (e.g. collaborations).
- Define and implement plug-in extension points as described in
the Scope section of this proposal.
- Add multiple tabs for displaying various BPMN 2.0 diagram
- Customize editor tools based on the diagram type being edited,
e.g. by limiting the notation elements available on the tool palette,
providing different wizards and assistants, etc.
- Support process debugging.
- Support BPEL Process Execution Conformance. BPEL export/import
will be accomplished with Mangrove.
Changes to this Document