BPSim The Interchange Format


Published on

Published in: Business, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

BPSim The Interchange Format

  1. 1. 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
  2. 2. Business Process Simulation Working Group BPSWG www.BPSim.org
  3. 3. 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
  4. 4. 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)
  5. 5. 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.
  6. 6. 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
  7. 7. 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
  8. 8. 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)
  9. 9. 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
  10. 10. BPSim Scope Complements existing process modeling standards “Not Reinvent the Wheel”
  11. 11. BPSim Approach Parameterization of Business Process Model (BPMN or XPDL) from different perspectives for process analysis, simulation and optimization purposes P “Separations of Concerns”
  12. 12. BPSim Perspectives Resource Cost Time Control Property Process Priority
  13. 13. 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”
  14. 14. 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.
  15. 15. BPSim Conceptual Model BPMN or XPDL Scenario (Input)Process Model Reference Reference instance instance Scenario (Output) Reference instance Reference
  16. 16. 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”
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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>
  22. 22. 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>
  23. 23. 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>
  24. 24. 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>
  25. 25. 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>
  26. 26. BPMN Example Check Stock Stock Available? Pick Stock Prepare Shipment Ship Order No Stock Shipment within SLA Shipment Outside SLA Yes No
  27. 27. Input Scenario Example Check Stock Stock Available? Pick Stock Prepare Shipment Ship Order No Stock Shipment within SLA Shipment Outside SLA Yes No
  28. 28. Discussions & Questions www.BPSim.org
  29. 29. BPSim Contributors “Success Measured by Adoption” and numerous others…
  30. 30. 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).