Tuesday 29 March 2011

Parallel Split Pattern in modeling -BASIC PATTERNS

Parallel split
After the analysis made in the basic pattern called sequence which is the most basic step in modeling and processes, we should move on to the parallel split. The intent of the parallel split pattern is to branch, or fork from a single activity to multiple parallel paths. This Pattern is also known as AND-split.
It occurs when there is a need of multiple streams to execute at the same time. An example of this would be when an employee needs to apply for vacation. The Department manager gets the application of the employee. At the same time the application is  forwarded to HR dept.  where the HR employee should update the available dates. The application approval depends on the Department manager and the HR. to let the process move on to its completion these to tasks should complete successfully.
This pattern is related to Synchronization, Exclusive Choice and Multi-Choice
Synchronization
the intent of synchronization pattern is to have several parallel paths converge on a single activity which waits for the completion of all paths before starting. The pattern is also known as AND-Join. Synchronization is common requirement for many processes. In the above example to get the process of work permit completed the activity of  final completion from the department responsible for work permits must not be started until the 2 preceding parallel activities have completed.
In languages in which parallel processing is modeled as a control structure(flow in BPEL and ALL in BPMN) the control structure itself manages the merge. For example, in BPEL when the flow in BPEL completes, its child activities are guaranteed to have completed. In languages where the merge requires an explicit join element(such as the AND gateway in BPMN and the join in UML activity diagrams) the join element performs the merge.
This pattern is related to parallel split, Simple Merge, Synchronizing Merge,Multi-Merge, Discriminator




Giannis Giataganas
 IS Consultant, BPM Analyst 
Bsc in Informatics, AUEB MscIS
Athens University of Economic and Business

Friday 11 March 2011

Process patterns and the P4

As far as processes are concerned, the process community has identified and codified different sets of common problems. This action was a result of previous similar approaches taken by the programming community. Previous works on the programming patterns include the GOF’s book which is a catalog of 23 patterns related to the creation of objects, the structural relationship of objects, the behavior of objects and so on. The best thing about using a pattern is the standardization. Each pattern is documented according to a standard template with sections such as intent, motivation and known uses.
Similar approach happened by the process community and by a group of 4 which we call process 4(P4). The article workflow patterns lists 20 patterns which are used for processes. This catalog is an account of process control flow.
Well what changes from the programming approach of GOF’s documentation is that the GoF patterns are documented as object models whereas P4 patterns are spatial and visual. Process patterns are clusters or constellations of process activities arranged in just the right way to solve difficult problems.

The categories which P4 patterns are included are:
• Basic patterns
• Advanced Branch and join patterns
• Structural patterns
• Multiple instances patterns
• State based patterns
• Cancellation patterns


BASIC PATTERNS

Basic patterns cover fundamental process capabilities: running activities in a sequence; spawning, and later joining,parallel lines of execution; and branching intone of several directions based on a conditional choice. The five basic P4 patterns are:
• Sequence
• Parallel split
• Synchronization
• Exclusive choice
• Simple merge


Sequence

Intent
To run activities sequentially. For example run activity A followed by B followed by C

Need for activity sequencing
Almost every process has at least one segment of two or more steps to be performed sequentially.
And the activity sequencing is essential part of the notion of process, it is not surprising that all BPM vendors and specifications support the Sequence pattern.

We can give an example of this activity sequencing in BPEL for a registration in a service


sequence
invoke name=”give certifications”
invoke name=”get approval ”
invoke name=”update DB data”
invoke name=”send confirmation email”
invoke name=”send welcome page”
sequence
 * we removed the <> so as not to read as html code



Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

counter