At the BPMN Workshop in Lucerne two weeks ago I presented a talk called “Fulfilling the Promises of BPMN 2.0.” The basic point was that the BPMN 2.0 specification by itself is insufficient to deliver on the standard’s two most fundamental promises: first, as a semantically precise process notation, that the meaning of the depicted process logic is unambiguous from the diagram alone; and second, as an XML process description language (even limited to non-executable model elements in the Analytic subclass), that the serialization rules are sufficiently unambiguous to allow automated interchange between tools. Fulfilling those promises requires additional constraints, on modelers in the form of style rules,and on tool vendors in the form of serialization rules that I call the BPMN-I Profile. To address these problems, I created two BPMN validation tools based on XSLT 2.0. One checks models against both the rules of the BPMN 2.0 spec and the style rules, and another one checks them against the BPMN-I Profile.
Process Modeler for Visio from itp commerce implements the style rules directly inside Visio, and that works great, but now other tools are beginning to export BPMN 2.0 XML, and I wanted to explore an online tool for them. I hosted the AltovaXML engine (and my XSLT’s) on a website and got a web programmer to wrap it in an iframe accessible from my website. Unfortunately I wasn’t really happy with the robustness of the web application.
At the Lucerne workshop, Marco Brambilla of Politecnico di Milano and founder of a company called WebRatio made a presentation on WebRatio’s rapid model-driven approach to generating web applications integrated with BPMN. After the meeting, Marco contacted me and offered to replace my creaky web app with one generated by WebRatio. While I was thinking about it, he emailed me to say, “We’ve already done it, and here is the URL.” I don’t know how WebRatio did it exactly – I provided no information about either my XSLT or the web app surrounding it -but it works great!
The link is www.webratio.com/bpmnValidation. I invite you to try it out. You need to upload a file in the BPMN 2.0 XML format. The tool performs four checks: 1)well-formed XML; 2)valid per BPMN 2.0 XSD; 3)BPMN 2.0 and style rule validation; 4)BPMN-I Profile validation. Thank you, Sebastian and Aldo of WebRatio! And you as well, Marco. WebRatio… I’m a believer!
…
The implementation is still possibly fragile due to the single-threaded AltovaXML engine, but we are talking about reimplementing as a Java app using XSLT libaries, all generated by WebRatio. Please try out the tool. Bugs are most likely in my XSLTs, so please report them to me.
www.webratio.com/bpmnValidation
Tags: BPMN, bpmn 2.0, bpmn-i, method and style, validation, webratio





[...] to put ourselves to the test and anxious to know how it came out. I am reporting to you the words of Bruce Silver taken directly from his blog. “At the Lucerne workshop, Marco Brambilla of Politecnico di Milano and founder of a company [...]
Apparently the validation tool will not pass the OMG samples as valid.
OMG has samples posted at http://www.omg.org/spec/BPMN/20100602/2010-06-03/
None of them validate because the XSD is not included.
Is there a place to report bugs to them?
Not including xsi:schemaLocation in the .bpmn file is not really a bug, but my tool apparently requires it. I will try to remove this requirement in a future version. You can add it yourself in Wordpad or XMLSpy by inserting xsi:schemaLocation=”http://www.omg.org/spec/BPMN/20100524/MODEL schemas/BPMN20.xsd in the definitions element. I tried it on the pizza example. It is schema valid, but has 3 style rule violations and a large number of BPMN-I violations. There is no reason why OMG examples should conform to either one of these. I want to check out some of the BPMN-I violations… maybe a bug in my tool.
I was actually more meaning a place to report bugs to WebRatio – exactly the same comment you had: “Not including xsi:schemaLocation in the .bpmn file is not really a bug” … but the WebRatio tool won’t validate without it.
The bugs are mine, so report them to me. WebRatio merely wrapped my invocation of the AltovaXML parser/xslt engine in a web app. I need to go back and investigate how the parser finds the schema if none is referenced in the instance, e.g., provide a default. When I have time I will do that. I did ask WebRatio to disable the Method and Style validation and BPMN-I validation (both xslt) if not schema-valid, and I could ask them to change that in the meantime.