Post on 05-Dec-2014
description
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
Business Process Simulation Working Group
BPSWG
www.BPSim.org
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
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)
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.
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
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
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)
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
BPSim Scope
Complements existing process modeling standards
“Not Reinvent the Wheel”
BPSim Approach
Parameterization of Business Process Model (BPMN or XPDL) from different perspectives for process analysis, simulation and
optimization purposes
P
“Separations of Concerns”
BPSim Perspectives
Resource Cost
Time Control
Property
Process
Priority
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”
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.
BPSim Conceptual Model
BPMN orXPDL
Scenario(Input)Process
Model
Reference
Reference
instance instance
Scenario(Output)
Reference
instance
Reference
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”
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
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
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
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
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>
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>
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>
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>
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>
BPMN Example
Check Stock
Stock Available?
Pick Stock
Prepare Shipment
Ship Order
No Stock
Shipment within SLA
Shipment Outside SLA
Yes
No
Input Scenario Example
Check Stock
Stock Available?
Pick Stock
Prepare Shipment
Ship Order
No Stock
Shipment within SLA
Shipment Outside SLA
Yes
No
Discussions & Questions
www.BPSim.org
BPSim Contributors
“Success Measured by Adoption”
and numerous others…
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).