DMN TCK - decisioncamp2018.files.wordpress.com · The promise of DMN A Standard notation for...

23
DMN TCK Decision Model and Notation Technology Compatibility Kit https://dmn-tck.github.io/tck

Transcript of DMN TCK - decisioncamp2018.files.wordpress.com · The promise of DMN A Standard notation for...

DMN TCKDecision Model and NotationTechnology Compatibility Kit

https://dmn-tck.github.io/tck

[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

What’s the point of a Standard,if it executes differently?

Standard launch and adoption

A freely available support technology

Standards team

Vendors, Customers,

Users

Why a TCK?

Build a Test Platform

Vendorsdemonstrate

capabilityCustomers, Users

gain assurance

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

Example DMN model and Test case

(demo)

DMN TCK website

DMN TCK website

DMN TCK website

DMN TCK website

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

Participants

...and individual Contributors

Goldman Sachs, Inc.

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

JOIN the TCK working group!How to join:

https://github.com/dmn-tck/tck#how-to-join

TCK Working group holds a Callevery Friday

Contributors are Welcome! =)