DMN TCK - decisioncamp2018.files.wordpress.com · The promise of DMN A Standard notation for...
Transcript of DMN TCK - decisioncamp2018.files.wordpress.com · The promise of DMN A Standard notation for...
[Disclaimer]● This presentation is delivered by this speaker
on behalf of the DMN TCK working group
● The DMN TCK working group always welcome new contributors to join!
https://github.com/dmn-tck/tck#how-to-join
The promise of DMNA Standard notation for Decision Modeling,
bridging the gap between technical and business analyst,with defined execution semantics
DMN Conformance Levels● Conformance Level 1:
● Requires the ability to draw DRG/DRD, define Decision Logic and Decision Tables
● No need to be executable, any language can be used, including natural language
● Conformance Level 2:● Same as conformance level 1, but must use S-FEEL
to define decision logic● Fully executable
● Conformance Level 3:● Everything in Conformance Level 2, plus support to
FEEL and boxed expressionssource: https://omg.org/spec/DMN
DMN support claims● DMCommunity website lists
18 Vendors claiming some level of DMN compatibility (and other claims not listed)
● Q: How to verify compliance to claimed/some level of the DMN Standard?A: the catalog provides link to TCK
source: https://dmcommunity.org
Standard launch and adoption
A freely available support technology
Standards team
Vendors, Customers,
Users
GOALs of the DMN TCK
📝 Define a set of test cases
🔬 Carefully assure conformance to the spec
🛠️ Provide tools to run the tests
👏 Recognize vendor successes
non-GOALs of the DMN TCK
🚫 Extend or enhance the DMN SpecRTF is responsible for that
🚫 Focus on esoteric featuresOnly features that exist in one or more implementations
🚫 Favor an implementation over anotherRemain technology and vendor neutral
Architecture of the DMN TCK Technology Compatibility Kit
Runner
DMN Tool
TCK Website
DM
N M
od
el
Inp
ut
Data
Exp
ect
ed
Resu
lts
CompareResults
PublishedResults
InvokeEvaluation
ExecuteModel
A way for Vendors to demonstrate their compliance to the Standard
Provide files to help Vendors test for error and become compliant
A way for Customers and Users to assess how compliant a Vendor is
DMN TCK is:
Some stats2016 2017 2018
Vendors results 0 1 8
Models 0 39 74
Decision Objects 0 183 732
Test files 0 34 74
Test cases 0 61 630
Examples of reported issues
Example #73:● [["a", "b"], "c"] = [["a", "b"], ["c"]]● "a" = ["a"]● ["a"] = "a"● "x" = ["x"] = [["x"]] = [[["x"]]] = …
Call for submissions● If you are creating DMN models
– which are valid and well formed, and– You have defined test cases, and– You would like them to execute on– all vendors DMN engines– including future versions
...– Then please consider submit them to the DMN TCK!
● It’s also a way to aim for a ~guarantee of future compatibility