Transcription

2 Copyright 2010, camunda services GmbH Copyright 2010, IBM Corp. Copyright 2010, Object Management Group, Inc. Copyright 2010, PNA Group Copyright 2010, SAP AG Copyright 2010, Trisotech, Inc. USE OF SPECIFICATION - TERMS, CONDITIONS & NOTICES The material in this document details an Object Management Group specification in accordance with the terms, conditions and notices set forth below. This document does not represent a commitment to implement any portion of this specification in any company's products. The information contained in this document is subject to change without notice. LICENSES The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royaltyfree, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified version. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having conformed any computer software to the specification. Subject to all of the terms and conditions below, the owners of the copyright in this specification hereby grant you a fully-paid up, non-exclusive, nontransferable, perpetual, worldwide license (without the right to sublicense), to use this specification to create and distribute software and special purpose specifications that are based upon this specification, and to use, copy, and distribute this specification as provided under the Copyright Act; provided that: (1) both the copyright notice identified above and this permission notice appear on any copies of this specification; (2) the use of the specifications is for informational purposes and will not be copied or posted on any network computer or broadcast in any media and will not be otherwise resold or transferred for commercial purposes; and (3) no modifications are made to this specification. This limited permission automatically terminates without notice if you breach any of these terms or conditions. Upon termination, you will destroy immediately any copies of the specifications in your possession or control. PATENTS The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use of an invention covered by patent rights. OMG shall not be responsible for identifying patents for which a license may be required by any OMG specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OMG specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. GENERAL USE RESTRICTIONS Any unauthorized use of this specification may violate copyright laws, trademark laws, and communications regulations and statutes. This document contains information which is protected by copyright. All Rights Reserved. No part of this work covered by copyright herein may be reproduced or used in any form or by any means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems-without permission of the copyright owner.

3 DISCLAIMER OF WARRANTY WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. THE OBJECT MANAGEMENT GROUP AND THE COMPANIES LISTED ABOVE MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL THE OBJECT MANAGEMENT GROUP OR ANY OF THE COMPANIES LISTED ABOVE BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. The entire risk as to the quality and performance of software developed using this specification is borne by you. This disclaimer of warranty constitutes an essential part of the license granted to you to use this specification. RESTRICTED RIGHTS LEGEND Use, duplication or disclosure by the U.S. Government is subject to the restrictions set forth in subparagraph (c) (1) (ii) of The Rights in Technical Data and Computer Software Clause at DFARS or in subparagraph (c) (1) and (2) of the Commercial Computer Software - Restricted Rights clauses at 48 C.F.R or as specified in 48 C.F.R of the DoD F.A.R. Supplement and its successors, or as specified in 48 C.F.R of the Federal Acquisition Regulations and its successors, as applicable. The specification copyright owners are as indicated above and may be contacted through the Object Management Group, 140 Kendrick Street, Needham, MA 02494, U.S.A. TRADEMARKS MDA, Model Driven Architecture, UML, UML Cube logo, OMG Logo, CORBA and XMI are registered trademarks of the Object Management Group, Inc., and Object Management Group, OMG, Unified Modeling Language, Model Driven Architecture Logo, Model Driven Architecture Diagram, CORBA logos, XMI Logo, CWM, CWM Logo, IIOP, MOF, OMG Interface Definition Language (IDL), and OMG SysML are trademarks of the Object Management Group. All other products or company names mentioned are used for identification purposes only, and may be trademarks of their respective owners. COMPLIANCE The copyright holders listed above acknowledge that the Object Management Group (acting itself or through its designees) is and shall at all times be the sole entity that may authorize developers, suppliers and sellers of computer software to use certification marks, trademarks or other special designations to indicate compliance with these materials. Software developed under the terms of this license may claim compliance or conformance with this specification if and only if the software compliance is of a nature fully matching the applicable compliance points as stated in the specification. Software developed only partially matching the applicable compliance points may claim only that the software was based on this specification, but may not claim compliance or conformance with this specification. In the event that testing suites are implemented or approved by Object Management Group, Inc., software developed using this specification may claim compliance or conformance with the specification only if the software satisfactorily completes the testing suites.

4 OMG s Issue Reporting Procedure All OMG specifications are subject to continuous review and improvement. As part of this process we encourage readers to report any ambiguities, inconsistencies, or inaccuracies they may find by completing the Issue Reporting Form listed on the main web page under Documents, Report a Bug/Issue (http://www.omg.org/technology/agreement.)

8 may be obtained from the Specifications Catalog cited above or by contacting the Object Management Group, Inc. at: OMG Headquarters 140 Kendrick Street Building A, Suite 300 Needham, MA USA Tel: Fax: Certain OMG specifications are also available as ISO standards. Please consult Typographical Conventions The type styles shown below are used in this document to distinguish programming statements from ordinary English. However, these conventions are not used in tables or section headings where no distinction is necessary. Times/Times New Roman - 10 pt.: Standard body text Helvetica/Arial - 10 pt. Bold: OMG Interface Definition Language (OMG IDL) and syntax elements. Courier - 10 pt. Bold: Programming language elements. Helvetica/Arial - 10 pt: Exceptions NOTE: Terms that appear in italics are defined in the glossary. Italic text also represents the name of a document, specification, or other publication. iv

9 1 Scope This document provides a number of BPMN 2.0 examples, which are non-executable BPMN 2.0 models conforming to the Process Modeling Conformance class as defined in the the OMG specification Business Process Model and Notation (BPMN) Version 2.0. It is a non-normative document and its main goal is to assist in interpreting and implementing various aspects of the BPMN 2.0 specification. The examples are provided in form of Collaboration diagrams, Process diagrams, and Choreography diagrams as well as machine-readable files using the Extensible Markup Language (XML). 2 Conformance As this is a non-normative document, an implementation, which claims conformance to any of the conformance classes defined in section 2 of the BPMN 2.0 specification, is NOT REQUIRED to comply to statements made in this document. Furthermore, if there are any inconsistencies between the BPMN 2.0 specification and this document, the statements of the BPMN 2.0 specification always have precedence. 3 Normative References The following normative documents contain provisions which, through reference in this text, constitute provisions of this specification. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. Business Process Model and Notation (BPMN) Version 2.0 OMG, May RFC-2119 Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, IETF RFC 2119, March

11 5 Small Examples introducing Core Concepts This chapter introduces the core concepts of process modeling with BPMN. We will not explain every single symbol you can find in the diagrams, but show how process modeling in BPMN is basically done, how we can use pools and message flows for explicitly modeling collaborations between participants, and how we can (de-)compose process models with sub-processes and call activities. Those examples do not contain executable process models, but represent process models focusing on organizational aspects of business processes. Shipment Process of a Hardware Retailer Logistics Manager 5.1 extra insurance required Goods to ship Warehouse Worker Always Fill in a Post label Normal Post Clerk Hardware Retailer Check if extra insurance is necessary Take out extra insurance Decide if normal post or special shipment Special Carrier Request quotes from carriers Assign a carrier & prepare paperwork Mode of delivery Add paperwork and move package to pick area Package goods Insurance is included in carrier service Goods available for pick Figure 5.1: Shipment Process of a hardware retailer In Figure 5.1 you can find the preparing steps a hardware retailer has to fulfill before the ordered goods can actually be shipped to the customer. In this example, we used only one pool and different lanes for the people involved in this process, which automatically means that we blank out the communication between those people: We just assume that they are communicating with each other somehow. If we had a process engine driving this process, that engine would assign user tasks and therefore be responsible for the communication between those people. If we do not have such a process engine, but want to model the communication between the people involved explicitly, we would have to use a collaboration diagram as in the next chapter. The plain start event goods to ship indicates that this preparation should be done now. Right after the instantiation of the process, there are two things done in parallel, as the parallel gateway indicates: While the clerk has to decide whether this is a normal postal or a special shipment (we do not define the criteria how to decide this inside the process model), the warehouse worker can already start packaging the goods. This clerk's task, which is followed by the exclusive gateway mode of delivery, is a good example for clarifying the recommended usage of a gateway: The gateway is not responsible for the decision whether this is a special or a postal shipment. Instead, this decision is undertaken in the activity before. The gateway only works as a router, which is based on the result of the previous task, and provides alternative paths. A task represents an actual unit of work, while a gateway is only routing the sequence flow. This gateway is called exclusive, because only one of the following two branches can be traversed: If we need a special shipment, the clerk requests quotes from different carriers, then assigns a carrier and prepares the paperwork. But if a normal post shipment is fine, the clerk needs to check if an extra insurance is necessary. If that extra insurance is 3

12 required, the logistics manager has to take out that insurance. In any case, the clerk has to fill in a postal label for the shipment. For this scenario, the shown inclusive gateway is helpful, because we can show that one branch is always taken, while the other one only if the extra insurance is required, but IF it is taken, this can happen in parallel to the first branch. Because of this parallelism, we need the synchronizing inclusive gateway right behind Fill in a Post label and Take out extra insurance. In this scenario, the inclusive gateway will always wait for Fill in a Post label to be completed, because that is always started. If an extra insurance was required, the inclusive gateway will also wait for Take out extra insurance to be finished. Furthermore, we also need the synchronizing parallel gateway before the last task add paperwork and move package to pick area, because we want to make sure that everything has been fulfilled before the last task is executed. 5.2 The Pizza Collaboration pizza received Pizza Customer Select a pizza Order a pizza Pay the pizza Hungry for pizza Eat the pizza Hunger satisfied Ask for the pizza 60 minutes pizza chef Calm customer Order received where is my pizza? receipt pizza money Bake the pizza delivery boy Pizza vendor clerk pizza order Deliver the pizza Receive payment Figure 5.2: Ordering and delivering pizza This example is about Business-To-Business-Collaboration. Because we want to model the interaction between a pizza customer and the vendor explicitly, we have classified them as participants, therefore providing them with dedicated pools. Please note that there is no default semantics in this type of modeling, which means you can model collaboration diagrams to show the interaction between business partners, but also zoom into one company, modeling the interaction between different departments, teams or even single workers and software systems in collaboration diagrams. It is totally up to the purpose of the model and therefore a decision the modeler has to make, whether a collaboration diagram with different pools is useful, or whether one should stick to one pool with different lanes, as shown in the previous chapter. If we step through the diagram, we should start with the pizza customer, who has noticed her stomach growling. The customer therefore selects a pizza and orders it. After that, the customer waits for the pizza to be delivered. The event based gateway after the task order a pizza indicates that the customer actually waits for two different events that could happen next: Either the pizza is delivered, as indicated with the following message event, or there is no delivery for 60 4

13 minutes, i.e., after one hour the customer skips waiting and calls the vendor, asking for the pizza. We now assume that the clerk promises the pizza to be delivered soon, and the customers waits for the pizza again, asking again after the next 60 minutes, and so on. Let's have a closer look at the vendor process now. It is triggered by the order of the customer, as shown with the message start event and the message flow going from order a pizza to that event. After baking the pizza, the delivery boy will deliver the pizza and receive the payment, which includes giving a receipt to the customer. In this example, we use message objects not only for informational objects, as the pizza order, but also for physical objects, like the pizza or the money. We can do this, because those physical objects actually act as informational objects inherently: When the pizza arrives at the customer's door, she will recognize this arrival and therefore know that the pizza has arrived, which is exactly the purpose of the accordant message event in the customer's pool. Of course, we can only use the model in that way because this example is not meant to be executed by a process engine. 5.3 Order Fulfillment and Procurement Article available Check availability Ship article yes Financial settlement Order received Payment received no Procurement undeliverable Late delivery Inform customer Customer informed Inform customer Remove article from calatogue Article removed Figure 5.3: Order Fulfillment This order fulfillment process starts after receiving an order message and continues to check whether the ordered article is available or not. An available article is shipped to the customer followed by a financial settlement, which is a collapsed sub-process in this diagram. In case that an article is not available, it has to be procured by calling the procurement subprocess. Please note that the shape of this collapsed sub-process is thickly bordered which means that it is a call activity. It is like a wrapper for a globally defined task or, like in this case, sub-process. Another characteristic of the procurement sub-process are the two attached events. By using attached events it is possible to handle events that can spontaneously occur during the execution of a task or sub-process. Thereby we have to distinguish between interrupting and non-interrupting attached events. Both of them catch and handle the occurring events, but only the non-interrupting type (here it is the escalation event late delivery ) does not abort the activity it is attached to. When the interrupting event type triggers, the execution of the current activity stops immediately. 5

14 Procurement Stock level below minimum Article procured undeliverable Remove article from catalogue Article removed Figure 5.4: Stock maintenance process The process for the stock maintenance is triggered by a conditional start event. It means that the process is instantiated in case that the condition became true, so in this example when the stock level goes below a certain minimum. In order to increase the stock level an article has to be procured. Therefore we use the same Procurement process as in the order fulfillment and refer to it by the call activity "Procurement", indicated by the thick border. Similar to the order fulfillment process this process handles the error exception by removing the article from the catalog. But in this stock maintenance process there appears to be no need for the handling of a "late delivery" escalation event. That's why it is left out and not handled. If the procurement sub-process finishes normally, the stock level is above minimum and the Stock Maintenance process ends with the end event article procured. article received Order from supplier < = 2 days Article procured Check availability with supplier Deliverable? > 2 days Late delivery no undeliverable Figure 5.5: Procurement sub-process We now zoom into the global sub-process procurement that is used by both order fulfillment and stock maintenance. Because this is a sub-process, the start event is plain, indicating that this process is not triggered by any external event but the referencing top-level-process. The first task in this sub-process is the check whether the article to procured is available at the supplier. If not, this subprocess will throw the not deliverable -exception that is caught by both order fulfillment and stock maintenance, as we already discussed. In case that the delivery in the Procurement process lasts more than 2 days an escalation event is thrown by the subprocess telling the referencing top-level-process that the delivery will be late. Similar to the error event, the escalation event has also an escalationcode which is necessary for the connection between throwing and catching escalation events. Contrary to the throwing error event, currently active threads are neither terminated nor affected by the throwing 6

15 intermediate escalation event. Furthermore, the Procurement process continues its execution by waiting for the delivery. But the thrown event is handled by the nearest parent activity with an attached intermediate escalation event which has the same escalationcode as the thrown escalation event. In the order fulfillment process, the "late delivery" escalation event attached to the Procurement sub-process catches the thrown "late delivery" event. But now, the event is a noninterrupting event. Because of that a new token is produced, follows the path of the escalation handling and triggers the task that informs the customer that the ordered article will be shipped later. When the procurement sub-process finishes, the Order Fulfillment process continues with the shipment of the article and the financial settlement. 7

16 6 Incident management In this chapter we want to show the different perspectives you can take on the same business process, using BPMN. In the first step we will provide a rather simple, easy to read diagram that shows an incident process from a high level point of view. Later on we refine this model by moving from orchestration to collaboration and choreography. In the last step we take the organizational collaboration and imagine how a process engine could drive part of the process by user task assignments. The main purpose of this chapter is to demonstrate how you can use BPMN for creating simple and rather abstract diagrams, but also detailed views on human collaboration and finally for technical specifications for process execution. High level model for quick understanding Account Manager VIP customer 6.1 can handle myself? handle question question received Explain solution Yes No 1st level support 2nd level support Software development Software Company Finished? Handle 1st level issue Yes no Unsure? Handle 2nd level issue No Yes Sometimes opinion of development is needed Provide feedback Figure 6.1: Incident management from high level point of view The shown incident management process of a software manufacturer is triggered by a customer requesting help from her account manager because of a problem in the purchased product. First of all, the account manager should try to handle that request on his own and explain the solution to the customer, if possible. If not, the account manager will hand over the issue to a 1st level support agent, who will hand over to 2nd level support, if necessary. The 2nd level support agent should figure out if the customer can fix the problem on her own, but if the agent is not sure about this he can also ask a software developer for his opinion. In any case, at the end the account manager will explain the solution to the customer. This diagram is really simple and somehow a happy path, because we assume that we always find a solution we can finally explain to the customer. The model lacks all details of collaboration between the involved employees, and the abstract tasks indicate that we do not have any information about whether the process or parts of it are executable by a 8

17 process engine. This diagram is useful, if you want to scope the process, get a basic understanding of the flow, and talk about the main steps, but not if you want to dig into the details for discussing process improvements or even software driven support of the process. Detailed Collaboration and Choreography Key account manager VIP customer 6.2 Explain solution yes Answer received Get problem description Customer has a problem Ask 1st level support no Can handle It myself? 1st Level Support Agent Result? Handle 1st level issue issue Issue resolved Answer recevied 2nd level issue Ask 2nd level support Result? 2nd level support agent Unsure? Software developer Provide feedback for account manager Handle 2nd level issue Ticket received yes Sometimes opinion of development is needed Examine problem Request from support Issue resolved no Answer received Ask developer Fix in Next release Insert into product backlog Provide feedback for 1st level support Some issues cannot get fixed right now but should be fixed in next release Provide feedback for 2nd level support Figure 6.2: Incident Management as detailed collaboration We can take a closer look at the ping-pong-game of account manager, support agents and software developer by switching from a single-pool-model to a collaboration diagram, as shown above. We can now see some more details about the particular processes each participant fulfills, e.g., the dialogue between the account manager and the customer for clarifying the customer's problem, or the fact that the 2nd level support agent will insert a request for a feature in the 9

18 product backlog, if the current release of the software product cannot cover the customer's demand satisfactorily. We have also specified each task as manual, which means that we still think of the processes as completely human-driven with no process engine involved. This could hypothetically be the As-Is-state of the incident management before the introduction of a process engine. The next step could be to define whether we want to drive the complete collaboration by a process engine, or only parts of it. But before we discuss that matter, we can have a look at an other way of modeling such a ping-pong-game, the choreography diagram shown below. This diagram only shows the tasks that are dedicated to the communication between the different process participants, hiding all internal steps, e.g., the task that inserts a new entry into the product backlog. Note that the diagrams shown in Figure 6.1 and 6.2 have no formal connection between each other, whereas the Figure 6.2 and 6.3 have the exact same semantic model behind them and just provide different views on it. See also Annex A for an XML serialization of the underlying semantic model. problem answers VIP customer VIP customer Customer Has a Problem Get problem description Key Account Manager Key Account Manager questions VIP customer Can handle myself? yes Explain solution issue no Key Account Manager Key Account Manager 2nd level issue solution Provide feedback for account manager Issue resolved Ask 1st level support 1st level support agent Key account manager Result? 1st level support agent issue 1st level support agent 2nd level support agent 1st level support agent Unsure? Ask 2nd level support yes feedback Provide feedback for 1st level support no issue 2nd level support agent 2nd level support agent 2nd level support agent Ask developer Provide feedback for 2nd level support Software developer Software developer feedback feedback Figure 6.3: Incident Management as choreography 10

19 Human-driven vs. system-driven control flows VIP customer 6.3 Key account manager Answer received Get problem description 1st level support Customer has a problem no Send mail to support system Can handle myself? Result? Open ticket edit 1st level ticket Issue received Send mail to account manager Issue resolved 2nd level issue Close ticket Result? Issue resolved edit 2nd level ticket 2nd level support Fix in Next release Insert issue into product backlog Unsure? Classify ticket Handle 1st level issue Software developer Ticket received Document 1st level result 2nd level support agent Trouble Ticket System 1st Level Support Agent Explain solution yes Handle 2nd level issue Ticket received Document 2nd level result no yes Sometimes opinion of development is needed Examine problem Request from support Ask developer Provide feedback for 2nd level support Figure 6.4: Incident Management with human-driven and system-driven pools If we imagine we are realizing a project for automating the incident management process, we could now decide which parts of it should be actually executed in a process engine, and which parts should remain human-driven. In this scenario we decided that the account manager should not be bothered with web forms or task lists, he should just send an if he wants to report a customer's problem, and receive an when the process has completed. The same idea applies for the software developer: Let us assume the 2nd level support agent sits in the same room as the developers. Maybe it is more efficient if the support agent just walks over to the developer and talks about the issue, rather than playing some time consuming ping-pong-game with task assignments. Therefore, we want to keep this part of the incident management human driven as well: no process engine driving the collaboration between 2nd level support and software developers. But 11

20 we do want the assignment of tickets to 1st and 2nd level support agents by a trouble ticket system, which now takes the role of the process engine and therefore is modeled in a dedicated pool. That system can actually receive and parse s sent by the account manager and opens a ticket for it. If the 1st level support agent decides that this is a 2nd level issue, he does so by documenting his decision and completing the assigned task edit 1 st level ticket. The trouble ticket system then routes the ticket to the 2nd level support agent. When that agent has finished, he maybe declared the issue to be fixed in the next software release. Then the trouble ticket system makes a service call on the product backlog system, a new feature we have introduced with our process engine: The entry does not have to be inserted manually any more. In the end, the trouble ticket system will send an to the account manager, containing the results of the incident management, and close the ticket. The account manager can then explain the solution to the customer based on the information in the ticket. Explain solution yes Answer received Get problem description Customer has a problem no Send mail to support system Can handle myself? Trouble Ticket System Key account manager VIP customer Of course, this way of modeling both human-driven and system-driven control flows in one diagram is just a proposal, that should give an idea of useful modeling approaches based on collaboration diagrams. It should demonstrate how BPMN could support Business-IT-Alignment in process modeling: We can hand over the modeled process engine pool to an actual process engine for execution, while we can show the other pools separately to our process participants, the support agents or the account manager, and discuss their involvement in the collaboration based on those simplified views on the same, consistent collaboration model. This gives us the opportunity to talk with both Business people and IT people about the same process model, without overburdening business people with too complex diagrams or IT people with too inaccurate process models. Figure 6.5: This rather simple diagram is all we have to show to the account manager 12

27 7 Models and Diagrams The purpose of this chapter is to demonstrate via examples some of the interrelations between models and diagrams. We explore how different BPMN diagrams of the same scenario lead to different serializations of the model. The process scenario used in the examples from this chapter is inspired from figure of the BPMN 2.0 Specification document. 7.1 Lane and Pool In this section, we explore the use of lanes and pools in a BPMN diagram and their corresponding serializations Lane A process can be depicted in a Process Diagram with or without lanes. Both these depictions lead to one process in the model and one diagram of that process. The main difference in the two serializations is that one does not have a Laneset with a lane in it, while the other does. Order Handling Approved Quotation Handling Approve Order Review Order Shipping Handling 19

28 Order Handling Buyer Approved Quotation Handling Approve Order Review Order Shipping Handling Pool Pools are only present in Collaboration Diagrams (Collaborations, Choreographies, Conversations). Thus, when depicting the same scenario using a pool, we are producing a Collaboration Diagram. The introduction of a pool in our depiction implies that we are producing a Collaboration Diagram. In fact, this is a diagram of an incomplete Collaboration, as a Collaboration should be between two or more participants. 20

29 Buyer Order Handling Approved Quotation Handling Approve Order Review Order Shipping Handling 7.2 Sub Process and Call Activity In this section, we explore the use of Sub Processes (expanded and collapsed) along with Call Activities and show how their content can be depicted in separate diagrams Expanded Sub Process Example In this example our Order Process is depicted with an expanded Approve Order Sub Process. The activities within the Approve Order Sub Process are part of the parent process. This is a single process depicted in a single diagram. 21

30 Approver Order Order Handling Approved Quotation Handling Approve Customer Approve Product Review Order Shipping Handling Collapsed Sub Process Example In this example our Order Process is depicted with a collapsed Approve Order Sub Process. Order Handling Approved Quotation Handling Approve Order Review Order Shipping Handling While the content (or details) of the Approve Order Sub Process is depicted on a separate diagram. 22

31 Approve Customer Approve Product This is a single process depicted into two diagrams: one diagram for the parent process and one diagram for the sub process. Note that both expanded and collapsed depictions are visual variations of the same single Order Process Call Activity Example In this example our Order Process is depicted with a collapsed Call Activity Approve Order. This diagram is quite different than the previous example, as here we are introducing the notion of Process re-use. In this case, the Approve Order is not a Sub Process of Order Process but separate independent process that is called (re-used) within the Order Process. 23

32 Order Handling Approved Quotation Handling Approve Order Review Order Shipping Handling The Approve Order Process Approve Customer Approve Product We thus have two processes each in their own diagrams (2 processes, 2 diagrams) 24

Business Process Modeling Notation Specification This OMG document replaces the submission document and the draft adopted specification (dtc/06-01-01). It is an OMG Final Adopted Specification, which has

This Software Development Kit End User ( Agreement ) is between Welch Allyn, Inc. ( Welch Allyn ) and the Customer identified in the purchase order ( Customer or You ), and it governs the Software Development

FME SOFTWARE LICENSE AGREEMENT IMPORTANT READ CAREFULLY: This FME Software License Agreement ("Agreement") is a legal agreement between You (either an individual or a single legal entity) and Safe Software

Summary BPMN has been broadly adopted as a graphical notation for business process modeling. It is used by humans to design, visualize, and manage business processes ranging from workflows to automated

Symantec NetBackup Vault Operator's Guide UNIX, Windows, and Linux Release 7.5 Symantec NetBackup Vault Operator's Guide The software described in this book is furnished under a license agreement and may

Microsoft Small Business Financials Small Business Center Integration Copyright Copyright 2005 Microsoft Corporation. All rights reserved. Complying with all applicable copyright laws is the responsibility

1 Scope of this Agreement (1) Licensor has agreed with Licensee to grant Licensee a license to use and exploit the software set out in the License Certificate ("Licensed Software") subject to the terms

Mobile Banking and Mobile Deposit Terms & Conditions PLEASE CAREFULLY REVIEW THESE TERMS AND CONDITIONS BEFORE PROCEEDING: This Mobile Banking and Mobile Deposit Addendum ( Addendum ) to the Old National

XANGATI END USER SOFTWARE LICENSE TERMS AND CONDITIONS IMPORTANT: PLEASE READ BEFORE DOWNLOADING, INSTALLING OR USING THE XANGATI, INC. ("LICENSOR") SOFTWARE YOU HAVE LICENSED ("SOFTWARE"). BY EXECUTING

License and Maintenance Agreement between you (either an individual person or a single legal entity, hereinafter Customer or You ) and Data Geekery GmbH, Zwinglistrasse 17, 8004 Zürich, Switzerland (hereinafter

ALPHA TEST LICENSE AGREEMENT IMPORTANT NOTICE! PLEASE READ THIS STATEMENT AND THE ALPHA TEST LICENSE AGREEMENT COMPLETELY BEFORE USING THIS ALPHA SOFTWARE. BY CLICKING ON THE BUTTON MARKED YES BELOW OR

DISCLAIMER The sample documents below are provided for general information purposes only. Your use of any of these sample documents is at your own risk, and you should not use any of these sample documents

Mobile Banking Service Agreement (Addendum to your Primary Online Banking Service Agreement) I. INTRODUCTION PARTIES AND DEFINITIONS This Mobile Banking Service Agreement (as amended from time to time,

Infineon Technologies North America Corp. Terms and Conditions of Sale 1. GENERAL 1.1 Contract Terms. These Terms and Conditions of Sale (the Agreement ) shall apply to any offer made by Infineon Technologies

CA Clarity PPM Demand Management User Guide v13.0.00 This documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is

Process Modeling using BPMN 2.0 This chapter provides a brief overview of Business Process Modeling Notation (BPMN) concepts with particular emphasis on the BPMN 2.0 additions. In addition, it describes

206 4 Process Orchestrations 4.7 Business Process Model and Notation This section introduces the Business Process Model and Notation (BPMN), developed under the coordination of the Object Management Group.

Software License Agreement GRANT OF LICENSE This Accusoft Corporation ("ACCUSOFT") Agreement ("LICENSE") grants YOU ("LICENSEE") a non-exclusive and non-transferable right to use the trial mode version

Why are Business Process Models often too complex? Do s and Don ts for Business Process Modelers Version 1.0 This document developed by Dr. Juergen Pitschke, BCS-Dr. Juergen Pitschke, www.enterprise-design.eu

END USER LICENSE AGREEMENT ( EULA ) PLEASE READ CAREFULLY THIS EULA IS A LEGAL AGREEMENT BETWEEN YOU, EITHER AS AN INDIVIDUAL, COMPANY OR OTHER LEGAL ENTITY (IN ANY CAPACITY REFERRED TO HEREIN AS END USER,

Freelancer Agreement If a Client and a Freelancer enter an independent contractor relationship, then this Freelancer Agreement ( Freelancer Agreement ) will apply. This Agreement is effective as of March

PAY-ME-NOW PAYMENT GATEWAY AND VIRTUAL TERMINAL SOFTWARE PAGE 1 OF 7 This Reseller Agreement ( Agreement ) is made effective as of the date set forth below by and between Applied Merchant Systems, Inc.

AB SCIEX LLC END USER SOFTWARE LICENSE AGREEMENT and LIMITED PRODUCT WARRANTY MarkerView Software, version 1.2.1 NOTICE TO USER: PLEASE READ THIS DOCUMENT CAREFULLY. THIS IS THE CONTRACT BETWEEN YOU AND

Mayfair EULA for Journal Office 9-April-2014 Page 1 of 9 Mayfair EULA for Journal Office Mayfair Software End User License Agreement Software programs which you received either installed on on the device

SAFE-T SERVICES ADDENDUM (for Hosted Gateway Services) THIS SAFE-T SERVICES ADDENDUM is entered into and effective as of the Effective Date indicated on the Enrollment Form between Elavon, Inc. ( Elavon

OFFICIAL RULES FOR ROWAN UNIVERSITY, CGCE MASTER OF ENGINEERING MANAGEMENT PROSPECTIVE STUDENT SURVEY SWEEPSTATES NO PURCHASE OR PAYMENT OF ANY KIND IS NECESSARY TO ENTER OR WIN THIS SWEEPSTAKES. A PURCHASE

SOFTWARE AS A SERVICE AGREEMENT FOR THE USE OF: Ya-YaOnline Platform ( Service ). NOW IT IS HEREBY AGREED by and between the parties hereto as follows:- Definitions "Agreement" means this Agreement and

CA Spectrum and CA Service Desk Integration Guide CA Spectrum 9.4 / CA Service Desk r12 and later This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter

White Paper BPMN 2.0 Task Types Explained WP0093 August 2013 Tasks represent the most fundamental process elements, which define units of work in a process. In BPMN, a Task represents an atomic Activity

SPYDERS END USER LICENSE AGREEMENT TERMS AND CONDITIONS 1. IMPORTANT NOTICE PLEASE READ THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT (THE AGREEMENT ) CAREFULLY BEFORE PROCEEDING TO USE THE ENCLOSED

COMPUTER SOFTWARE AS A SERVICE LICENSE AGREEMENT This Agreement is binding on the individual and the company, or other organization or entity, on whose behalf such individual accepts this Agreement, that

THOMSON REUTERS (TAX & ACCOUNTING) INC. FOREIGN NATIONAL INFORMATION SYSTEM TERMS OF USE 1. License and Permitted Use The Foreign National Information System (FNIS) is licensed, not sold. Subject to the

ALL WEATHER, INC. SOFTWARE END USER LICENSE AGREEMENT THIS SOFTWARE END USER LICENSE AGREEMENT (THIS AGREEMENT ) IS DATED FOR REFERENCE PURPOSES ONLY AS OF MARCH 26, 2009, AND IS BY AND BETWEEN ALL WEATHER,

Software License and Services Agreement This Software License and Services Agreement ( Agreement ) is made and entered into as of this day of, 19, between BC, Inc. ( BC ) and ( Customer ). In consideration

Software Hosting and End-User License Subscription Agreement (Last Updated October 31, 2015) IMPORTANT! The Contrail software (the "SOFTWARE") that you seek to use was developed by OneRain Incorporated

CyberSource Merchant Account: Examples of Best Practice Business Policies February 2008 the power of payment CyberSource Contact Information For support questions related to your CyberSource Merchant Account,

CA Cloud Service Delivery Platform Customer Onboarding Version 01.0.00 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the

SAMPLE SOFTWARE LICENSE AGREEMENT (Review Copy) THIS AGREEMENT is entered into as of XXXX ("Effective Date") by and between NIELSEN ENGINEERING & RESEARCH, INC. (NEAR), with offices at 605 Ellis Street,

SOFTWARE LICENSE AGREEMENT READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENCE TERMS (COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE USING THE STMICROELECTRONICS SOFTWARE COMPONENTS SUPPLIED

ZIMPERIUM, INC. END USER LICENSE TERMS THIS DOCUMENT IS A LEGAL CONTRACT. PLEASE READ IT CAREFULLY. These End User License Terms ( Terms ) govern your access to and use of the zanti and zips client- side

TERMS AND CONDITIONS INFLUENCERS AT WORK These TERMS AND CONDICTIONS (this Agreement ) are agreed to between InfluencersAtWork, Ltd. ( InfluencerAtWork ) and you, or if you represent a company or other

END USER LICENSE AGREEMENT FOR SLICKEDIT(R) CORE SOFTWARE IMPORTANT THIS IS A LEGAL AGREEMENT BETWEEN YOU ("You" or "Your") AND SLICKEDIT INC. ("SlickEdit"). SLICKEDIT IS WILLING TO (1) LICENSE THE SLICKEDIT

Royalty Free Web Services Security Specification License Agreement This is a legal agreement ("Agreement") between the undersigned (either an individual or an entity) ( Company ), and Microsoft Corporation

BPMN Business Process Modelling Notation Knut Hinkelmann This chapter is based on the BPMN Tutorial of Stephen A. White and the book White, S.A., Miers, D. (2008) BPMN - Modeling and Reference Guide. Future

OCLC WorldCat Cataloging Partners Terms and Conditions Subscriber may order OCLC WorldCat Cataloging Partners by completing the relevant portions of the OCLC WorldCat Cataloging Partners Order Form (the

ADP Ambassador /Referral Rewards Program Terms and Conditions of Use These Terms and Conditions ("Terms") are an agreement between ADP, LLC ("ADP"), on behalf of its Major Accounts Services Division ("MAS"),

STATE OF FLORIDA DEPARTMENT OF TRANSPORTATION SOFTWARE LICENSE AGREEMENT Other State Agencies Page 1 of 5 For Use of Source Code Developed By The Florida Department of Transportation Software License Agreement

Circles and Diamonds and Squares, Oh My! Demystifying the BPMN Standard BPMN standards can be confusing, but once you understand their purpose and how to use them, they can be lifesavers. This paper, based