Business Process Modelling -8.2/2013 - Marcello La Rosa Queensland University of Technology Brisbane, 12 September 2013 Mid-semester survey: your words, our actions… Generally, very positive comments. A few notes worth commenting: 1. Too many readings: read the required readings, the others are for your own culture and interest 2. Use of Signavio: not mandatory 3. Tutorial notes online late: usually on Friday, we will strive to put them up on Thursday after the class 4. Assignment specification came up too early, content not yet fully covered: the idea is that you build your report incrementally rather than being confronted with a lot of content altogether. No selfstudy required. Do not anticipate content! 5. Audio quality poor: AV Support notified. 6. THU 8pm tutorial inconvenient: moved to S502 at 5pm for Weeks 8-12. Week 13 in S503 at 8pm. © INB/INN320 8.2/2011 – 12 September 2013 2 Tutorials attendance rate Raffaele, Eike, Stephan Time Mon 9am Tue Wed Thu Fri S502 (10) 10am S518 (10) 11am 12am 1pm S503 (25), S506 (10) S506 (20) 2pm S507 (20) 3pm S410 – LECT 4pm S410 – LECT 5pm S502 (35) NEW! 6pm 7pm 8pm © INB/INN320 8.2/2011 – 12 September 2013 S503 (30) S503 (35) 3 Quick Repeat from Week 7 • What splits and joins can be represented implicitly in BPMN? • What is a sub-process? • How can we model repetition in BPMN? • What is a multi-instance task? © INB/INN320 8.2/2011 – 12 September 2013 4 Uncontrolled Repetition: Ad-hoc sub-process • The ad-hoc sub-process contains activities (tasks or subprocesses) to be executed in arbitrary order and time • May define order of sub-set of activities by sequence flow • Can be used in an early version of a process diagram when the order of execution is still unknown • Denoted with a tilde marker on the expanded sub-process notation Review company’s KPIs © INB/INN320 8.2/2011 – 12 September 2013 Evaluate prior performance Assess financial stability Profile products and services Interview corporate executives ~ 5 Example: ad-hoc sub-process A typical army selection process starts by shortlisting all candidates’ applications. Those shortlisted are then called to sit the following tests: drug and alcohol, eye, color vision, hearing, blood, urine, weight, fingerprinting and doctor examination. The color vision can only be done after the eye test, while the doctor examination can only be done after color vision, hearing, blood, urine and weight have been tested. Moreover, it may be required for some candidates to repeat some of these tests multiple times in order to get a correct assessment, e.g. the blood test may need be repeated if the candidate has taken too much sugar in the previous 24 hours. The candidates that pass all tests are asked to sit a mental exam and a physical exam, followed by an interview. Only those that also pass these two exams and perform well in the interview can be recruited in the army. © INB/INN320 8.2/2011 – 12 September 2013 6 Solution: ad-hoc sub-process © INB/INN320 8.2/2011 – 12 September 2013 7 Value chain modelling Chain of (high-level) processes an organisation performs in order to achieve a business goal, e.g. deliver a product or service to the market. Business process “is predecessor of” © INB/INN320 8.2/2011 – 12 September 2013 8 Linking value chains with process models Process model for this business process is available PO received Check stock availability Design product features New product to be developed Consult stakeholders Finalize product features x Product developed Product in stock Product not in stock Confirm order Reject order Order confirmed Order rejected v Send invoice Ship goods Invoice sent Goods shipped Invoice received Enter customer information Customer entered Enter purchase information Purchase info. entered Enter credit information Details entered © INB/INN320 8.2/2011 – 12 September 2013 9 BPMN Modelling - Events Handling - Event types Start Intermediate End Untyped Event – Indicates that an instance of the process is created (start) or completed (end), without specifying the cause for creation/completion Catch Start Message Event – Indicates that an instance of the process is created when a message is received End Message Event – Indicates that an instance of the process is completed when a message is sent Intermediate Message Event – Indicates that an event is expected to occur during the process. The event is triggered when a message is received or sent © INB/INN320 8.2/2011 – 12 September 2013 11 Event types (cont.’ed) Start Intermediate End Start Timer Event – Indicates that an instance of the process is created at certain date(s)/time(s), e.g. start process at 6pm every Friday Intermediate Timer Event – Triggered at certain date(s)/ time(s), or after a time interval has elapsed since the moment the event is “enabled” (delay) Intermediate Link Event – Indicates that the process flow is resumed from a previous diagram (represented elsewhere), or that it continues in a subsequent diagram (represented elsewhere). Often used as an off-page connector. © INB/INN320 8.2/2011 – 12 September 2013 12 Message and Timer events Start Catching process starts upon message received Intermediate Catching message received during the process Throwing message sent during the process End Modelling Exceptions Throwing process ends upon message sent Normal Atomic Task/ Flow Sub-process Normal Flow task terminates upon message received Exception Flow process starts when time event occurs time event occurred (to model delay) Normal Atomic Task/ Flow Sub-process Normal Flow task terminates when time event occurs Exception Flow © INB/INN320 8.2/2011 – 12 September 2013 13 Example: message event Court Administration P&E Court Listings For all Judges Check P&E Judge Availability Check Court Calendar Court Calendar Received Court Calendar Change Request Request Sittings List Sittings List Received Change P&E Schedules Yearly Schedule Sent Judiciary Start event (receive) © INB/INN320 8.2/2011 – 12 September 2013 Intermediate catching event (receive) Resolve P&E Judge Availability End event (send) 14 Comparison with sending/receiving tasks Invoice received = Receive invoice = Receive invoice = Send invoice = Send invoice Is this really the same? Invoice received Invoice sent Invoice sent © INB/INN320 8.2/2011 – 12 September 2013 15 So, when to use what? Use message events only when the corresponding activity would simply send or receive a message and do nothing else © INB/INN320 8.2/2011 – 12 September 2013 16 Example: timer event Prepare Callover List 3 Weeks prior to Callover Prepare Callover Material Contact Parties 1 Week prior to Callover Start event Attend Callover Callover Day Intermediate catching event Prepare Callover Material Attend Callover 2 Hours Wake-up the List Manager © INB/INN320 8.2/2011 – 12 September 2013 Activities must always have input and output Sequence Flow 17 Find the bugs… Party Start Message Events cannot signal message sending Each Pool (white box) must have one start and one end event request warrant release Small Claims Registry Operations Retrieve STC File File Distribute SCT Warrant Possession coversheet Queensland Police Normal Flow cannot be used to pass on Data Objects © INB/INN320 8.2/2011 – 12 September 2013 File Report Store SCT Physical File “Awaiting Report” Retrieve SCT File File Attach SCT Document Expanded File Store SCT Physical File report • Start Timer instead of Intermediate Timer • Timer events cannot be used to wait for messages • Tasks cannot lead only to Exception Flow 18 A possible solution… Party Request warrant release Small Claims Registry Operations Distribute SCT Warrant Possession Retrieve SCT File Store SCT Physical File Store SCT Physical File report coversheet File Attach new SCT Document Retrieve SCT File Expanded File File File Queensland Police © INB/INN320 8.2/2011 – 12 September 2013 19 Example: modelling with events A Purchase Order (PO) handling process starts when a PO is received. The PO is first registered. If the current date is not a working day, the process waits until the following working day before proceeding. Otherwise, an availability check is performed and a “PO response” is sent back to the customer. Next working day weekend/ holiday Register PO PO Received © INB/INN320 8.2/2011 – 12 September 2013 weekday Check Availability Send PO Response PO fulfilled 20 Example: modelling with events A Purchase Order (PO) handling process starts when a PO is received. The PO is first registered. If the current date is not a working day, the process waits until the following working day before proceeding. Otherwise, an availability check is performed and a “PO response” is sent back to the customer. Anytime after the PO has been registered, the customer may send a “PO change request”. When such a PO change request is received, any processing related to the PO must be stopped. The PO change request is then registered. Thereafter, the process proceeds as it would do after a normal PO is registered. © INB/INN320 8.2/2011 – 12 September 2013 21 Solution: modelling with events Handle PO Next workingNext day working day weekend/ holiday weekend/ holiday Register PO PO Received weekday weekday Check Availability Check Send PO Availability Response PO Registered Send PO Response PO fulfilled Response sent PO fulfilled PO Change received Register PO Change © INB/INN320 8.2/2011 – 12 September 2013 22 Alternative solution Handle PO Register PO PO Received Check Availability Next working day Send PO Response Response sent PO fulfilled PO Change received Register PO Change © INB/INN320 8.2/2011 – 12 September 2013 23 Pool 1 Quiz: what’s wrong with this model? A B Message y Message z Message x D F Pool 2 c1 C Not c2 Not c1 © INB/INN320 8.2/2011 – 12 September 2013 E c2 24 Event-based decision • With the XOR-split gateway, a branch is chosen based on conditions that evaluate over available data The choice can be made immediately after the token arrives from the incoming flow • Sometimes, the choice must be delayed until an event happens The choice is based on a race among events • This is why BPMN distinguishes data-driven and event-driven XOR-splits data-driven XOR-split © INB/INN320 8.2/2011 – 12 September 2013 event-driven XOR split 25 Example: event-based decision Restaurants submit orders to suppliers to replenish their food stocks every Thursday. The process for completing an order starts when a restaurant receives either a “PO Response” or an error message. However it may also happen that no response is received at all. If no response is received by Friday afternoon or if an error message is received, the purchasing officer should be notified. Otherwise, the PO Response is processed normally. © INB/INN320 8.2/2011 – 12 September 2013 26 A possible solution PO Response Received Process PO Response Ordering completed Error Message Received From “Order submission” © INB/INN320 8.2/2011 – 12 September 2013 Friday afternoon Notify Purchasing Officer Ordering failed 27 Quiz: find the bugs Send Questionnaire Filled Questionnaire Received Send reminder not Intermediate Timer Event © INB/INN320 8.2/2011 – 12 September 2013 After 5 days 28 Solution: event-based decision Send Questionnaire Filled Questionnaire Received Send reminder After 5 days © INB/INN320 8.2/2011 – 12 September 2013 29 Pool 1 1 Pool Remember the quiz from slide 23? A A B B Message y Message y Message x Pool Pool22 c1 c1 D C C Message z D F Not c2 Not c2 Not c1Not c1 © INB/INN320 8.2/2011 – 12 September 2013 Message z Message x E E c2 c2 F 30 Interlude: multiple start events The first such event that occurs, will trigger an instance of the process. PO Response Received Process PO Response Error Message Received Friday afternoon © INB/INN320 8.2/2011 – 12 September 2013 Notify Purchasing Officer 31 What is this process doing? good delivered From “Process Invoice Relating to PO” POD received Verify Goods Delivery good not delivered To “Create Goods Receipt - Centralised” Request Proof of Delivery (POD) From “Process Blocked Invoice Relating to PO” 5 working days © INB/INN320 8.2/2011 – 12 September 2013 32 Recap: Events Start Intermediate Catching End Throwing Untyped: indicate start point, state changes or final states. Message: Receiving and sending messages. Timer: Cyclic timer events, points in time, time spans or timeouts. Link: Off-page connectors. Two corresponding link events equal a sequence flow. © INB/INN320 8.2/2011 – 12 September 2013 33 BPMN Poster: get it from blackboard! © INB/INN320 8.2/2011 – 12 September 2013 34 References Required • Sections 4.3.2 - 4.4.2 of Chapter 4 of textbook “Fundamentals of BPM” Recommended • OMG (2011): BPMN 2.0 Specification • BPM Offensive (2011): BPMN 2.0 Poster • OGM (2010): BPMN 2.0 By Example Web References • OMG BPM Initiative • BPMN Community Books on BPMN • Silver B. (2011): “BPMN Method & Style” 2nd Edition, Cody-Cassidy © INB/INN320 8.2/2011 – 12 September 2013 35 A/Prof. Marcello La Rosa IS School Academic Director (Corporate Programs and Partnerships) BPM Discipline, IS School Science & Engineering Faculty Queensland University of Technology 126 Margaret Street Brisbane QLD 4000 Australia p +61 (0)7 3138-9482 e m.larosa@qut.edu.au w www.marcellolarosa.com © INB/INN320 8.2/2011 – 12 September 2013