Showing posts with label bpmn. Show all posts
Showing posts with label bpmn. Show all posts

Tuesday, October 21, 2008

Approach: How to improve traceability between BPMN process model and UML component model

Workflow can be modeled with a Business Process Diagram or an Acivity Diagram and can be transformed manually or otherwise using underlying matamodel. However, the challenge lies in finding convergence of object-oriented approach offered by UML and process-centric approach taken by BPMN. To put this in context, it should be noted that UML methods asks you to find the objects first using the static structure diagrams and only then build dynamic behaviour diagram to model object interaction. In an attempt to satisfy the stated need, we can model our 'draft' activity model based upon Business Process Diagram as specified by BPMN at the 'first attempt' and 'later' the 'technical team' can refine and refactor the activity diagram so created in few iterations between static diagrams (class diagram etc.) and activity diagram to model the dynamic behaviour, which can improve the traceability.

For a detailed study of the subject one may be interested to study "Process Modeling Notations and Workflow Patterns" here.

Wednesday, October 15, 2008

BPMN in a nutshell

Business Process Modeling Notation (BPMN) is a standard specification created by Business Process Management Initiative Organization (BPMI) intended to provide a notation that is readily understood by Business Analyst (who creates the business process), Process Developer (who implements the business process into executables) and Business Owner (who manages and monitors he process). Thus, BPMN standardizes the bridge for the gap between process design and process implementation.

BPMN defines a Business Process Diagram (BPD), which is a specialized flow-charting technique to create graphical model for business process operations. The graphical model so generated is a network of directed graphical objects representing activities.

BPMN can be classified in to following four categories;
1. Flow Objects
a] Event - Events effect the flow of the process and usually have a cause(trigger) or an impact (result). Types {start, intermediate event, end}
b] Activity - The work done and can be further classified as Task(atomic), sub-processes(non-atomic or compund)
c] Gateway - They are used to model the convergence or divergence of sequence flow and can thus be used to model decision making, fork or joins.

2. Connection Objects: Using them, Flow Objects are connected together to provide basic skeleton structure of business process.
a] Sequence flow - models the 'order' of activity to be performed, it should be noted that 'control flow' is semantically incorrect in the context of business modelling language.
b] Message flow - models the flow of information.
c] Association - models the inputs and outputs of acivities.

3. Swimlanes: The concept of swimlanes is used to organize acivities into seperate visual categories to illustrate different functional capabilities or responsibiliies.
a] Pool: Intra-group activity for e.g. interactions between customer and supplier organizations can be clubbed using Pools.
b] Lanes: Inter-group activity for e.g. interactions between various department of the same organization can be modeled using lanes.

4. Artifacts:
a] Data Objects: Models the input or output form activities such as Rules, Documents for e.g. order
b] Groups: Models the logical grouping of sequence of activities, does not alters the sequence flow.
c] Annotation: Provides documentation.

BPMN can be used to model collaborations between two or more business entities which may be public in nature or business processes internal to an organization, the difference lies in the precision level between the two. The primary value add that BPMN brings to the table are;
1- Standards based.
2- Easily understood by the complete 'spectrum' of people
3- Designed to be easily transformed to the de-facto execution language standard BPEL4WS.