XPDL 2.0 Tutorial
                                     Mike Marin
WfMC Technical Committee Vice Chairman (Americas)
             Software Architect, FileNet Corporation
Agenda
•       XPDL Definition
•       Process Interchange
•       BPMN Definition
•       XPDL 2.0 Description
•       Future




    2
XPDL Definition
•       XML Process Definition Language (XPDL)
•       A modeling language for Process Definition
•       A Process Definition Meta-model
•       WfMC Reference Model Interface 1 – Process definition


•       Goals
         • Process Definition Model interchange between tool


    3
The Process Definition
• Activity Network – Nodes & Transitions
     • Sequential, Parallele, Conditional, and Message paths




• Activity Definitions             • Arbitrarily complex graphs
     • Resource Requirement             •   Sequential Activities
     • Work Assignment                  •   Parallel Activities
     • Applications and Services        •   Loops / Cycles
                                        •   Conditional Paths
• Data Definitions

 4
Process Definition Interchange

•       Common meta-model
         • Allow tools to exchange models
•       Type of tools
         •   Simulation tools
         •   Monitoring tools
         •   Execution tools
         •   Modelling tools
         •   Repository tools




    5
Meta-Model
               BPMN                                          XPDL
                                    Framew ork



                Common Objects, Attributes, Semantics, and Usage




       Vendor Internal             Vendor Internal           Vendor Internal
    Import / Export Layer       Import / Export Layer     Import / Export Layer



                                       XPDL




     Simulation Engine            Execution Engine         Monitoring Engine



6
An Example of Standards Utilization

•   Today more than 24 products support XPDL
         • See www.wfmc.org for details

                                              Process
                                              Modeling                          Analysis,
                                              Sketchpad
                                                                              Reporting and
                                                BPMN
           Work                                                                Monitoring
                            Process
        Processing                                  XPDL
                            Designer
                                       XPDL

                                              Simulation         XPDL
                                               Controller
                                               Animator
                                                Engine

                                                            XML Log
                                                             Events
                      Process                                           Analytics
                     Execution                                           OLAP


                                              Performance
                                              Management



    7
XPDL 2.0 Purpose
•       A persistent format for BPMN
         • XPDL provides an XML file format
         • BPMN provides a graphical notation
•       Back compatible with XPDL 1.0
•       XPDL and BPMN address the same modeling space




    8
BPMN
•       Graphical Business Notation to
         • Describe processes
         • Describe interaction between processes
•       Business Process Modeling notation (BPMN)
         • Object Management Group (OMG)
            • Business Process Management Initiative (BPMI) group
•       Design to be used by business analysts




    9
Core Set of Diagram Elements


                               The core set of modeling
                               elements enable the easy
                                  development simple
                                   Business Process
                                 Diagrams that will look
                               familiar to most Business
                                  Analysts (a flowchart
                                        diagram)




 10
Swimlanes

            A Pool is a “swimlane” and
            a graphical container for
            partitioning a set of
            activities from other Pools,
            usually in the context of
            B2B situations.
            A Lane is a sub-partition
            within a Pool and will extend
            the entire length of the Pool,
            either vertically or
            horizontally.

  11
Events

         An Event is something that
         “happens” during the course
         of a business process. These
         Events affect the flow of the
         Process and usually have a
         trigger or a result. They can
         start, interrupt, or end the
         flow.




 12
Activities


             An activity is work that is
             performed within a
             business process. An
             activity can be atomic or
             non-atomic (compound).
             The types of activities that
             are a part of a Process
             Model are: Process, Sub-
             Process, and Task.



  13
Activities


             A Sub-Process can be in
             an expanded form that
             shows the process details
             of the a lower-level set of
             activities.




  14
Connections

•A Sequence Flow is used to show the order that activities will be
performed in a Process.
•A Message Flow is used to show the flow of messages between
two entities that are prepared to send and receive them.
•An Association is used to associate information and artifacts with
flow objects.




  15
Gateways

           Gateways are modeling
           elements that are used to
           control how Sequence
           Flows interact as they
           converge and diverge within
           a Process. If the flow does
           not need to be controlled,
           then a Gateway is not
           needed.




   16
Artifacts
            Data Objects are not flow objects (i.e., connected
            through Sequence Flow), but they do provide
            information about how documents, data, and
            other objects are used and updated within a
            Process.
            Text Annotations are a mechanism for a modeler
            to provide additional information for the reader of
            a BPMN diagram.
            Groups provide a mechanism to visually organize
            activities




   17
BPMN Example




 18
XPDL – BPMN Marriage
•    BPMN
         • Graphical notation
         • No file format
•    XPDL
         • XML file format
         • No graphics




    19
Sketchpad for BPMN




 20
New Elements in XPDL 2.0 from BPMN
•    Pools and lanes
         • used to define participants and roles
•    Message flows
         • used for communication between processes
•    Associations and Artifacts
         • used to document the process definitions
•    Graphic information for each entity




    21
Package Meta-Model
                                                                                                    ExternalPackage
                                                                                Package
                                                                   0..1                             0..1
                                                                               [Business
                                    MessageFlow                             Process Diagram
                                                                                 (BPD)]

           Association                                               0..1                        0..1
                                    target     source

                           source                                    *                       *
                  target
                                                        *           Type
       target                               Pool                                           Data Field
                                                                  Declaration
          source
                                    0..1                    *                                              *

       Artifact                                     Participant                                         Application
                                                                                  *
                                                                              Process
                                        *                                                                  *
                                                                            (W. Process)
                                        Lane
                                                                                 0..1


                source
                               target                                                               W. Relevant
                 source                                                         Activity
                               target                                                                  Data


                    Data Object                      Resource                                    System and
                                                   Repository or                              environmental data
                                                   Organizational
                                                      Model
                       Group



                     Annotation




 22
Process Meta-Model                                        Process
                                                        (W. Process)
           Type
         Declaration



          Data Field                                                                   ActivitySet
          (Property)                                                              (Embedded Sub-Process)


                                     Application
                           uses
                                                       performer
                                                                                       Reference

                    uses      Participant          performer           Activity            to        Transition
                                                                                                 (Sequence Flow)
                                                                                         from
                                      uses
                                                      uses



             Pool                     Lane                   Task/Tool                        BlockActivity



         W. Relevant
                                                               Route                            SubFlow
            Data
                                    Resource
                                  Repository or
         System and               Organizational
                                     Model                   Gateway                             Event
      environmental data




 23
Tool and Vendor Information
•    Each tool can add tool specifics
         • Graphical information
         • Extensions
         <xsd:element name="VendorExtension">
           <xsd:complexType>
             <xsd:sequence>
               <xsd:any namespace="##other" processContents="lax"/>
             </xsd:sequence>
             <xsd:attribute name="ToolId" type="xsd:string" use="required"/>
             <xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
             <xsd:attribute name="extensionDescription" type="xsd:anyURI"
               use="optional"/>
             <xsd:anyAttribute namespace="##other" processContents="lax"/>
           </xsd:complexType>
         </xsd:element>




    24
Tool Specific Graphical Information
•    Each tool adds its own graphical information
•    Same XPDL can be displayed different by different
     tools




               Tool A         Tool B                 Tool C




                                       XPDL




    25
Example
<Activity Id="31" Name="">
 <Route GatewayType="AND" MarkerVisible="true"/>
 <TransitionRestrictions>
  <TransitionRestriction>
   <Join Type="AND"/>
  </TransitionRestriction>
 </TransitionRestrictions>
 <NodeGraphicsInfos>

  <NodeGraphicsInfo ToolId="ToolA" Width="41.0" Height="41.0">
   <Coordinates XCoordinate="10" YCoordinate="75"/>
  </NodeGraphicsInfo>

  <NodeGraphicsInfo ToolId="ToolB" Page="1" Width="890">
   <Coordinates XCoordinate="23" YCoordinate="12"/>
  </NodeGraphicsInfo>

  <NodeGraphicsInfo ToolId="ToolC" Width="25" Height="34" Shape="Round">
   <Coordinates XCoordinate="1078" YCoordinate="230"/>
  </NodeGraphicsInfo>

 </NodeGraphicsInfos>
</Activity>



 26
Extended Elements and Attributes
• XPDL schema is extensible
• Allows vendors to extend XPDL
    • Adds arbitrary XML in a well defined manner
• Anonymous and namespace qualified extensions




 27
Future
•    XPDL
         • WfMC will continue to maintain XPDL
         • Will update based on
            • BPMN evolution
            • Implementers comments
•    BPMN
         • BPMI has become part of OMG
            • BPMN will be further developed within OMG.




    28
Contacts & Further Information




                http://www.wfmc.org
               email: wfmc@wfmc.org




 29

2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

  • 1.
    XPDL 2.0 Tutorial Mike Marin WfMC Technical Committee Vice Chairman (Americas) Software Architect, FileNet Corporation
  • 2.
    Agenda • XPDL Definition • Process Interchange • BPMN Definition • XPDL 2.0 Description • Future 2
  • 3.
    XPDL Definition • XML Process Definition Language (XPDL) • A modeling language for Process Definition • A Process Definition Meta-model • WfMC Reference Model Interface 1 – Process definition • Goals • Process Definition Model interchange between tool 3
  • 4.
    The Process Definition •Activity Network – Nodes & Transitions • Sequential, Parallele, Conditional, and Message paths • Activity Definitions • Arbitrarily complex graphs • Resource Requirement • Sequential Activities • Work Assignment • Parallel Activities • Applications and Services • Loops / Cycles • Conditional Paths • Data Definitions 4
  • 5.
    Process Definition Interchange • Common meta-model • Allow tools to exchange models • Type of tools • Simulation tools • Monitoring tools • Execution tools • Modelling tools • Repository tools 5
  • 6.
    Meta-Model BPMN XPDL Framew ork Common Objects, Attributes, Semantics, and Usage Vendor Internal Vendor Internal Vendor Internal Import / Export Layer Import / Export Layer Import / Export Layer XPDL Simulation Engine Execution Engine Monitoring Engine 6
  • 7.
    An Example ofStandards Utilization • Today more than 24 products support XPDL • See www.wfmc.org for details Process Modeling Analysis, Sketchpad Reporting and BPMN Work Monitoring Process Processing XPDL Designer XPDL Simulation XPDL Controller Animator Engine XML Log Events Process Analytics Execution OLAP Performance Management 7
  • 8.
    XPDL 2.0 Purpose • A persistent format for BPMN • XPDL provides an XML file format • BPMN provides a graphical notation • Back compatible with XPDL 1.0 • XPDL and BPMN address the same modeling space 8
  • 9.
    BPMN • Graphical Business Notation to • Describe processes • Describe interaction between processes • Business Process Modeling notation (BPMN) • Object Management Group (OMG) • Business Process Management Initiative (BPMI) group • Design to be used by business analysts 9
  • 10.
    Core Set ofDiagram Elements The core set of modeling elements enable the easy development simple Business Process Diagrams that will look familiar to most Business Analysts (a flowchart diagram) 10
  • 11.
    Swimlanes A Pool is a “swimlane” and a graphical container for partitioning a set of activities from other Pools, usually in the context of B2B situations. A Lane is a sub-partition within a Pool and will extend the entire length of the Pool, either vertically or horizontally. 11
  • 12.
    Events An Event is something that “happens” during the course of a business process. These Events affect the flow of the Process and usually have a trigger or a result. They can start, interrupt, or end the flow. 12
  • 13.
    Activities An activity is work that is performed within a business process. An activity can be atomic or non-atomic (compound). The types of activities that are a part of a Process Model are: Process, Sub- Process, and Task. 13
  • 14.
    Activities A Sub-Process can be in an expanded form that shows the process details of the a lower-level set of activities. 14
  • 15.
    Connections •A Sequence Flowis used to show the order that activities will be performed in a Process. •A Message Flow is used to show the flow of messages between two entities that are prepared to send and receive them. •An Association is used to associate information and artifacts with flow objects. 15
  • 16.
    Gateways Gateways are modeling elements that are used to control how Sequence Flows interact as they converge and diverge within a Process. If the flow does not need to be controlled, then a Gateway is not needed. 16
  • 17.
    Artifacts Data Objects are not flow objects (i.e., connected through Sequence Flow), but they do provide information about how documents, data, and other objects are used and updated within a Process. Text Annotations are a mechanism for a modeler to provide additional information for the reader of a BPMN diagram. Groups provide a mechanism to visually organize activities 17
  • 18.
  • 19.
    XPDL – BPMNMarriage • BPMN • Graphical notation • No file format • XPDL • XML file format • No graphics 19
  • 20.
  • 21.
    New Elements inXPDL 2.0 from BPMN • Pools and lanes • used to define participants and roles • Message flows • used for communication between processes • Associations and Artifacts • used to document the process definitions • Graphic information for each entity 21
  • 22.
    Package Meta-Model ExternalPackage Package 0..1 0..1 [Business MessageFlow Process Diagram (BPD)] Association 0..1 0..1 target source source * * target * Type target Pool Data Field Declaration source 0..1 * * Artifact Participant Application * Process * * (W. Process) Lane 0..1 source target W. Relevant source Activity target Data Data Object Resource System and Repository or environmental data Organizational Model Group Annotation 22
  • 23.
    Process Meta-Model Process (W. Process) Type Declaration Data Field ActivitySet (Property) (Embedded Sub-Process) Application uses performer Reference uses Participant performer Activity to Transition (Sequence Flow) from uses uses Pool Lane Task/Tool BlockActivity W. Relevant Route SubFlow Data Resource Repository or System and Organizational Model Gateway Event environmental data 23
  • 24.
    Tool and VendorInformation • Each tool can add tool specifics • Graphical information • Extensions <xsd:element name="VendorExtension"> <xsd:complexType> <xsd:sequence> <xsd:any namespace="##other" processContents="lax"/> </xsd:sequence> <xsd:attribute name="ToolId" type="xsd:string" use="required"/> <xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/> <xsd:attribute name="extensionDescription" type="xsd:anyURI" use="optional"/> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> </xsd:element> 24
  • 25.
    Tool Specific GraphicalInformation • Each tool adds its own graphical information • Same XPDL can be displayed different by different tools Tool A Tool B Tool C XPDL 25
  • 26.
    Example <Activity Id="31" Name=""> <Route GatewayType="AND" MarkerVisible="true"/> <TransitionRestrictions> <TransitionRestriction> <Join Type="AND"/> </TransitionRestriction> </TransitionRestrictions> <NodeGraphicsInfos> <NodeGraphicsInfo ToolId="ToolA" Width="41.0" Height="41.0"> <Coordinates XCoordinate="10" YCoordinate="75"/> </NodeGraphicsInfo> <NodeGraphicsInfo ToolId="ToolB" Page="1" Width="890"> <Coordinates XCoordinate="23" YCoordinate="12"/> </NodeGraphicsInfo> <NodeGraphicsInfo ToolId="ToolC" Width="25" Height="34" Shape="Round"> <Coordinates XCoordinate="1078" YCoordinate="230"/> </NodeGraphicsInfo> </NodeGraphicsInfos> </Activity> 26
  • 27.
    Extended Elements andAttributes • XPDL schema is extensible • Allows vendors to extend XPDL • Adds arbitrary XML in a well defined manner • Anonymous and namespace qualified extensions 27
  • 28.
    Future • XPDL • WfMC will continue to maintain XPDL • Will update based on • BPMN evolution • Implementers comments • BPMN • BPMI has become part of OMG • BPMN will be further developed within OMG. 28
  • 29.
    Contacts & FurtherInformation http://www.wfmc.org email: wfmc@wfmc.org 29