Archive for January, 2005

Summary Of The BPMN Graphical Objects - Notes of BPMN (Part 2)

Written by coregps on Saturday, January 8th, 2005 in Workflow.

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

BPMN development goals:

  • Simple and adoptable by business analysts
  • Depict complex business processes and map to BPM execution languages.

BPD Core Element Set - the basic categories of elements:

Flow Objects, which are the main graphical elements to define the behavior of a Business Process.
Events An event is sth. that ?happens? during the course of a business process. These events affect the flow of the process and usually have a cause or an impact. There are 3 types of Events: Start, Intermediate, and End.
Activities An activity is a generic term for work that company performs, which can be atomic or non-atomic. The types of activities that are a part of a Process Model are: Process, Sub-Process, and Task. Tasks and sub-Processes are rounded rectangles. Processes are either unbounded or a contained with a pool.
Gateways A Gateway is used to control the divergence and convergence of Sequence Flow.
Connecting Objects, which provide 3 ways of connecting the Flow Objects to each other or other information.
Sequence Flow A Sequence Flow is used to show the order that activities will be performed in a Process.
Message Flow A Message Flow is used to show the flow of messages between two participants that are prepared to send and receive them.
Association An Association is used to associate information with Flow Objects.
Swimlanes, which provide 2 ways of grouping the primary modeling elements.
Pools A Pool represents a Participant in a Process. It is also acts as a container for partitioning a set of activities from other pools.
Lanes A Lane is a sub-partition within a Pool which used to organize and categorize activities.
Artifacts, which are used to provide additional information about the Process.
Data Object They provide information about what activities require to be performed and/or what they produce, but do not effect on the Sequence Flow or Message Flow of the Process directly.
Group A box around a group of objects for documentation purposes
Annotation Text Annotations are a mechanism for a modeler to provide additional information for the reader of a BPMN Diagram.

BPD Complete Set:

Event Type Dimension\Flow Dimension Start
Intermediate
End
Message
Timer  
Error  
Cancel  
Compensation  
Rule  
Link
Multiple
Terminate    
Task (Atomic) A task is an atomic activity that is included within a Process.
Process/ Sub-Process (non-atomic) Collapsed Sub-Process The details of it are not visible in the Diagram.
Expanded Sub-Process The boundary of the Sub-Process is expanded and the details are visible within its boundary.
Gateway XOR Exclusive decision and merging. Data-Based:

Event-Based:
OR Inclusive decision and merging
Complex Complex conditions and situations
AND Forking and Joining
Sequence Flow Normal Flow Uncontrolled flow Which refers to flow that is not affected by any conditions or does not pass through a Gateway.
Conditional flow Which have condition expressions that are evaluated at runtime to determine whether or not the flow will be used.
Default flow For Data-Based Exclusive Decisions or Inclusive Decisions, one type of flow is the Default condition flow.
Exception Flow Which occurs outside the Normal Flow of the Process and is based upon an Intermediate Event that occurs during the performance of the Process.
Message Flow Which is used to show the flow of messages between two entities that are prepared to send and receive them.
Compensation Association Which occurs outside the Normal Flow of the Process and is based upon an event (a Cancel Intermediate Event) that is triggered through the failure of a Transaction or a Compensate Event.
Data Object Which provide information about what activities require to be performed and/or what they produce, but do not effect the Sequence Flow directly.
Fork (AND-Split) BPMN uses the term ?fork? to refer to the dividing of a path into two or more parallel paths. It is a place in the Process where activities can be performed concurrently.
Join (AND-Join) BPMN uses the term ?join? to refer to the combining of two or more parallel paths into one path
Decision, Branching Point; (OR-Split) Exclusive (only one of a set of alternatives may be chosen during runtime) Data-Based Which represents a branching point where Alternatives are based on conditional expressions contained within the outgoing Sequence Flow.
Event-Based Which represents a branching point where Alternatives are based on an Event that occurs at that point in the Process. There are 2 options for receiving Messages: Tasks of Type Receive, Intermediate Events of Type Message.
Inclusive Which represents a branching point where Alternatives are based on conditional expressions contained within the outgoing Sequence Flow. Each path is independent, all combinations of the paths may be taken.
Merging (OR-Join) BPMN uses the term ?merge? to refer to the exclusive combining of two or more paths into one path.
Looping Activity Looping The attributes of Tasks and Sub-Processes will determine if they are repeated or performed once. There are 2 types of loops: Standard and Multi-Instance.
Sequence Flow Looping Loops can be created by connecting a Sequence Flow to an ?upstream? object.
Multiple Instances The attributes of Tasks and Sub-Processes will determine if they are repeated or performed once.
Process Break A Process Break is a location in the Process that shows where an expected delay will occur within a Process.
Transaction Which is a Sub-Process that is supported by special protocol that insures that all parties involved have complete agreement that the activity should be completed or cancelled.
Nested / Embedded Sub-Process Which is an activity that shares the same set of data as its parent process.  
Group A box around a group of activities for documentation purposes
Off-Page Connector Generally used for printing, this object will show where the Sequence Flow leaves one page and then restarts on the next page.
Association An Association is used to associate information with Flow Objects.
Text Annotation Text Annotations are a mechanism for a modeler to provide additional information for the reader of a BPMN Diagram.
Pool A Pool represents a Participant in a Process. It is also acts as a container for partitioning a set of activities from other pools.
Lanes A Lane is a sub-partition within a Pool which used to organize and categorize activities.

Sequence Flow Object Connection Rules (The Y indicates that the object listed in the row can connect to the object listed in the column.)

From\To
  Y Y Y Y Y
  Y Y Y Y Y
  Y Y Y Y Y
  Y Y Y Y Y
  Y Y Y Y Y
           

Message Flow Object Connection Rules (The Y indicates that the object listed in the row can connect to the object listed in the column.)

From\To
           
Y Y Y Y Y  
Y Y Y Y Y  
Y Y Y Y Y  
           
Y Y Y Y Y  

Business Process Diagram Attributes

Attributes Description
Id: Object This is a unique Id that distinguishes the Diagram from other Diagrams.
Name: String Name is an attribute that is text description of the Diagram.
Version (0-1):String This defines the Version number of the Diagram
Author (0-1):String This holds the name of the author of the Diagram.
Language (0-1):String This holds the name of the language in which text is written. (default:English)
ExpressionLanguage (0-1):String A Language MAY be provided so that the syntax of expressions used in the Diagram can be understood.
QueryLanguage (0-1): String A Language MAY be provided so that the syntax of queries used in the Diagram can be understood.
CreationDate (0-1): Date This defines the data on which the Diagram was created (for the current ver.)
ModificationDate (0-1):Date This defines the data on which the Diagram was last modified (for this ver.)
Pools (1-n): Pool A BPD SHALL contain one or more Pools.
Documentation (0-1): String The modeler MAY add optional text documentation about the Diagram.

A Process is an activity performed within a company or organization. In BPMN a Process is depicted as a graph of Flow Objects, which are a set of other activities and the controls that sequence them.

Process Attributes:

Attributes Description
Id: Object This is a unique Id that identifies the object from other objects within the Diagram.
Name: String Name is an attribute that is text description of the object.
ProcessType (None | Private | Abstrct | Collaboration) None: String ProcessType is an attribute that provides information about which lower-level language the Pool will be mapped. A Private ProcessType -> an executable BPEL4WS process, An Abstract ProcessType -> an abstract BPEL4WS process, A Collaboration ProcessType -> ebXML or WS Choreography.
Status (None | Ready | Active | Cancelled | Aborting | Aborted | Completing | Completed) None : String The Status of a Process is determined when the Process is being executed by a process engine.
GraphicalElements (0-n) : Object The GraphicalElements attribute identifies all of the objects that are contained within the Business Process.
Assignments (0-n): Assignment One or more assignment expressions MAY be made for the object. The Assignment SHALL be performed as defined by the AssignTime attribute.
Properties (0-n): Property Modeler-defined Properties MAY be added to a Process. These Properties are ?local? to the Process. All Tasks, Sub-Process objects, and Sub-Processes that are embedded SHALL have access to these Properties.
AdHoc False: Boolean This specifies whether the Process is Ad Hoc or not. The activities within an Ad Hoc Process are not controlled or sequenced in a particular order, their performance is determined by the performers of the activities.
[AdHoc = True only] AdHocOrdering (0-1) (Sequential | Parallel) Parallel: String If the Process is Ad Hoc, then the AdHocOrdering attribute MUST be included. This attribute defines if the activities within the Process can be performed in Parallel or must be performed sequentially. The default setting is Parallel and the setting of Sequential is a restriction on the performance that may be required due to shared resources.
[AdHoc = True only] AdHocCompletionCondition(0-1):Expression If the Process is Ad Hoc, then the AdHocCompletionCondition attribute MUST be included. This attribute defines the conditions when the Process will end.
SuppressJoinFailure False: Boolean This attribute is included for mapping to BPEL4WS. This specifies whether or not a BPEL4WS joinFailure fault will be suppressed for all activities in the BPEL4WS process.
EnableInstanceCompensation False:Boolean This attribute is included for mapping to BPEL4WS. It specifies whether or not a compensation can be performed after the Process has completed normally.
Categories (0-n): String The modeler MAY add one or more defined Categories that can be used for purposes such as reporting and analysis.
Documentation (0-1):String The modeler MAY add text documentation about the Process.

BPMN Overview - Notes of BPMN (Part 1)

Written by coregps on Saturday, January 8th, 2005 in Workflow.

The Business Process Modeling Notation (BPMN) specification provides a graphical notation for expressing business processes in a Business Process Diagram (BPD). The objective of BPMN is to support business process management by both technical users and business users by providing a notation that is intuitive to business users yet able to represent complex process semantics. The BPMN specification also provides a mapping between the graphics of the notation to the underlying constructs of execution languages, particularly BPEL4WS.


Web services-based XML execution languages such as BPEL4WS provide a formal mechanism for the definition of business processes. However, the optimization of BPEL4WS for software operations renders them less suited for direct use by humans to design, manage, and monitor business processes. Business people are very comfortable with visualizing business processes in a flow-chart format. This creates a technical gap between the format of the initial design of business processes and the format of the languages, such as BPEL4WS, that will execute these business processes. This gap needs to be bridged with a formal mechanism that maps the appropriate visualization of the business processes (a notation) to the appropriate execution format (a BPM execution language) for these business process. BPMN would provide a standard visualization mechanism for business processes defined in an execution optimized business process language.


There are three basic types of sub-models within an end-to-end BPMN model:



  • Private (internal) business processes, which are those internal to a special organization and are the types of processes that have been generally called workflow or BPM processes.

  • Abstract (public) processes, which represents the interactions between a private business process and another process or participant. Only those activities that are used to communicate outside the private business process, plus the appropriate flow control mechanisms, are included in the abstract process.

  • Collaboration (global) processes, which depicts the interactions between two or more business entities. These interactions are defined as a sequence of activities that represent the message exchange patterns between the entities involved.



Site Navigation