BPMN Interchange Validation Falko Menge camunda ser vices GmbH 13 Februar y 2013
Dec 05, 2014
BPMN Interchange Validation
Falko Menge
camunda services GmbH
13 February 2013
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
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
Validation Process: Import Only
Validation Process: Export Only
Validation Process: Roundtrip
Diagram Validation
Pixel-based Diff: Transparent Overlay
Pixel-based Diff: Example Reference
Pixel-based Diff: Example Result with Missing Elements
$ perceptualdiff reference.tif vendor.tiff -output diff.ppm
FAIL: Images are visibly different
696 pixels are different
Pixel-based Diff: Perceptual Image Diff
ImageMagic: $ compare reference.png screenshot.png diff.png
Pixel-based Diff: ImageMagic
Pixel-based Diff: ImageMagic
Pixel-based Diff: ImageMagic
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
Normalize DI and compare positions and dimensions
Open Source implementation of algorithm available: camunda fox
DI-based Diff
Can also be used as an overlay to highlight differences in a model
DI-based Diff
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
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
Meta model comparison even allows for a graphical diff
Semantic Model Validation
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
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