2013-02-13 - bpmn interchange validation
DESCRIPTION
Presentation for the 2nd meeting of the BPMN Model Interchange Workings Group at the OMG. It describes camundas experience with different tools that can be used to validate BPMN process models and diagrams. Falko Menge 13 February 2013TRANSCRIPT
![Page 1: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/1.jpg)
BPMN Interchange Validation
Falko Menge
camunda services GmbH
13 February 2013
![Page 2: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/2.jpg)
1. Creating Reference Models
2. Validation Process
3. Diagram Validation
4. Semantic Model Validation
1. XML
2. BPMN Meta Model
5. Common Interchang Problems
Agenda
![Page 3: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/3.jpg)
Which modeling tool to use?
Requirements:
−PNG export
- Symbols close to the BPMN Spec
- No colors
- No shadows
- No 3D icons
−XML export
- Schema-valid
- Conform to BPMN 2.0 Spec
−API for automation of hundreds of test cases
Creating Reference Models
![Page 4: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/4.jpg)
Validation Process: Import Only
![Page 5: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/5.jpg)
Validation Process: Export Only
![Page 6: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/6.jpg)
Validation Process: Roundtrip
![Page 7: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/7.jpg)
Diagram Validation
![Page 8: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/8.jpg)
![Page 9: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/9.jpg)
![Page 10: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/10.jpg)
![Page 11: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/11.jpg)
![Page 12: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/12.jpg)
![Page 13: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/13.jpg)
![Page 14: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/14.jpg)
![Page 15: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/15.jpg)
![Page 16: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/16.jpg)
Pixel-based Diff: Transparent Overlay
![Page 17: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/17.jpg)
Pixel-based Diff: Example Reference
![Page 18: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/18.jpg)
Pixel-based Diff: Example Result with Missing Elements
![Page 19: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/19.jpg)
$ perceptualdiff reference.tif vendor.tiff -output diff.ppm
FAIL: Images are visibly different
696 pixels are different
Pixel-based Diff: Perceptual Image Diff
![Page 20: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/20.jpg)
ImageMagic: $ compare reference.png screenshot.png diff.png
Pixel-based Diff: ImageMagic
![Page 21: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/21.jpg)
Pixel-based Diff: ImageMagic
![Page 22: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/22.jpg)
Pixel-based Diff: ImageMagic
![Page 23: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/23.jpg)
Pros:
−Spots even slightest differences (could detect encoding problems)
−Open Source tools available: ImageMagic, PerceptualDiff
Cons:
−Too pedantic (we dont want to make all tools look exactly the same)
- Could be solved by re-import to reference modeling tool
−Bounding box detection and cropping needed
- Open Source implementation of algorithm available: camunda fox
Pixel-based Diff: Discussion
![Page 24: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/24.jpg)
Normalize DI and compare positions and dimensions
Open Source implementation of algorithm available: camunda fox
DI-based Diff
![Page 25: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/25.jpg)
Can also be used as an overlay to highlight differences in a model
DI-based Diff
![Page 26: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/26.jpg)
1. XML Schema validation
2. Check if elements still are present & have same IDs and attributes
3. XML Diff using tools like XMLUnit for Java
−One defines rules of what is considered equal in XML through so-called Difference Listeners
XML Validation
![Page 27: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/27.jpg)
1. Load process with EMF meta model provided by the BPMN Spec
- Open Source implementation available: camunda fox quickstart
2. Meta Model Diff
- Open Source implementation available: Eclipse EMF Compare
- Any difference reported is likely to be an interchange problem
Semantic Model Validation
![Page 28: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/28.jpg)
Meta model comparison even allows for a graphical diff
Semantic Model Validation
![Page 29: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/29.jpg)
Element IDs not preserved
Ordering of DI elements
Node center instead of upper left corner
Unicode Support
Wrong semantic element referenced in DI
Pool references Process
Data Store & Data Object instead of References
Common Interchange Problems
![Page 30: 2013-02-13 - BPMN Interchange Validation](https://reader034.vdocuments.site/reader034/viewer/2022051817/5487af95b4af9f9b0d8b550c/html5/thumbnails/30.jpg)
Thank you! camunda services GmbH Zossener Str. 55-58 10961 Berlin
Telefon: +49 30 664 0409-00 Telefax: +49 30 664 0409-29
Email: [email protected]
www.bpm-guide.de Blog:
@camunda.com
Consultant, trainer and software developer
Falko Menge
falko.menge
BPMN Interchange Validation
13 February 2013