BPMN BPSim Presentations Process Analysis Process Management Process Modeling Simulation

BPSim The Interchange Format

Transcript

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
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 members
joins the effort
2012
Meeting in Paris,
Fr.
Meeting in Nashua,
USA
BPSim sandboxed by
many of the
contributers
Q1 2013
BPSim V1.0
General 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 Choice
within tool categories
across tools categories (Suites)
Who Benefits from Interchange?
Business
Partners
Business
People
Business
Analysts
Technical
Developers
Choice in tools
Speed of deployment
Readily available Skills
Flexibility
Agility
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
Concrete
Syntax
Abstract
Syntax
DiagramModel
Reference
Reference
instance instance
Notational symbols
and graphical
representation
underlying computer-
interpretable
representation
NotationMeta-model
Interchange
Format
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 or
XPDL
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..1
1
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).

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="http://www.businessprocessincubator.com/content/bpsim-the-interchange-format/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×