Modeling Business Processes With BPMN

2y ago
46 Views
2 Downloads
3.84 MB
133 Pages
Last View : 14d ago
Last Download : 3m ago
Upload by : Javier Atchley
Transcription

Modeling Business Processeswith BPMNAndrea Marrellamarrella@dis.uniroma1.it

Presentation Outline This seminar introduces business process modeling using the BPMN(Business Process Model and Notation) standard. Visit http://www.bpmn.org/ for downloading the complete specificationof BPMN 2.0 and some interesting examples. Web site of the course : http://www.dis.uniroma1.it/ bpm Download slides at :http://www.dis.uniroma1.it/ marrella/teaching.html Reference Books :Marlon Dumas, Marcello La Rosa, Jan Mendling, Hajo ReijersFundamentals of Business Process ManagementStephen A. White PhD, Derek MiersBPMN Modeling and Reference GuideThomas AllweyerBPMN 2.0 - Introduction to the Standard for Business ProcessModeling2

Topics Process ModelingBPMN BackgroundBasic ConceptsAdvanced ConceptsConclusions3

Business Processes Business Process [1] : “A business process consists of a set ofactivities that are performed in coordination in an organizational andtechnical environment. These activities jointly realize a business goal ”– A business goal is the target that an organization aims to achieve byperforming correctly the related business process. Currently, business processes are the core of most informationsystems– production line of a car manufacturer, procedures for buying tickets online This requires that organizations specify their flows of work for theorchestration of participants, information and technology for therealization of products and services. In order to manage Business Processes, they have to be describedand documented in terms of process models.4

A first BPMN ExampleBusiness processconcerning the bookloans service provided bya library. A notation for graphic business process modeling definesthe symbols for the various process elements, their correctmeaning as well as their possible combinations. Thus, a notation is a standardized language for thedescription of business processes.5

The Process Life-Cycle1.2.3.4.5.6.Process identificationProcess discovery (as-is)Process analysisProcess redesign (to-be)Process implementationProcess monitoring/controllingProcess models areimportant in variousstages of the process temsThe models produced willlook quite differentlydepending on the reasonfor modeling them in thefirst place.6

Purposes of ProcessModelingOrganizationalAnalysisHigh-level Modelsincluding“AS IS”ProcessModelsProcessMetricsProcessEnactment &MonitoringProcessImplementationExecutableProcess ModelsProcessEvaluationTarget ValuesMeasures forImprovement“TO BE”ProcessProcessModelsAnalysis & DesignCommunication,simulation, activitybased costing Detailed ModelsincludingData types, conditions, datamappings, fault handling Integration, testing,deployment 7

Executable ProcessModels Executable Process Models carry the instructions on how workshould happen, who should do it, links to the other systems, etc. They provide a direct method of translating strategical andtactical intent into operational processes. For being executed, process models have to meet very strictdemands, because they are not converted into a computer programby a human being, but directly processed by a machine. Currently, many standards for executable process descriptionshave been established, such as:– XPDL (XML Process Definition Language) [2]– BPEL (Business Process Execution Language) [3] but such descriptions have no graphical notations, and the mainrange of application is the definition of automatic processes. YAWL (Yet Another Workflow Language) [7] is a modelinglanguage that allows for a graphical representation of executableprocess models.8

Process ManagementSystems Process Management System (PMS) [1] : “A PMS is ageneric software system that is driven by explicitprocess representations to coordinate the enactment ofbusiness processes ”.It manages theprocess routinglibrarianPMSIt takes a processmodel as inputIt assigns tasksto proper participantssystem– A PMS is driven by a specific business process model.9

The Importance ofProcess Modeling To model a process leads to a number of questions :––––––Which steps are really necessary?Who should do them?Should they be kept in house or outsourced?How they should be done?What capabilities are needed?What results do we expect and how will they be monitored? While the answers to these questions are alwayssituation-specific without the backdrop of a commonly agreeddescription of the business process in question, suchanswers are often vague and wooly.10

Repr. Capabilities (Data vs. Control Flow)Modeling Languages forBusiness ProcessesArtifact-centricBusinessProcesses [4][7]Workflow Nets [5][8]DECLARE [6]11

Topics Process ModelingBPMN BackgroundBasic ConceptsAdvanced ConceptsConclusions12

Business Process ModelingNotation(BPMN) BPMN is the OMG standard for representing businessprocesses. There are many tool for designingn a BPMN process:–––––––––Bizagi Process Modeller (it also provides an execution engine)JBPM (Eclipse plugin)SignavioTIBCO Business Studio (free download, quite large)IBM Websphere Business ModelerARISOracle BPABusiness Process Visual Architect (Visual Paradigm)Progress Savvion Business Modeller13

Why BPMN? “The primary goal of BPMN is to provide a notation thatis readily understandable by all business users, fromthe business analysts that create the initial draft of theprocesses, to the technical developers responsible forimplementing the technology that will perform theseprocesses, and finally to the business people who willmanage and monitor those processes.” “The idea is to create a standardized bridge for thegap between the business process design andprocess implementation.” [BPMN 2.0 spec.]14

The history of BPMNIn 2001 BPMI(Business ProcessManagement Initiative)developed BPML as anXML processexecution language.In 2004 BPMN 1.0 wasreleased to the publicand in 2006 it wasadopted as OMGstandard.The vendors realized immediately there wasa need of a graphical representation for thelanguage oriented towards the needs ofbusiness users. Not a notation that directlyrepresents the precise execution languageunder development.In Feb.2008 BPMN 1.1was released to thepublic, making themeaning of thenotation moreexplicit.BPMN 1.2 does notinclude any significantgraphical changes;modifications weremerely editorial. 15

BPMN 1.2 vs BPMN 2.0 BPMN 1.2 provides a mapping from a “valid” BPMNdiagram to BPEL, such that an engine can execute theprocess.– The 1.2 specification provides only contained verbaldescriptions of the graphic notations elements and modelingrules. This leads to misleading and confusions in the translationprocess. BPMN 2.0 beta 2 was introduced in June 2010.– It represents the biggest revision of BPMN since its inception. BPMN 2.0 received a formal definition in the form of ametamodel, that is a precise definition of the constructsand rules needed for creating specific models.16

What is a Metamodel?17

BPMN 2.0 Metamodel Metamodelling provides anumber of benefits :– It formalizes the definition ofmodels and entities.– It formalizes the relationshipbetween elements.– It enables interoperability. The new version’s specificationdocument has got comprehensiveUML class diagram thatgraphically show the features ofthe different BPMN constructs andtheir relationships.18

BPMN 1.2 vs BPMN 2.0 The metamodel also has got additional languageconstructs that cannot be represented in the graphicmodels.– Such constructs are required by process engines to capture thenecessary additional information for process execution. Moreover, the metamodel was the basis for thedevelopment on an exchange format for BPMN models.– Up to now, it was almost impossible to transfer BPMN models from onetool into another.– Some tools have got import and export interfaces for the exchange ofBPMN models by means of the XPDL format, but the use of XPDL for thispurpose is not widely accepted yet.– Moreover, XPDL has not been implemented uniformly by all vendors, sothat in practice there are quite often problems with model exchange.19

Current BPMN 1.2problemsThe absence of a formalsemantic makes thetranslation processmisleading and confusing.20

Solving BPMN 1.xproblems with BPMN 2.0BPMN 2.0 has now its explicitexecution semantic, and it ispossible to directly executedetailed BPMN models.21

BPMN 2.0 The typical modeler does not need to work with themetamodel. Normally, s\he uses a modeling tool thatonly allow the creation of models complying with thespecification, and thus with the metamodel. It is rather the vendors of modeling tools and processengines who have to deal with the metamodel. BPMN 2.0 supports 3 different levels of processmodeling:– Process Maps: simple flow charts of the activities.– Process Descriptions: flow charts extended with additionalinformation, but not enough to fully define actual performance.– Process Models: flow charts extended with enough information so thatthe process can be analyzed, simulated, and/or executed.22

Topics Process ModelingBPMN BackgroundBasic ConceptsAdvanced ConceptsConclusions23

BPMN Basic Elements 4 basic elements, that usually cover the 80% ofmodeling needs.It is an atomicunit of work thathas a duration.Events representthings that happeninstantaneously.Arcs impose temporalconstraints betweenflow objects.Elements thatcontrol the flowof execution ofthe process.24

Connecting Activities The sequence flow defines the order of flow objects in a process (activities,events and gateways). Each activity can have one or more incomingsequence flow and one or more outgoing sequence flow.SendInvoice ReceivePaymentAcceptPaymentTypically, an activity tends to have a single incoming and a single outgoingsequence flow.Each process must have always at least a start event (a circle with a thinborder), that shows where a process instance can start, and a end event (acircle with a thick border), for indicating when a process instance completes.Starting from a process model, an organization runs a number of independentinstances of this process.25

Activity Behaviour Once a process instance has been created, we use the notion of token toidentify the progress (or state) of that instance.A token is a “theoretical object” used to create a descriptive “simulation” ofthe behavior associated to each BPMN element (it is not currently a formalpart of the BPMN specification).A token is created in the start event, traverses the sequence flow and isdestroyed in a end event. That is, there is no time associated with the tokentravelling down a sequence flow.26

A first example: an ordermanagement processThese activities aremutuallyexclusives.ActivitiesStart eventEnd event.BPMN adoptsthe implicitterminationsemantics.Reject orderOrderrejectedCheck stockavailabilityPurchaseorderreceivedXSend invoiceConfirm order OrderfulfilledExclusiveGatewaysShip goodsParallelGatewaysThese activitiescan be executedconcurrently.27

A bit more on gateways A gateway implies that there is a gating mechanism thateither allows or disallows passage of tokens through thegateway. As tokens arrive at a gateway, they can be mergedtogether on input, or split apart on output depending onthe gateway type. A split gateway represents a point where the processflow diverges, while a join gateway represents a pointwhere the process flow converges. Splits have one incoming sequence flow and multiple outgoingsequence flows (representing the branches that diverge).Joins have multiple incoming sequence flows (representing thebranches to be merged) and one outgoing sequence flow.28

Types of gateways Exclusive Gateways (XOR)– Indicates locations within a business process where thesequence flow can take two or more alternative paths.– Only one of the paths can be taken.– Depicted by a diamond shape that may contain a markerthat is shaped like an “X”.– We use a XOR-join to merge two or more alternativebranches that may have previously been forked with aXOR-split. Parallel Gateways (AND)– Provide a mechanism to synchronize parallel flows(AND-join) and to create parallel flows (AND-split), withactivities that can be executed concurrently.– Depicted by a diamond shape that must contain a markerthat is shaped like a plus sign.29

Exclusive Gateways –Splitting Behaviour Exclusive gateways are locationswithin a process where there aretwo or more alternative paths. The criteria for the decision, whichthe exclusive gateway represents,exist as conditions on each of theoutgoing sequence flow. When a token arrives at anexclusive gateway, there is animmediate evaluation of theconditions that are on the gateway’soutgoing sequence flow. One ofthose conditions must alwaysevaluate to true.30

Default ConditionsThe default condition hasthe meaning of “otherwise”,and it can be left unlabeled. One way for the modeler toensure that the process doesnot get stuck at an exclusivegateway is to use a defaultcondition for one of theoutgoing sequence flow. The default condition cancomplement a set of standardconditions to provide anautomatic escapemechanism in case all thestandard conditions evaluate tofalse. The default is chosen if all theother sequence flow conditionsturn out to be false.31

Exclusive Gateways –Merging Behaviour When a token arrives at the exclusive gateway, there is no evaluation ofconditions (on the incoming sequence flow), and immediately moves downthe outgoing sequence flow.32

Exercise As soon as an invoice is received from a customer, itneeds to be checked for mismatches. The check may result in either of these three options:– i) there are no mismatches, in which case the invoice is posted;– ii) there are mismatches but these can be corrected, in which casethe invoice is re-sent to the customer; and– iii) there are mismatches but these cannot be corrected, in whichcase the invoice is blocked. Once one of these three activities is performed theinvoice is parked and the process completes.33

Solution34

Parallel Gateways –Splitting Behaviour When a token arrives at a parallel gateway,there is no evaluation of any conditions onthe outgoing sequence flow. The parallel gateway will create parallelpaths. This means that the gateway will create anumber of tokens that are equal to thenumber of outgoing sequence flow. Onetoken moves down each of those outgoingsequence flow.35

Parallel Gateways –Merging Behaviour To synchronize the flow, the parallel gateway will wait for a token to arrivefrom each incoming sequence flow.When the first token arrives, there is no evaluation of a condition for theincoming sequence flow, but the token is “held” at the gateway and doesnot continue.When all the tokens are arrived, then they are merged and one token movesdown the outgoing sequence flow.36

Exercise Once the boarding pass has been received, passengers proceedto the security check. Here they need to pass the personalsecurity screening and the luggage screening. Afterwards, theycan proceed to the departure level.37

Exercise Describe the behavior of this process.38

SolutionOnly two of three paths will beused at any one time. Thus, theProcess will be stuck waiting forthe third path39

Inclusive gateways Inclusive Gateways (OR)– Sometimes we may need to take one or more branchesafter a decision activity.– To model situations where a decision may lead to one ormore options being taken at the same time, we need touse an inclusive (OR) split gateway.– An OR-split is similar to the XOR-split, but theconditions on its outgoing branches do not need to bemutually exclusive, i.e. more than one of them can betrue at the same time.– When we encounter an OR-split, we thus take one ormore branches depending on which conditions are true.40

Inclusive Gateways –Splitting Behaviour Inclusive gateways support decisions wheremore than one outcome is possible at thedecision point.Inclusive gateway with multiple outgoingsequence flows creates one or more pathsbased on the conditions on those sequenceflow.In terms of token semantics, this means thatthe OR-split takes the input token andgenerates a number of tokens equivalentto the number of output conditions thatare true.Every condition that evaluates to true willresult in a token moving down that sequenceflow.At least one of those conditions mustevaluate to true.41

Inclusive Gateways –Merging Behaviour When the first token arrives at the gateway, thegateway will “look” upstream for each of theother incoming sequence flow to see if there is atoken that might arrive at a later time.Thus, the gateway will hold the first token thatarrived in the upper path until the other tokenfrom the lower path arrives.When all the expected tokens have arrived atthe gateway, the process flow is synchronized(the incoming tokens are merged) and then atoken moves down the gateway’s outgoingsequence flow.42

ExerciseA company has two warehouses that store differentproducts: Amsterdam and Hamburg.When an order is received, it is distributed across thesewarehouses: if some of the relevant products aremaintained in Amsterdam, a sub-order is sent there;likewise, if some relevant products are maintained inHamburg, a sub-order is sent there.Afterwards, the order is registered and the processcompletes.

A first solutionSome activities represented inthe process model have to beduplicated.

A second solutionThis process works also forempty orders (i.e., for orders thatdo not contain neitherAmsterdam nor Hamburgproducts)

A third solution with ORgateways

What type should weassign to this join?47

What type should weassign to this join?Let us try an AND-join to match the preceding AND-split.We recall that an AND-join waits for a token to arrive fromeach incoming branch. While the token from the branch withactivity “C” will always arrive, the token from the branch withactivities “B” and “D” may not arrive if this is routed to “E” bythe XOR-split.So if activity “D” is not executed, the AND-join will waitindefinitely for that token, with the consequence that theprocess instance will not be able to progress any further.This behavioral anomaly is called deadlock and should beavoided.48

What type should weassign to this join?Let us try an XOR-join. We recall that the XOR-join works as apass-through by forwarding to its output branch each token thatarrives through one of its input branches.In our example this means that we may execute activity “F” onceor twice, depending whether the preceding XOR-split routes thetoken to “E” (in this case “F” is executed once) or to “D” (“F” isexecuted twice).While this solution may work, we have the problem that we do notknow whether activity “F” will be executed once or twice, and wemay actually not want to execute it twice. Moreover, if this isthe case, we would signal that the process has completed twice,since the end event following “F” will receive two tokens. And this,again, is something we want to avoid.49

What type should weassign to this join?The only join type left to try is the OR-join.An OR-join will wait for all incoming active branches to complete. If theXOR-split routes control to “E”, the OR-join will not wait for a token fromthe branch bearing activity “D”, since this will never arrive.Thus, it will proceed once the token from activity “C” arrives. On theother hand, if the XOR-split routes control to “D”, the OR-join will wait fora token to also arrive from this branch, and once both tokens havearrived, it will merge them into one and send this token out, so that “F”can be executed once and the process can complete normally.50

When should we usean OR-join?Since the OR-join semantics is not simple, the presence ofthis element in a model may confuse the reader.Thus, we suggest to use it only when it is strictly required.Clearly, it is easy to see that an OR-join must be usedwhenever we need to syn

Business Process Modeling Notation(BPMN) 13 BPMN is the OMG standard for representing business processes. There are many tool for designingn a BPMN process: –Bizagi Process Modeller (it also provides an execution engine) –JBPM (Eclipse plugin) –Sig

Related Documents:

BPMN is an internationally accepted process modeling standard. BPMN is independent of any process modeling methodology. BPMN creates a standardized bridge which reduces the gap between business processes and their implementation. BPMN enables you to model pro

Business Process Modeling Notation (BPMN) BPMN is a grphical representation for specifying business processes in a workflow BPMN was developed by Business Process Management Initiative (BPMI) BPMN is currently maintained by the Object Management Group (OMG) since 2005 BPMN 2.0 p

Business analysts use Business Process Modeling Notation (BPMN) to model business process diagrams. BPMN [32] has risen in recent years as the popular modeling “lan-guage” for business processes. Figure 1.1 is a simple example of a BPMN diagram. BPMN became the popular s

iServer BPMN Stencil: Levels of BPMN Thanks for Downloading the Free BPMN 2.0 Stencil! Orbus Software have created a Visio BPMN Stencil that you are free to use. This Stencil was created based on the OMG s BPMN Specification v2.0 (January 2011), and to the best of our knowledge all shapes are fully supported as specified.

BPMN is an internationally accepted process modeling standard. BPMN is independent of any process modeling methodology. BPMN creates a standardized bridge which reduces the gap between business processes and their implementation. BPMN enables you to model

BPMN Business Process Modeling Notation (BPMN) 2.0 is a standard for modeling business processes. It provides a graphical notation for specifying business processes in a Business Process Diagram. BPMN is based on a f

Figure 3: Results of Business Process Modeling Figure 2: Process model for each individual process About bPMn Figure 4: Activity types and markers BPMN (Business Process Modeling Notation) is a graphical notation for business process modeling. The objective of BPMN is to support business process modeling

BCS Essentials Certificate in Artificial Intelligence Syllabus V1.0 BCS 2018 Page 10 of 16 Recommended Reading List Artificial Intelligence and Consciousness Title Artificial Intelligence, A Modern Approach, 3rd Edition Author Stuart Russell and Peter Norvig, Publication Date 2016, ISBN 10 1292153962