30
Business Process Simulation Interchange Standard Denis Gagné, www.BusinessProcessIncubator.com Chair BPSWG at WfMC XPDL Co-Editor at WfMC BPMN 2.0 FTF Member at OMG BPMN 2.1 RTF Member at OMG CMMN Submission at OMG

BPSim The Interchange Format

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: BPSim The Interchange Format

Business Process Simulation Interchange Standard

Denis Gagné,www.BusinessProcessIncubator.comChair BPSWG at WfMC

XPDL Co-Editor at WfMC

BPMN 2.0 FTF Member at OMG

BPMN 2.1 RTF Member at OMG

CMMN Submission at OMG

Page 2: BPSim The Interchange Format

Business Process Simulation Working Group

BPSWG

www.BPSim.org

Page 3: BPSim The Interchange Format

BPSim Inception

ModSim 2009

Denis Gagné presented: «Modeling and Simulation in Business Process Management»

XPDL4BPMN 2010

John Januszczak presented: «Simulation for Business Process Management» Proposed a first draft specification of Business Process Simulation Scenarios (SIM4BPM)

Robert Shapiro presented: «Analytics for Performance Optimization of BPMN 2.0 Business Processes» Combined use of statistics and simulation for structural optimization

Town Hall Discussions Participants expressed the desire for a standardized transport of analysis and simulation parameters along with results of simulation runs

2011

Trisotech and Lanner cooperation

Creation of the Process Analysis Framework (PAF) with intent to submit as an Open Standard

PAF mapping to L-Sim, Process Analytica and Sim4BPM

Q3 2011

WfMC Establishes the Business Process Simulation Working Group (BSWG)

Trisotech and Lanner contributes the Process Analysis Framework (PAF

66 individual membersjoins the effort

2012

Meeting in Paris, Fr.Meeting in Nashua, USA

BPSim sandboxed by many of the contributers

Q1 2013

BPSim V1.0General Availability

Page 4: BPSim The Interchange Format

BPSWG by Definition

What it is:A Standardization Effort

What it is not:A Pure Thought Leadership Effort

Mandate:Developing, reviewing, promoting BPM Simulation relevant standard(s)

Page 5: BPSim The Interchange Format

BPSWG Goal

Define a Specification for the Parameterization and Interchange of process analysis data allowing Structural and Capacity Analysis of a process model providing for Pre-execution and Post-execution optimization.

Focused on the Data («in/out») (commonly the «what») and its Interchange not its interpretation or its use (the «how») or tool smart.

Page 6: BPSim The Interchange Format

Why BPSim

Encourage wider adoption of simulation within BPM community through a standards led approach

Process simulation is a valuable technique to support process design, reduce risk of change and improve efficiency in the organisation

Provide a framework for the specification of simulation scenario data and results as a firm foundation for implementation

Open interchange of simulation scenario data between modeling tool, simulator, results analysis/presentation tool

Page 7: BPSim The Interchange Format

BPSim Tenets

Not Reinvent the Wheel Complements XPDL and BPMN

Separations of Concerns Multiple perspectives

Reductionist Divide and conquer

Human Consumable over Conceptual Abstraction Structured serialization

Validation via Running Code Sand boxing from day 1

Success Measured by Adoption Existing implementations prior to official release

Page 8: BPSim The Interchange Format

Why is Interchange Desirable?

To increase, stimulate, facilitate:Understanding

Adoption

Interoperability

Repurposing

Migration

Creates an open market allowing:Cost Reduction

Remove Vendor Lock In

Best of Breed Choicewithin tool categories

across tools categories (Suites)

Page 9: BPSim The Interchange Format

Who Benefits from Interchange?

Business Partners

Business People

Business Analysts

Technical Developers

Choice in toolsSpeed of deploymentReadily available SkillsFlexibilityAgility

End Users

Attract and retain customers Demonstrate market leadership Create competitive advantage Develop and maintain best practice

Vendors

Execution

Simulation

Modeling

Analysis

Page 10: BPSim The Interchange Format

BPSim Scope

Complements existing process modeling standards

“Not Reinvent the Wheel”

Page 11: BPSim The Interchange Format

BPSim Approach

Parameterization of Business Process Model (BPMN or XPDL) from different perspectives for process analysis, simulation and

optimization purposes

P

“Separations of Concerns”

Page 12: BPSim The Interchange Format

BPSim Perspectives

Resource Cost

Time Control

Property

Process

Priority

Page 13: BPSim The Interchange Format

BPSim Scenario

Collections of Scenarios containing Collections of Element Parameters

Used to provide complementary information to a BPMN or XPDL business process model in the context of process analysis, simulation and optimization (ASO)

A collection of Element Parameters augmenting the Business Process Model

A Scenario can capture:

input parameter specification for ASO; or

results from ASO; or

historical data from past real world execution of the business process model.

“Reductionist”

Page 14: BPSim The Interchange Format

Some Concepts and Terms

ConcreteSyntax

AbstractSyntax

DiagramModel

Reference

Reference

instance instance

Notational symbols and graphical representation

underlying computer-interpretable

representation

NotationMeta-model

InterchangeFormat

Standard

Your Work

electronic file format that eases the safeguard and

transfer of this data between different tools

• Process diagrams can be considered like pictures of the process model. • Many diagrams (or pictures) of the same process model are possible, each

showing or hiding various aspects of the process model details.

Page 15: BPSim The Interchange Format

BPSim Conceptual Model

BPMN orXPDL

Scenario(Input)Process

Model

Reference

Reference

instance instance

Scenario(Output)

Reference

instance

Reference

Page 16: BPSim The Interchange Format

BPSim Interchange Format Characteristics

Can be transported within the process model file or outside

Proper extension to XPDL

Proper extension to BPMN

Can transport Input scenarios and Output scenarios

Human Consumable (Readability) of the Resulting XML

“Human Consumable over Conceptual Abstraction”

Page 17: BPSim The Interchange Format

BPSim Element Parameters

Each element parameter of a scenario references a specific element of a process within the business process model

Each element of the business process model may be parameterized with zero or multiple element parameters

P

Perspectives TimeParameters ControlParameters ResourceParameters CostParameters InstanceParameters PriorityParameters

Page 18: BPSim The Interchange Format

class Scenario

«interface»BusinessProcessModel

«interface»BusinessProcessModelElement

BPSimData

Scenario

+ id :String+ name :String+ description :String+ created :DateTime+ modified :DateTime+ author :String+ vendor :String+ version :String

ScenarioParameters

+ start :Parameter+ duration :Parameter+ replication :int+ seed :long+ baseTimeUnit :TimeUnit+ baseCurrencyUnit :String

ElementParameters

+ id :String+ elementRef :BusinessProcessModelElement+ vendorExtensions :VendorExtension

VendorExtension

+ name :String+ value :Object

External BPMN or XPDL Business Process Model with its elements

«enumeration»TimeUnit

ms s min hour day year

PropertyParameters

+ property :Map<String, Parameter>

+propertyParameters

0..*

1

0..*

+elementRef

1

+scenarios

1..*1

+scenarioParameter

0..11

+vendorExtensions

0..*1

+result

+elementParameter 0..*

1

+inherits

+vendorExtensions

0..*1

+propertyParameters

0..11

Page 19: BPSim The Interchange Format

class Element Parameter

ElementParameters

+ id :String+ elementRef :BusinessProcessModelElement+ vendorExtensions :VendorExtension

TimeParameters

+ transferTime :Parameter+ queueTime :Parameter+ waitTime :Parameter+ setupTime :Parameter+ processingTime :Parameter+ validationTime :Parameter+ reworkTime :Parameter

ControlParameters

+ interTriggerTimer :Parameter+ triggerCount :Parameter+ probability :Parameter+ condition :Parameter

CostParameters

+ fixedCost :Parameter+ unitCost :Parameter

ResourceParameters

+ availability :Parameter+ quantity :Parameter+ selection :Parameter+ role :List<Parameter>

PropertyParameters

+ property :Map<String, Parameter>

«interface»BusinessProcessModelElement VendorExtension

+ name :String+ value :Object

PriorityParameters

+ interruptible :Parameter+ priority :Parameter

0..*

+elementRef

1

+vendorExtensions

0..*1

+timeParameters

0..1

1

+controlParameters 0..1

1

+priorityParameters

0..1

1

+resourceParameters 0..1

1

+propertyParameters 0..1

1

+costParameters 0..1

1

Page 20: BPSim The Interchange Format

class Parameter

Parameter

+ kpi :boolean = false+ sla :boolean = false+ value :ParameterValue+ resultRequest :ResultType

ParameterValue

+ validFor :Calendar+ instance :String+ result :ResultType

Calendar

+ id :String+ name :String+ calendar :Object

ExpressionParameter

+ value :String

A

DistributionParameter

+ timeUnit :TimeUnit+ currencyUnit :String

ConstantParameter

+ value :Object

EnumParameter

A

«enumeration»ResultType

min max mean count sum

+value

0..*1

0..* +validFor

0..1

+values

1..* 1

Page 21: BPSim The Interchange Format

Parameter Usage - Constants

Duration

You can set the duration for the Task to 5 minutes using a Duration Parameter.

<ElementParameters elementRef="task">

<TimeParameters>

<ProcessingTime>

<DurationParameter value="PT5M"/>

</ProcessingTime>

</TimeParameters>

</ElementParameters>

IntegerParameter

You can set the duration for the Task to 5 minutes using an Integer Parameter.

<ElementParameters elementRef="task">

<TimeParameters>

<ProcessingTime>

<IntegerParameter value=“5” timeUnit=“min”/>

</ProcessingTime>

</TimeParameters>

</ElementParameters>

Page 22: BPSim The Interchange Format

Parameter Usage - Distributions

Distributions

You can set the duration for the Task to be uniformly distributed between 3 and 10 minutes using the processing time. <ElementParameters elementRef="task">

<TimeParameters>

<ProcessingTime>

<UniformDistribution min=“3” max=“10” timeUnit=“min”/>

</ProcessingTime>

</TimeParameters>

</ElementParameters>

User Distribution

You can set the duration for the Task to 5 minutes 90% of the times and 10 minutes 10% of the times using the processing time.

<ElementParameters elementRef="task">

<TimeParameters>

<ProcessingTime>

<UserDistribution>

<UserDistributionDataPoint probability=“0.9”>

<DurationParameter value=“PT5M”/>

</UserDistributionDataPoint>

<UserDistributionDataPoint probability=“0.1”>

<DurationParameter value=“PT10M”/>

</UserDistributionDataPoint>

</UserDistribution>

</ProcessingTime>

</TimeParameters>

</ElementParameters>

Page 23: BPSim The Interchange Format

Parameter Usage - Enumeration

Enumeration

You can set the duration for the Task to 5, 3 and 4 minutes using the processing time.

<ElementParameters elementRef="task">

<TimeParameters>

<ProcessingTime>

<EnumParameter>

<DurationParameter value=“PT5M”/>

<DurationParameter value=“PT3M”/>

<DurationParameter value=“PT4M”/>

</ EnumParameter >

</ProcessingTime>

</TimeParameters>

</ElementParameters>

Page 24: BPSim The Interchange Format

Parameter Usage - Expression

Expression

You can set the duration for the Task according to an expression using the processing time.

<ElementParameters elementRef="task">

<TimeParameters>

<ProcessingTime>

<ExpressionParameter value=

“bpsim:getProperty(‘duration’)” />

</ProcessingTime>

</TimeParameters>

</ElementParameters>

Page 25: BPSim The Interchange Format

Parameter Usage - Calendar

Varying value according to a Calendar

You can set the duration for the Task to 5 minutes but on Friday afternoon to 7 minutes using the processing time.

<ElementParameters elementRef="task">

<TimeParameters>

<ProcessingTime>

<DurationParameter value=“PT5M”/>

<DurationParameter value=“PT7M” validFor=“C1”/>

</ProcessingTime>

</TimeParameters>

</ElementParameters>

<Calendar id="C1" name="Friday Afternoon">

BEGIN:VCALENDAR

BEGIN:VEVENT

DTSTAMP:20120525T142704

UID:1337970424871@localhost

DTSTART:20020101T120000

DTEND:20020101T170000

RRULE:FREQ=WEEKLY;BYDAY=FR

END:VEVENT

PRODID:PAF Editor

VERSION:2.0

END:VCALENDAR

</Calendar>

Page 26: BPSim The Interchange Format

BPMN Example

Check Stock

Stock Available?

Pick Stock

Prepare Shipment

Ship Order

No Stock

Shipment within SLA

Shipment Outside SLA

Yes

No

Page 27: BPSim The Interchange Format

Input Scenario Example

Check Stock

Stock Available?

Pick Stock

Prepare Shipment

Ship Order

No Stock

Shipment within SLA

Shipment Outside SLA

Yes

No

Page 30: BPSim The Interchange Format

BPSim Acknowledgement

BPSim 1.0 was a collaborative effort coordinated by Denis Gagne and Robert Shapiro.

BPSim 1.0 required many hours of work by individuals who had to find time to contribute while carrying out their normal duties for the company that employs them. We acknowledge the valuable contribution of the following individual:

Andy Adler (Process Analytica), Francois Bonnet (W4), Justin Brunt (Tibco), Mike Carpenter (CACI), Peter Denno (NIST), Lloyd Dugan (DCMO), Denis Gagne (Trisotech), Torben Haag (Open Text), Hanaa Hammad (IBM), Charles Harrell (CACI), Geoff Hook (Lanner), Jeremy Horgan (Lanner), John Januszczak(SIM4BPM), Alberto Manuel (Process Sphere), Razvan Radulian (Why What How), Simon Ringuette (Trisotech), William Rivera (BizAgi), Jesus Sanchez (BizAgi), Redirley Santos (FedEx), Robert Shapiro (Process Analytica), Frances Sneddon (Simul8), Tim Stephenson (KnowProcess), Tihomir Surdilovic (Red Hat).