B.4.1 Overview
The Diagram Interchange (DI) package contains a number of types used in the definition of diagram interchange models. The package imports the Diagram Common package (see “Diagram Common” on page 483), as shown in Figure B.5, that contains various relevant data types. The DI package contains mainly abstract types that are to be properly extended and refined by concrete types in domain-specific DI packages. In this sense, the DI package plays the role of a framework that is meant for extension rather than a component that is ready to be used out of the box. The benefit of this design is capture common assumptions in the DI package in order to facilitate the integration between various graphical domains that define their DI packages as extensions.
Diagrams are generally considered depictions of part or all of the elements in a domain-specific model. Therefore, one of the best practices adopted in the design of the DI package and that can be subsumed by the extending domain-specific DI packages is to minimize any redundancy with the depicted model when possible. For example, the text representing the name of a UML class is not defined as part of the UML class shape. This is primarily achieved by the fact that diagram elements reference their counterparts in the domain model as their context model elements instead of duplicating data from them. This design has the side effect of coupling the diagram models with their corresponding domain models, which is generally a common practice by tools. However, the DI package does not enforce this best practice and domainspecific DI packages can decide to have some level of duplication to decouple the models.
Another best practice adopted by the DI package is to avoid defining any data that is not changeable by the user but is rather derivable from the diagram’s model context, like graphical rendering details. For example, the option to render a UML actor as a stick man or a as rectangle can be defined in a DI model as a boolean property to allow a user to choose between them. However, the definition of the actual line segments making up such shapes need not be interchanged in a DI model as it can be defined in the tool itself.
Other decisions that are left to the individual domain-specific DI packages include: whether to allow 1-n vs. m-n relationships between the domain elements and their referencing diagram elements, the formatting properties (styles) that affect the aesthetics of diagrams rather than their semantics that are allowed to be interchanged, and the degree of pragmatic redundancy that is allowed in the DI models to balance their footprint with the ease of their import/export.
- 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