Decision Model and Notation Avatar
  1. OMG Specification

Decision Model and Notation — Open Issues

  • Acronym: DMN
  • Issues Count: 32
  • Description: Issues not resolved
Open Closed All
Issues not resolved

Issues Summary

Key Issue Reported Fixed Disposition Status
DMN17-197 Example diagrams in Chapter 12 have poor resolution DMN 1.6b1 open
DMN17-195 Minor typos DMN 1.6b1 open
DMN17-110 Inconsistent type for defaultOutputEntry in Table 34 DMN 1.6b1 open
DMN17-98 No intersection list function DMN 1.6b1 open
DMN17-76 Add semantic domain for enumerations DMN 1.6b1 open
DMN17-84 max() and min() work different in B-FEEL than sum()/mean() regarding null DMN 1.6b1 open
DMN17-85 new miscellaneous function for default values DMN 1.6b1 open
DMN17-189 Missing FEEL functions random() & uuid() DMN 1.6b1 open
DMN17-185 Discrepancy between spec and metamodel for AuthorityRequirement properties DMN 1.6b1 open
DMN17-194 property informationRequirement not shown in diagram DMN 1.6b1 open
DMN17-183 Discrepancy in property between metamodel and specification (requiresInformation) DMN 1.6b1 open
DMN17-182 BKM2ECassociation in metamodel is not shown in specification DMN 1.6b1 open
DMN17-180 Leftover property in meta model DMN 1.6b1 open
DMN17-177 Missing properties for DI:DiagramElement in MM DMN 1.6b1 open
DMN17-173 Binding of not specified variables DMN 1.6b1 open
DMN17-105 No default value for InformationItem DMN 1.6b1 open
DMN17-92 No built-in function to encode/decode JSON DMN 1.6b1 open
DMN17-74 Allow modellers to define range types DMN 1.6b1 open
DMN17-100 There is insert before() but no insert after() in FEEL DMN 1.6b1 open
DMN17-188 Missing FEEL functions to format dates and times DMN 1.6b1 open
DMN17-96 Missing function to trim whitespaces from strings DMN 1.6b1 open
DMN17-112 B-FEEL semantic precision for null values in collections DMN 1.6b1 open
DMN17-107 Iteration context not allowed in quantified expressions DMN 1.6b1 open
DMN17-103 Union FEEL function should mention no guaranty of ordering DMN 1.6b1 open
DMN17-94 Built-in functions returning abstract types DMN 1.6b1 open
DMN17-109 Clarification regarding missing required InputDatas DMN 1.6b1 open
DMN17-86 Missing types in Figure 10-26: FEEL lattice type DMN 1.6b1 open
DMN17-77 Clarification on href in DMN references needed DMN 1.6b1 open
DMN17-73 Dependency to XPath outdated DMN 1.6b1 open
DMN17-72 duration() function has two return types DMN 1.6b1 open
DMN17-79 Ambigous operational semantics for the implicit conversions and constraints DMN 1.6b1 open
DMN17-75 Extend support for ranges in loop expressions DMN 1.6b1 open

Issues Descriptions

Example diagrams in Chapter 12 have poor resolution


Minor typos

  • Key: DMN17-195
  • Status: open  
  • Source: FICO ( Dr. Alan Fish)
  • Summary:

    Errors found on review:

    1. Section 8.3.1 (clean PDF p79)
    Defect: Two paras before Table 32, "aggregration" should read "aggregation"

    2. Table 76: Semantics of list functions (clean PDF p150)
    Defect: The example for the new `intersection` function has unbalanced quotation marks; The string `"a` lacks a closing quotation mark in both lists, making this syntactically invalid FEEL.

    3. Table 77: Semantics of numeric functions (clean PDF p152)
    Defect: In Modulo() row, "dividen d" should read "dividend"

  • Reported: DMN 1.6b1 — Tue, 2 Jun 2026 14:27 GMT
  • Updated: Wed, 3 Jun 2026 11:54 GMT

Inconsistent type for defaultOutputEntry in Table 34

  • Key: DMN17-110
  • Status: open  
  • Source: Camunda Services GmbH ( Mr. Falko Menge)
  • Summary:

    Spec, Metamodel and XSD are inconsistent for OutputClause.defaultOutputEntry:

    • Table 34 says it can be an optional Expression[0..1]
    • the MM, XSD and text above Table 34 schema restrict it to LiteralExpression
  • Reported: DMN 1.6b1 — Tue, 20 Jan 2026 17:55 GMT
  • Updated: Wed, 3 Jun 2026 11:54 GMT

No intersection list function

  • Key: DMN17-98
  • Status: open  
  • Source: Trisotech ( Mr. Denis Gagne)
  • Summary:

    FEEL already has a union function and an intersection function would be very useful.

  • Reported: DMN 1.6b1 — Mon, 25 Aug 2025 01:47 GMT
  • Updated: Tue, 2 Jun 2026 16:40 GMT

Add semantic domain for enumerations

  • Key: DMN17-76
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    DMN does not support semantic domains for enumerations (a data type consisting of a set of named values). Currently, modeling such data types can be done in an imprecise manner using existing features (e.g. string type with allowed values).

    Having support for such types will increase the precision of the model validation.

  • Reported: DMN 1.6b1 — Mon, 27 Jan 2025 11:47 GMT
  • Updated: Tue, 12 May 2026 17:23 GMT

max() and min() work different in B-FEEL than sum()/mean() regarding null

  • Key: DMN17-84
  • Status: open  
  • Source: Materna Information Communications SE ( Daniel Pfeiffer)
  • Summary:

    In the description of FEEL there is the definition of the three built-in functions sum(), mean(), min() and max() in Table 76 (chapter 10.3.4.4.). All table entries (for min()/max() and sum(), mean()) say "N>0" in the end to clarify, that the numbers must be positive. Therefore an array (or list of parameters) containing at least one null value is resulting in null.

    With B-FEEL that behaviour is adressed but only for sum() and mean(). The second sentence and table in Chapter 11.3 say, that these functions ignore non-numeric parameters:
    FEEL: sum([1, null, 3]) = null
    B-FEEL: sum([1, null, 3]) = 4
    B-FEEL: mean([1, “a”, 3]) = 2

    The two functions min()/max() are not mentioned in the 2nd sentence of 11.3. So the first sentence is used for min()/max() which leads to this results:
    FEEL: min([1, null, 3]) = null
    B-FEEL: min([1, null, 3]) = 0
    In that case we have a different result with the same array (e.g. [1, null, 3] ), although the original definition in table 56 followed the same principels.

    In conclusion i think that would lead to confusion when using these functions.
    A possible soution would be adding min() and max() to the ignore table in chapter 11.3 in the same way like sum() and mean().

  • Reported: DMN 1.6b1 — Thu, 17 Apr 2025 08:08 GMT
  • Updated: Tue, 12 May 2026 17:23 GMT

new miscellaneous function for default values

  • Key: DMN17-85
  • Status: open  
  • Source: Materna Information Communications SE ( Daniel Pfeiffer)
  • Summary:

    When describing the logic of decisions we have to deal with possible null values. For decision tables there is the solution to mention an default value for the output column. But in literal expressions i have to use other solutions. I think it would be great to have an built-in function for that, like a shorthand notation of "if ExpressionToBeChecked = null then defaultValue else ExpressionToBeChecked".
    e.g. default(ExpressionToBeChecked, defaultValue). That would shorten a lot of logic, that is used to work around null values.
    With that approach it is possible not just to work around Input Data with null values but every other null value that can occure when dealing with explicit logic.

  • Reported: DMN 1.6b1 — Thu, 17 Apr 2025 08:48 GMT
  • Updated: Tue, 12 May 2026 17:22 GMT

Missing FEEL functions random() & uuid()

  • Key: DMN17-189
  • Status: open  
  • Source: Camunda Services GmbH ( Mr. Falko Menge)
  • Summary:

    The FEEL functions random() and uuid() are needed in practice and have already been implemented as extension by many vendors. They should therefore be standardized.

    Their non-deterministic nature should be commented on in the same way as with time() and now()

  • Reported: DMN 1.6b1 — Wed, 22 Apr 2026 00:55 GMT
  • Updated: Tue, 12 May 2026 17:14 GMT

Discrepancy between spec and metamodel for AuthorityRequirement properties

  • Key: DMN17-185
  • Status: open  
  • Source: Georgia Institute of Technology ( Mr. Jeremy Doerr)
  • Summary:

    There are three associations in the metamodel for which the properties defined by one end do not appear in the specification. It results in 3 properties for AuthorityRequirement that are not included in Table 22.

    For the association BKM2authorityRequirement, the role B end defines bkm: BusinessKnowledgeModel [0..1]
    For the association Decision2authorityRequirement, the role B end defines decision: Decision [0..1]
    For the association KnowledgeSource2authorityRequirement, the role B end defines knowledgeSource: Knowledge Source [0..1]

    If these properties are intentionally excluded from the specification, then I suggest the following changes to the associations:
    Name (Role B): remove name
    Multiplicity (Role B): set to unspecified
    Navigable (Role B): set to false (make it a directional association)

    If these properties should be in the spec, I recommend adding them to the table and also making sure the name of the ends are visible in the diagrams for Decision (source for Figure 6-13), BusinessKnowledgeModel (source for Figure 6-15), and KnowledgeSource (source for Figure 6-18).

    In fact, as a general comment on all the metamodel diagrams, the role end for the source of a directed relationship (navigable in one direction) should not be named or have any multiplicity, since the target end doesn't "know about" the source end in this kind of relationship. On the other hand, if the association is bidirectional, both ends know about each other, so both ends should be named and the names should be visible on all diagrams in which the association appears. Performing this update will make the alignment between the figures and the text in the spec much better.

  • Reported: DMN 1.6b1 — Wed, 15 Apr 2026 18:42 GMT
  • Updated: Tue, 12 May 2026 17:10 GMT

property informationRequirement not shown in diagram

  • Key: DMN17-194
  • Status: open  
  • Source: Camunda Services GmbH ( Mr. Falko Menge)
  • Summary:

    The Decision class diagram should show the property informationRequirement on the end of the association between Decision and Information requirement.

  • Reported: DMN 1.6b1 — Wed, 22 Apr 2026 01:26 GMT
  • Updated: Tue, 12 May 2026 16:32 GMT

Discrepancy in property between metamodel and specification (requiresInformation)

  • Key: DMN17-183
  • Status: open  
  • Source: Georgia Institute of Technology ( Mr. Jeremy Doerr)
  • Summary:

    The association InformationRequirement2requiredDecision defines two properties based on its role ends:
    Name (Role B): requiredDecision: Decision [0..1]
    Name (Role A): requiresInformation: InformationRequirement [0..*]

    The requiresInformation end of the association does not appear in the DMN specification, although the requiredDecision end does. If this is intentional, recommend updating the following aspects of the association (was -> is):
    Name (Role A): requiresInformation -> ""
    Multiplicity (Role A): 0..* -> Unspecified
    Navigable (Role A): TRUE -> FALSE
    If the property should be included, then recommend adding its description to the specification and updating the symbol properties for the association to show the name for the role end on the Decision diagram (source for Figure 6-13) and anywhere else it is used.

  • Reported: DMN 1.6b1 — Wed, 15 Apr 2026 15:36 GMT
  • Updated: Fri, 1 May 2026 00:14 GMT

BKM2ECassociation in metamodel is not shown in specification

  • Key: DMN17-182
  • Status: open  
  • Source: Georgia Institute of Technology ( Mr. Jeremy Doerr)
  • Summary:

    The association, BKM2EC, exists in the metamodel but is not shown on the BusinessKnowledgeModel diagram (source for Figure 6-15) and neither property defined by the role ends is discussed in the spec:
    Name (Role B): encapsulation: BusinessKnowledgeModel [0..1]
    Name (Role A): encapsulatedDecisions: ElementCollection [0..1]

  • Reported: DMN 1.6b1 — Wed, 15 Apr 2026 15:32 GMT
  • Updated: Fri, 1 May 2026 00:14 GMT

Leftover property in meta model

  • Key: DMN17-180
  • Status: open  
  • Source: Camunda Services GmbH ( Mr. Falko Menge)
  • Summary:

    The UML metamodel has a property, “parameter : InformationItem [0..*]”, which is not discussed or shown in the specification. It is also not shown in the metamodel BKM diagram and does not exist in the XML schema.

  • Reported: DMN 1.6b1 — Tue, 14 Apr 2026 16:52 GMT
  • Updated: Fri, 1 May 2026 00:14 GMT

Missing properties for DI:DiagramElement in MM


Binding of not specified variables

  • Key: DMN17-173
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    The standard does not specify how the "external data source" (see second bullet point) should behave when the value for an InputData is not specified.

  • Reported: DMN 1.6b1 — Wed, 4 Feb 2026 10:46 GMT
  • Updated: Fri, 1 May 2026 00:14 GMT

No default value for InformationItem

  • Key: DMN17-105
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    Currently, the variables associated with InputDatas have both a name and a type reference. Adding an initializer/default value would have the following benefits:

    • simplify the logic required when checking the values provided by users
    • consistent with existing default values for Output Clauses in Decision Tables
    • align with current FEEL functions with default values
    • align with current approach in modern PLs & DSLs (e.g. Python)
  • Reported: DMN 1.6b1 — Mon, 10 Nov 2025 10:32 GMT
  • Updated: Fri, 1 May 2026 00:14 GMT
  • Attachments:

No built-in function to encode/decode JSON

  • Key: DMN17-92
  • Status: open  
  • Source: Camunda Services GmbH ( Mr. Falko Menge)
  • Summary:

    Parsing JSON strings in FEEL is very cumbersome and limited but real-world data sometimes contain JSON strings

  • Reported: DMN 1.6b1 — Tue, 5 Aug 2025 16:13 GMT
  • Updated: Fri, 1 May 2026 00:14 GMT

Allow modellers to define range types

  • Key: DMN17-74
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    DMN 1.6 supports the semantic domain for ranges (see 10.3.2.7 Ranges and Figure 10-26: FEEL lattice type).

    However, the Meta Model & XML schema do not support the definition of such types in an Item Definition.

  • Reported: DMN 1.6b1 — Mon, 27 Jan 2025 11:30 GMT
  • Updated: Fri, 1 May 2026 00:14 GMT
  • Attachments:

There is insert before() but no insert after() in FEEL

  • Key: DMN17-100
  • Status: open  
  • Source: Trisotech ( Mr. Denis Gagne)
  • Summary:

    To completement the existing insert before() list function, an insert after equivalent FEEL function should be added

  • Reported: DMN 1.6b1 — Mon, 25 Aug 2025 01:58 GMT
  • Updated: Fri, 1 May 2026 00:12 GMT

Missing FEEL functions to format dates and times


Missing function to trim whitespaces from strings

  • Key: DMN17-96
  • Status: open  
  • Source: Trisotech ( Mr. Denis Gagne)
  • Summary:

    Missing a function that trims whitespaces from the begining and end of strings.

  • Reported: DMN 1.6b1 — Mon, 25 Aug 2025 01:39 GMT
  • Updated: Fri, 1 May 2026 00:12 GMT

B-FEEL semantic precision for null values in collections

  • Key: DMN17-112
  • Status: open  
  • Source: Trisotech ( Mr. Denis Gagne)
  • Summary:

    B-FEEL does not define the behavior when encountering null in a "for expression", a "quantified expression" (some, every) and a "comparison" using the "in" keyword.

    The following are not covered by B-FEEL and should:

    for x in null return x
    some x in null satisfies x>0
    every x in null satisfies x>0
    1 in null

  • Reported: DMN 1.6b1 — Tue, 3 Feb 2026 15:50 GMT
  • Updated: Wed, 11 Feb 2026 00:23 GMT

Iteration context not allowed in quantified expressions

  • Key: DMN17-107
  • Status: open  
  • Source: Camunda Services GmbH ( Mr. Falko Menge)
  • Summary:

    Currently, the grammar allows to use iteration context only in case of the for loop. However, quantified expressions (some, every) are very similar in their nature, so there is no good reason for inconcistency there. This leads to overly verbose expressions, e.g.

    some i in (for j in 1..10 return j) satisfies i > 5

    . One cannot simply write

    some i in 1..10 satisfies i > 5

    .

  • Reported: DMN 1.6b1 — Wed, 19 Nov 2025 12:12 GMT
  • Updated: Wed, 11 Feb 2026 00:23 GMT

Union FEEL function should mention no guaranty of ordering

  • Key: DMN17-103
  • Status: open  
  • Source: Trisotech ( Mr. Denis Gagne)
  • Summary:

    The union function does not specify the order of the resulting list.

  • Reported: DMN 1.6b1 — Tue, 11 Nov 2025 15:55 GMT
  • Updated: Wed, 11 Feb 2026 00:23 GMT

Built-in functions returning abstract types

  • Key: DMN17-94
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    The DMN specification contains several built-in functions with abstract return types. For example, the semantics for

    duration(input) + time("12:00:00")

    cannot be checked before the execution, as only days and time durations are allowed in this context.

    The same is true for expressions such as

    context(input).name
    context put({x:1}, key, value).y

    as the context() and context put() functions return an unknown context.

    Adding support for explicit conversions will address these issues. For example,

    (duration(input) as days and time duration) + time("12:00:00")
    (context(input) as context<name: string, age: number>).name

  • Reported: DMN 1.6b1 — Tue, 12 Aug 2025 08:33 GMT
  • Updated: Wed, 11 Feb 2026 00:23 GMT

Clarification regarding missing required InputDatas

  • Key: DMN17-109
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    The section 7.3.4 InformationItem metamodel does not specify how the "external data source that is attached at runtime" binds requires inputs when they are missing.

  • Reported: DMN 1.6b1 — Fri, 19 Dec 2025 09:09 GMT
  • Updated: Fri, 19 Dec 2025 15:09 GMT

Missing types in Figure 10-26: FEEL lattice type

  • Key: DMN17-86
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    The DMN specification mentions the following types / semantic domains:

    • duration, the output type of the duration() function (Table 73: Semantics of conversion functions)
    • comparable, the input for the range functions (10.3.4.7 Range Functions)
    • context, the input for context functions (10.3.4.10 Context function)

    These types are missing in Figure 10-26: FEEL lattice type.

  • Reported: DMN 1.6b1 — Tue, 13 May 2025 11:12 GMT
  • Updated: Thu, 6 Nov 2025 01:20 GMT
  • Attachments:
    • Lattice.pptx 40 kB (application/vnd.openxmlformats-officedocument.presentationml.presentation)
    • lattice.png 51 kB (image/png)

Clarification on href in DMN references needed

  • Key: DMN17-77
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    According to 13.3.2 References within the DMN XSD, when hrefs refer to DRG elements in another file the hrefs are defined as below:

    DMN elements of type DMNElementReference support referencing by ID, across files, by utilizing an href attribute whose value must be a valid URI reference [RFC 3986] where the path components may be absolute or relative, the reference has no query component, and the fragment consists of the value of the id of the referenced DMN element.

    The semantics of the part of the URI before the fragment that contains the ID (e.g. #prebureauriskDec01) is not very clear. Is the location of the DMN file or the namespace of the model in the DMN file?

  • Reported: DMN 1.6b1 — Tue, 28 Jan 2025 09:13 GMT
  • Updated: Thu, 6 Nov 2025 01:20 GMT

Dependency to XPath outdated

  • Key: DMN17-73
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    Currently, the DMN standard defines some parts of its semantics by using XPath 2.0 https://www.w3.org/TR/xpath20/
    The latest version of the standard is XPath 3.1 and users requested its features.

  • Reported: DMN 1.6b1 — Mon, 27 Jan 2025 11:22 GMT
  • Updated: Thu, 6 Nov 2025 01:20 GMT

duration() function has two return types

  • Key: DMN17-72
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    Currently, the standard supports two semantic domains for durations: years and months duration and days and time duration. However, there is one single conversion function from string that covers both semantic domains (see Table 73: Semantics of conversion functions). This makes static analysis of model difficult or impossible (in case of dynamic parameters). In B-FEEL, duration() might return the wrong type because it has to pick one of the two.

  • Reported: DMN 1.6b1 — Mon, 27 Jan 2025 11:12 GMT
  • Updated: Thu, 6 Nov 2025 01:20 GMT
  • Attachments:

Ambigous operational semantics for the implicit conversions and constraints

  • Key: DMN17-79
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    The implicit conversions are defined in the FEEL chapter, in section 10.3.2.9.4 Type conversions.

    The constraints for the DMN types are defined in section 7.3.3 ItemDefinition metamodel.

    It is not very clear when these conversions or constraints are applied / checked:

    • Are they applied only when the values are bound to a variable (e.g. expression is a direct child of a DMN element that contains also an Information Item) or every time an expression is evaluated?
    • Are they applied only when FEEL expressions / textual are evaluated, or for boxed expressions as well? The boxed expressions are defined outside of the FEEL chapter.

    I am leaning towards checking the above only when a binding takes place (a value is bound to a variable of a known type). For example, after the evaluation of the body of Decisions, Invocable, Context Entry, and Binding.

    The main reason is to keep things simple and be consistent with common patterns in other PLs / DSLs.

  • Reported: DMN 1.6b1 — Thu, 13 Feb 2025 10:41 GMT
  • Updated: Tue, 28 Oct 2025 16:58 GMT

Extend support for ranges in loop expressions

  • Key: DMN17-75
  • Status: open  
  • Source: Goldman Sachs ( Dr. Octavian Patrascoiu)
  • Summary:

    According to Section 10.3.2.14, range expressions are not allowed as iteration context. For example, 1..2 is supported but not (1..2].

    I suggest extending the specification to allow such syntactic constructions

  • Reported: DMN 1.6b1 — Mon, 27 Jan 2025 11:36 GMT
  • Updated: Tue, 15 Apr 2025 16:56 GMT