BPDM (Business Process Definition Metamodel)
BPDM is a standard proposal made by OMG (Object Management Group). The final submission of the proposal of BPDM is dated as March 2007. It is submitted by Adaptive, Axway Software, Borland Software, Model Driven Solutions, EDS, Lombardi Software, MEGA International and Unisys, and supported by BPM Focus and U.S. National Institute of Standards and Technology (NIST).
The model aims to be able to express business processes (including human participants) based on OMG's MOF (Meta Object Facility) and UML.
It is made of 8 sub-packages, categorized into 3 groups.
| group | sub-packages |
|---|---|
| Common Abstractions for the framework that ties the other models to performance, enactment, and execution |
Composition Model and Course Model |
| Common Behavior for the aspects of dynamics in common between orchestrations and choreography | Happening & Change, Processing Behavior, and Simple Interaction |
| Orchestration and choreography | Activity Model (including BPMN Extensions) and Interaction Protocol Model |
What's new?
The model is an UML clarification of BPMN concepts. This gives the basis for a software development environment (e.g. IDE) to model workflows with UML and MOF based BPMN graphical interface, rather than using some proprietry graphical workflow design interface.
At the core, the concepts regarding workflow model do not differ much from that of BPMN.
Note: I think that that is because it is to identify what elements and behaviours will be required to build a workflow model, and that it is based on BPMN. It is not a for a new workflow language. How they are expressed, is the problem for the workflow language (textual or syntax) or the graphical model etc. but to identify all necessary concepts are the subject of the metamodel. However, that is where the limit of this approach lies. It has to go to some abstract workflow concept to broaden horizon, unless BPMN does it all. Does it? For example, it has a limited multi-instance task model. It has multi-instance task and multi-instance-sub-flow, but workflows cannot be multi-instance. Also, no multi-thread. Recently, YAWL recognized the difference and added a multi-thread pattern. What's the difference? multi-instance tasks create isilated instances, but the threads are executions. Executions are multple but the task instance one. Also, multi-thread can include a run of multiple tasks.
