Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Aphorismen
Applications
Business Economics & Admin.
My Computers
Cooking
Devices
Folders
Food
Hardware
Infos
Software Development
Sports
Operation Instructions
Todos
Test
Help
Glossary
Community portal
adaptions
Sidebar anpassen
Wiki RB4
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
BPMN
(section)
Page
Discussion
English
Read
Edit
View history
Toolbox
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
====Activities==== Overview in [http://localhost/VisioExports/BPM.htm BPMN Activities]: Activites can be atomic or non-atomic (compound). * [[#Task|Task]] * [[#Sub-Process|Sub-Process]] * [[#Call_Activity|Call Activity]] If the Activity has multiple incoming Sequence Flows, then this is considered '''uncontrolled''' flow. This means that when a token arrives from one of the Paths, the Activity will be instantiated. It will not wait for the arrival of tokens from the other paths. If another token arrives from the same path or another path, then a separate instance of the Activity will be created (it could be seen as an implicit XOR before the activity). Multiple Outgoing Sequence Flows can be used (see figure top-right). This represents '''uncontrolled''' flow. If an Activity has no incoming Sequence Flows, the Activity will be instantiated when the containing Process or Sub-Process is instantiated. Exceptions to this are Compensation activities, Link intermediate event, Event Sub-Process =====Activity Marker===== Activity markers are: * [[#Loop|Loop marker]] (reference to LoopCharacteristics is set and not NULL) * [[#Multi-Instance|Multi-Instance]] (Parallel or sequential Multiple Execution Marker) * [[#Compensation|Compensation Marker]] ======Loop====== An '''Loop Activity''' defines looping behavior based on a boolean condition and has an additional attribute loopCounter which is set by the process engine. An attribute defines if the test is evaluated at the beginnnig or end of a loop iteration. ======Multi-Instance====== The '''Multi-Instance Activity''' is somehow a specialization of a Loop Activity because of the BPMN spec class diagramm. The behavior of when the token is passed on is a matter of configuration (BPMN 2.0 spec page 432). If a Interrupting Boundary Event is attached all instances are cancelled. ======Compensation====== '''Compensation''' is concerned with undoing steps that were already successfully completed, because their results and possibly side effects are no longer desired and need to be reversed. To be compensated, an Activity must have a boundary Compensation Event or contain a [[#CompensationEventSubProcess|Compensation Event Sub-Process]]. Compensation is triggered by a throw Compensation Event, which typically will be raised by an error handler, as part of cancellation, or recursively by another compensation handler. Compensation of a failed Activity results in an empty operation. If compensation is triggered for a Multi-Instance Sub-Process compensation is triggered for all instances, but only if all its instances have completed successfully (BPMN 2.0 spec page 433). =====Lifecycle===== An Activity undergoes a specific '''Lifecycle''' (see BPMN Visio -> Activity Lifecycle). The Activity states are: * Activated * In execution * Completed * In Compensation * Compensation * In Error * In Cancellation * Cancelled =====Task===== * is atomic * starts immediately after the predecessor activity, this is at least from the modeling view also true for user tasks* * can have markers: ** Loop ** Multi-Instance ** Compensation ** Loop and Compensation ** Multi-Instance and Compensation * task type can be represented by an icon. [[#Task_Types|Task types]] are: ** Abstract or Undefined Task ** [[#Send_Task|Send]] ** [[#Receive_Task|Receive]] ** [[#User_Task|User]] ** [[#Manual_Task|Manual]] ** [[#Business_Rule_Task|Business Rule]] ** [[#Service_Task|Service]] ** [[#Script_Task|Script]] ======Send Task====== * A Send Task is a simple Task that is designed to send a Message to an external Participant. Once the Message has been sent, the Task is completed. * The difference to a throwing [[#Message_Intermediate_Event|Message Intermediate Event]] is: ** it can have a Multi-Instance marker ** it can have boundary events ======Receive Task====== * A Receive Task is a simple Task that is designed to wait for a Message to arrive from an external Participant. Once the Message has been received, the Task is completed. * Can start a process, but must not have any incoming sequence flow in this case. In this case the envelope is inside a circle. ======User Task====== * A User Task is executed by and managed by a business process runtime. Attributes concerning the human involvement, like people assignments and UI rendering can be specified in great detail. * A User Task is a typical “workflow” Task where a human performer performs the Task with the assistance of a software application and is scheduled through a task list manager of some sort. ======Manual Task====== * A Manual Task is a Task that is expected to be performed without the aid of any business process execution engine or any application. An example of this could be a telephone technician installing a telephone at a customer location. * A Manual Task is neither executed by nor managed by a business process runtime. ======Business Rule Task====== * A Business Rule Task provides a mechanism for the Process to provide input to a Business Rules Engine and to get the output of calculations that the Business Rules Engine might provide. ======Service Task====== * A Service Task is a Task that uses some sort of service, which could be a Web service or an automated application. * should be used for synchronous calls ======Script Task====== * A Script Task is executed by a business process engine. The modeler or implementer defines a script in a language that the engine can interpret. When the Task is ready to start, the engine will execute the script. When the script is completed, the Task will also be completed. * has exactly one input set and at most one output set =====Sub-Process===== * Sub-Types are: ** [[#Ad-hoc_Sub-Process|Ad-Hoc Sub-Process]] ** [[#Event_Sub-Process|Event Sub-Process]] ** [[#Transaction_Sub-Process|Transaction Sub-Process]] * Markers are: ** Loop ** Multi-instance ** Compensation ** Ad-Hoc ** Compensation and Ad-Hoc * must start with at least one undefined Start Event, but more than one are confusing * Start Event can be drawn to the boundary * if a pool is used the name must be the same as the parent process, if there is no pool there is an implicit one of the parent process * can also shown in a BPD inline/expanded * can be an embedded Sub-Process or an global Sub-Process ** Embedded Sub-Process may only have on None Start Event ** Embedeed Sub-Process may not have an pools or lanes ** Embedeed Sub-Process have access to the parent process data * may contain lanes * completes when all tokens have reached an End Event * the exception flow happens immediately, triggering the next downstream, the sequence flow (normal flow) does not get executed ======Ad-hoc Sub-Process====== An Ad-Hoc Sub-Process or Process contains a number of embedded inner Activities and is intended to be executed with a more flexible. The Ad-Hoc Sub-Process contains only Activities, Sequence Flows, Gateways, and Intermediate Events. An Ad-Hoc Sub-Process may also contain Data Objects and Data Associations. The Activities within the Ad-Hoc Sub-Process are not required to have incoming and outgoing Sequence Flows. However, it is possible to specify Sequence Flows between some of the contained Activities. The contained Activities are executed sequentially or in parallel, they can be executed multiple times in an order that is only constrained through the specified Sequence Flows, Gateways, and data connections. After completion of an inner activity an completion condition is evaluated, so the sub-process might be completed by meeting the condition without having started some of the activities. ======Event Sub-Process====== * allow to handle an Event within the context of a given Sub-Processes or Process * is a specialized Sub-Process that is used within a Process (or Sub-Process) * when the triggeredbyEvent attribute of Sub-Process is true * has no in-coming and out-going sequence flows * MAY or MAY NOT occur while the parent Process is active, but it is possible that it will occur many times * An Event Sub-Process MUST have one and only one Start Event * has access to all data of the surrounding Sub-Process * they cannot have attached boundary Events * becomes initiated, and thus Enabled and Running, through the Activity to which it is attached * There are two possible consequences to the parent Process when an Event Sub-Process is triggered: ** the parent Process can be interrupted (cancels execution of the enclosing Sub-Process, identified by an interrupting start event (if the isInterrupting attribute of its Start Event is set)) ** the parent Process can continue its work (not interrupted, identified with an Non-interrupting Start Event) (enclosed runs parallel) * If the parent Activity enters the state Completing, it remains in that state until all contained active Event Sub-Processes have completed.On the other hand the subsequent Activity of the Sub-Process with the Event Sub-Process will not be triggered until all Activities within the Sub-Process are finalized although the Event Sub-Process is already completed. * there are special Event Sub-Processes ** [[#CompensationEventSubProcess|Compensation Event Sub-Process]] <span id="CompensationEventSubProcess">'''Compensation Event Sub-Process'''</span> * A Compensation Event Sub-Process can recursively trigger compensation for Activities contained in its parent (see OMG spec example) ======Transaction Sub-Process====== * A Transaction is a specialized type of Sub-Process that will have a special behavior that is controlled through a transaction protocol (such as WS-Transaction). =====Call Activity===== * is a wrapper for a globally defined Process or Task that is reused in the current process. * A Call Activity has a thick border, it has the Sub-Process marker if it calls a process and it is collapsed. * the called process has to have at least one None start event * in BPMN 1.2 it was called re-usable Sub-Process * Each time the Start Event is triggered while the parent Process is active, then the Event Sub-Process will start =====Global Task===== * a Global Task is a reusable task than can be called by a Call Activity * The following types are available for Global Tasks: ** User Task ** Manual Task ** Script Task ** Business Rule Task
Summary:
Please note that all contributions to Wiki RB4 may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Uwe Heuer Wiki New:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width