DMN Demystified, Part 6. Key Element 5: Metamodel and Schema

All of the conceptual elements of DMN - their names, attributes, relationships to each other, whether they are required or optional, and so forth - are formally defined in the specification by a metamodel, a set of UML class diagrams. Here, for example, is the metamodel for a Decision:


Closely related to the metamodel is the XML Schema, or XSD, defining the standard XML interchange format for DMN models. Here is the XSD for decision table inputs:


The metamodel and schema define the internal plumbing of DMN. By bringing formal precision to the element definitions, they are what allows DMN models to be executed on a decision engine.

Unfortunately, in DMN 1.0 they messed up the metamodel and schema. Royally. Let's not even go there. Most of the work of DMN 1.1 was to fix that, and it's now done. Well, sort of done. The spec, including the new metamodel and XSD, was finished in November and is now in the hands of OMG's editors, who seem to take 6-9 months to officially release a finished specification. So sometime next summer or fall, the first "implementable" version of the standard will be available to the public.

While the look and feel of DRD, decision tables, FEEL, and boxed expressions have not changed appreciably since DMN 1.0, the internal plumbing of DMN - how and where variables and datatypes are defined, how decision tables are specified, imports and namespaces, etc. - has changed completely. If you are an implementer, you don't want to wait. You can get a copy of DMN 1.1 now if you are an OMG member. If not a member, well... there are ways.