© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.

Slides:



Advertisements
Similar presentations
Activity Diagrams in UML. Definition Activity diagrams represent the dynamics of the system. They are flow charts that are used to show the workflow of.
Advertisements

Process Patterns in BizAGI. Slide 2 Overview Types of events Types of gateways Design patterns list.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
1 Introduction to modeling Process modelling. 2 Where are we? #TitleDate 1Introduction ORM modeling Relational modeling
Introduction to BizAgi. Slide 2 User Interface (Summary) The user interface for BizAgi resembles Office It uses a similar ribbon The Palette contains.
SE 555 Software Requirements & Specification 1 Activity Diagrams.
1 Information Systems Design [Σχεδιασμός Πληροφοριακών Συστημάτων] Unit 4: Business Process Models (2) Univ. of the Aegean Financial and Management Engineering.
L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
1999 – 2006 M.E. Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
Bite sized training sessions: Process Modelling – Part 1 of 2 Process Model Diagrams.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Marlon Dumas marlon.dumas ät ut . ee
Software Design Processes and Management
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Marlon Dumas University of Tartu
Chapter 9 Structuring System Requirements: Logic Modeling
Interaction Modeling. Sequence Models  There are two kinds of sequence models: scenarios and sequence diagrams  A scenario is a sequence of events that.
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Session 5: Business Process Modeling (BPMN) Events
Programming Logic and Design Fourth Edition, Introductory
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Programming Logic and Design, Second Edition, Comprehensive
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
February 20, 2012  Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department,
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
Activity diagrams. Introduction ● Activity diagrams are a behavioural model that represent the dynamics of the system. ● An activity diagram is essentially.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Information System Design IT60105
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Sections © Copyright by Pearson Education, Inc. All Rights Reserved.
CS3773 Software Engineering Lecture 06 UML State Machines.
Marlon Dumas University of Tartu
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
 Activity diagram is basically a flow chart to represent the flow from one activity to another activity.
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
Interaction Models (2): Activity Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh.
Chapter 4 Select … Case Multiple-Selection Statement & Logical Operators 1 © by Pearson Education, Inc. All Rights Reserved. -Edited By Maysoon.
Prof. Marcello La Rosa BPM Discipline Queensland University of Technology.
מבוא להנדסת תוכנה / ניתוח מערכות מידע הרצאת EPC 1.
Activity Diagrams. Notation Activity1()cActivity2() 1. Activities 2. Transition.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Cliquez pour modifier le style du titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième.
Studio modeling basics
Unit 1 Logical operators.
Analysis Classes Unit 5.
Information Delivery Manuals: Process Mapping
Chapter 9 Structuring System Requirements: Logic Modeling
Activity Diagram.
Activity and State Transition Diagram
Visit for more Learning Resources
State Machine Diagrams
Structural testing, Path Testing
States.
Chapter 9 Structuring System Requirements: Logic Modeling
Software System Engineering
Chapter 9 Structuring System Requirements: Logic Modeling
Marlon Dumas marlon.dumas ät ut . ee
BPMN - Business Process Modeling Notations
States.
Chapter 4 Select…Case Multiple-Selection Statement & Logical Operators
Seminar 2 Design of Informatics Systems
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 9 Structuring System Requirements: Logic Modeling
Object-Oriented Analysis & Design
Interaction Models (2): Activity Diagrams
Presentation transcript:

© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University Atlanta, GA Session 4: BPMN Gateways

CIS4120 Fa13 Session 4: Gateways © Richard Welke Some reflections on BPMN modeling The model you draw reflects the “semantics” of how you wish the process to execute You don’t get to determine model semantics They’re decided by BPMN specifications Think of it as a way of “programming” a third-party execution controller (called a BP Execution Engine) When I grade your results I do it based on how a BPMN “engine” would execute your process, not your intent The overall objective is “shared meaning” What you draw is uniformly interpreted in the same way by all persons looking at your process model This should be true for *any* model used to transmit meaning & achieve shared understanding 2

CIS4120 Fa13 Session 4: Gateways © Richard Welke Gateways Used to “split” or “fork” the sequential flow between activities into separate paths And, to bring the flows back together (“merge” or “join”) Need to “re-join” using a matching gateway, if common, downstream tasks or gateways associated with one or more of the split streams Don’t have to (re-) join if each has a separate processing path and end event BUT … process doesn’t end until all valid paths completed Criteria for join gateway depends upon the type of gateway that’s used Many different choices in BPMN; we’ll focus on the more commonly used 3

CIS4120 Fa13 Session 4: Gateways © Richard Welke Exclusive OR (“X”) gateway eXclusive OR gateway is used when only one path can be taken for each transaction being processed Key points: The basis for the choice of path is achieved BEFORE the gateway is entered The gateway can only perform Boolean (T/F) logic on pre-existing data X-OR Gateways are best labeled as a T/F question on each outgoing path To recombine the paths another “X-OR” gateway is used Best practice is to specify a “default” path I.e., if the other path(s) evaluate “false,” then this path is taken 4 BizAgi Note: To get the “default” symbol, in Gateway properties, go to Advanced tab, and under “condition expression” column, drop down on the row for the path and select “Default”

CIS4120 Fa13 Session 4: Gateways © Richard Welke Sidebar: Gateway logic Gateways only perform Boolean routing logic (T/F) Based on pre-determined state (external or activity) In other words, not this … But, this … Why? What’s wrong with this? Answer: Haven’t performed pre-processing to know if the order is valid or not before gateway

CIS4120 Fa13 Session 4: Gateways © Richard Welke Sidebar: Boolean logic An expression that evaluates to being either true or false (binary) A < B? Boolean expressions: X = A > B Y = A ≠ C Z = X and Y The data (numeric, logical and textual) used in these expressions come from prior data either entering the process (e.g. via messages) or from activity processing creating new data values Gateway evaluates these expressions when entered to determine which outgoing path(s) are true 6 If A = 9, B = 5, C = 9 What is Z?

CIS4120 Fa13 Session 4: Gateways © Richard Welke More on Exclusive (X-OR) gateway Only one path taken (hence “eXclusive”) Use label on gateway to specify condition (phrased as a question) Use labels on flows to indicate outcome For execution Default path indicated by back-slash (good practice) Done by right-clicking on the gateway and selecting properties|advanced, then drop-down for the path name

CIS4120 Fa13 Session 4: Gateways © Richard Welke OR gateway Also called “Inclusive OR” gateway Differs from “eXclusive-OR” Each path is evaluated for meeting the gateway condition and thus, Multiple paths can be “true” and taken concurrently With exclusive OR – only one path “true” is possible) Exiting paths must be re-combined with a merge “OR” gate Example below, both A & C paths could be taken All active tokens (paths) must arrive at the merge OR gateway before process can proceed 8

CIS4120 Fa13 Session 4: Gateways © Richard Welke Parallel (AND) gateway Used to create required “concurrent” paths Each path executes independently (concurrently) with other paths (sometimes called a “split” or “fork”) Creates a “token” for each split path All tokens must be joined (merged) before ending the path (and process) unless a termination is encountered Flow out of joining AND gate doesn’t occur until all preceding paths are complete 9 Split (fork) Join (merge)

CIS4120 Fa13 Session 4: Gateways © Richard Welke More on parallel split (AND) gateway Process sequence flow splits into concurrent segments In diagram all downstream paths are all enabled unconditionally No Boolean logic, all paths “true” Each path token must reach end event for process to complete (unless termination event) Parallel segments don’t have to rejoin Join gateway needed if parallel paths need to be synchronized before proceeding further Note: “Concurrency” semantics are under-defined in BPMN Common data changed? Each BPMS makes own rules All three activities can be done in parallel

CIS4120 Fa13 Session 4: Gateways © Richard Welke Event gateway Every path out of this gateway has an event on it The intermediate event is the “condition” that must be met to proceed on that path Gateway “logic” is based on which event happens first Exiting paths re-combined with an “X-OR” gate – why? What happens if none of these events occur? Possible? It’s the only “future looking” gateway (events are in future) 11

CIS4120 Fa13 Session 4: Gateways © Richard Welke More on (exclusive) Event gateway Only one path taken Based on event occurrence, not data condition Waits on first event that satisfies condition Best practice: cover situation of no event satisfying Typically done using a “timer” event Uses an intermediate event on each gate (path out) Example (use case) Message A: Normal resp. Message B: Exception resp. Timer: Timeout if no response after 1-Day

CIS4120 Fa13 Session 4: Gateways © Richard Welke Complex gateway A set of conditions are evaluated and outgoing path or paths chosen on this basis Combinations of Or, X-or and Event gateway conditions Exiting paths re-combined using a complex gateway Merge behavior (i.e., basis upon which incoming tokens are assessed to determine proper exit) can also be complex 13

CIS4120 Fa13 Session 4: Gateways © Richard Welke Merge and join concepts: “tokens” Exclusive “merge” waits for one token on its incoming paths; when received, initiates outgoing path The “OR” merge gateway logic waits for all tokens emitted before proceeding to the outgoing sequence flow Based X-OR gateway logic, emits one (exclusive) token on one of the paths out of the gateway (e.g. P-2) Based on “OR” gateway logic, emits one or more tokens on outgoing paths

CIS4120 Fa13 Session 4: Gateways © Richard Welke Exclusive (X-OR) “merge” Merge exclusive alternative incoming sequence flows into one outgoing sequence flow Technically unnecessary in BPMN – merge of X- OR without gateway using task means same thing Task 5 also acting as an implicit X-OR merge gateway

CIS4120 Fa13 Session 4: Gateways © Richard Welke Inclusive OR decision gateway alternatives Each path evaluated independently All paths evaluating “true” are taken At least one must be “true” Can use “default” to ensure at least one path taken (ME&CE) Note: Inclusive OR not supported in all BPMN modeling tools

CIS4120 Fa13 Session 4: Gateways © Richard Welke Inclusive OR decision alternative Representation without gateway Condition 1: Order > $10,000 Cond. 2: Domestic client Cond. 3: Default (everything else)

CIS4120 Fa13 Session 4: Gateways © Richard Welke Sidebar: How to get the little diamonds? Right click on the path you wish to make conditional; click on properties 2. Click on the Advanced tab Change the “Condition Type” from none (default) to “Expression”

CIS4120 Fa13 Session 4: Gateways © Richard Welke Alternative representation (AND Gateway) Formally … Alternative allowed Note: Here we’re using implied gateways … Until you’re familiar with the proper use of gateways, you should initially avoid these simplifications

CIS4120 Fa13 Session 4: Gateways © Richard Welke Some general guidelines When first drawing a BPMN diagram, matchup forks and merges with same gateway type Think of as parens ( … ) for every opening paren there should be a corresponding closing one of the same type You can simplify later where appropriate Clearly label both the criteria of the gateway as well as all non-default paths out of the gateway Don’t overload a gateway for merging, e.g.: 20