10.9 Process Instances, Unmodeled Activities, and Public Processes
A Process can be executed or performed many times, but each time is expected to follow the steps laid out in the Process model. For example, the Process in Figure 10.1 will occur every Friday, but each instance is expected to perform Task “Receive Issue List,” then Task “Review Issue List,” and so on, as specified in the model. Each instance of a Process is expected to be valid for the model, but some instances might not, for example if the Process has manual Activities, and the performers have not had proper instruction on how to carry out the Process.
In some applications it is useful to allow more Activities and Events to occur when a Process is executed or performed than are contained in the Process model. This enables other steps to be taken as needed without changing the Process. For example, instances of the Process in Figure 10.1 might execute or perform an extra Activity between Task “Receive Issue List” and Task “Review Issue List.” These instances are still valid for the Process model in Figure 10.1, because the instances still execute or perform the Activities in the Process, in the order they are modeled and under conditions specified for them.
There are two ways to specify whether unmodeled Activities are allowed to occur in Process instances:
•If the isClosed attribute of a Process has a value of false or no value, then interactions, such as sending and receiving Messages and Events, MAY occur in an instance without additional flow elements in the Process. Unmodeled interactions can still be restricted on particular Sequence Flow in the Process (see next bullet). If the isClosed attribute of a Process has a value of true, then interactions, such as sending and receiving Messages and Events, MAY NOT occur without additional flow elements in the Process. This restriction overrides any unmodeled interactions allowed by Sequence Flows in the next bullet.
•If the isImmediate attribute of a Sequence Flow in a Process has a value of false, then other Activities and interactions not modeled in the Process MAY be executed or performed during the Sequence Flow. If the isImmediate attribute has a value of true, then Activities and interactions not modeled in the Process MAY NOT be executed or performed during Sequence Flow. In non-executable Processes (isExecutable attribute has value false, or defaults to false), Sequence Flows with no value for isImmediate are treated as if the
- 2.2Process Modeling Conformance
- 2.2.1BPMN Process Types
- 2.2.2BPMN Process Elements
- Common Executable Conformance Sub-Class
- 2.2.3Visual Appearance
- 2.2.4Structural Conformance
- 2.3Process Execution Conformance
- 2.3.1Execution Semantics
- 2.3.2Import of Process Diagrams
- 2.4BPEL Process Execution Conformance
- 2.5Choreography Modeling Conformance
- 2.5.1BPMN Choreography Types
- 2.6Summary of BPMN Conformance Types
- 3 Normative References
- 3.1General
- 3.2Normative
- 3.3Non-Normative
- Activity Service
- BPEL4People
- Business Process Definition Metamodel
- Business Process Modeling
- Business Transaction Protocol
- XPDL
- 4 Terms and Definitions
- 5 Symbols
- 6 Additional Information
- 6.1Conventions
- 6.1.1Typographical and Linguistic Conventions and Style
- 6.1.2Abbreviations
- 6.2Structure of this Document
- 6.3Acknowledgments
- Submitting Organizations
- 7.2BPMN Scope
- Understanding the Behavior of Diagrams
- 7.3BPMN Elements
- 8.3.4External Relationships
- Context-based Correlation
- 8.4.7Flow Element
- 8.4.14 Common Package XML Schemas
- 8.5Services
- 9 Collaboration
- 9.1General
- 9.2Basic Collaboration Concepts
- 9.2.1Use of BPMN Common Elements
- ParticipantAssociation
- 9.6Process within Collaboration
- 9.7Choreography within Collaboration
- 10.2 Basic Process Concepts
- 10.2.1 Types of BPMN Processes
- 10.3.7 Global Task
- Complex Behavior Definition
- 10.3.9 XML Schema for Activities
- 10.4 Items and Data
- 10.4.1 Data Modeling
- Item-Aware Elements
- Data Inputs and Outputs
- Data Output
- Assignment
- Execution Semantics for DataAssociation
- 10.4.3 Usage of Data in XPath Expressions
- Access to BPMN Data Objects
- 10.4.4 XML Schema for Data
- 10.5 Events
- Implicit Throw Event
- 10.5.2 Start Event
- Activity Boundary Connections
- Interrupting Event Handlers (Error, Escalation, Message, Signal, Timer, Conditional, Multiple, and Parallel Multiple)
- Non-interrupting Event Handlers (Escalation, Message, Signal, Timer, Conditional, Multiple, and Parallel Multiple)
- Handling End Events
- 10.5.7 Scopes
- 10.6.7 Gateway Package XML Schemas
- 10.7 Compensation
- 10.7.3 Relationship between Error Handling and Compensation
- 10.8 Lanes
- 10.9 Process Instances, Unmodeled Activities, and Public Processes
- 11 Choreography
- 11.1 General
- 11.4.2 Artifacts
- 11.5 Choreography Activities
- 11.6.3 End Events
- 11.7 Gateways
- 11.7.1 Exclusive Gateway
- 12 BPMN Notation and Diagrams
- 12.1 BPMN Diagram Interchange (BPMN DI)
- 12.1.1 Scope
- 12.1.2 Diagram Definition and Interchange
- 12.1.3 How to Read this Clause
- 12.2 BPMN Diagram Interchange (DI) Meta-model
- 12.2.1 Overview
- 12.2.2 Abstract Syntax
- 12.2.4 Complete BPMN DI XML Schema
- 12.3 Notational Depiction Library and Abstract Element Resolutions
- 12.4.5 Choreography
- 13.2 Process Instantiation and Termination
- 13.3 Activities
- 13.3.3 Task
- 13.3.4 Sub-Process/Call Activity
- 13.3.5 Ad-Hoc Sub-Process
- Operational semantics
- 13.3.6 Loop Activity
- 13.3.7 Multiple Instances Activity
- 13.5 Events
- 13.5.1 Start Events
- 13.5.2 Intermediate Events
- 13.5.3 Intermediate Boundary Events
- 13.5.4 Event Sub-Processes
- Operational semantics
- 13.5.5 Compensation
- Compensation Handler
- 13.5.6 End Events
- Process level end events
- 14 Mapping BPMN Models to WS-BPEL
- 14.1 General
- 15 Exchange Formats
- 15.1 Interchanging Incomplete Models
- 15.2 Machine Readable Files
- 15.3.1 Document Structure
- 15.5 XSLT Transformation between XSD and XMI
- B.1 Scope
- B.2 Architecture
- B.4 Diagram Interchange
- B.4.1 Overview