Decision Model and Notation Avatar
  1. OMG Specification

Decision Model and Notation — Open Issues

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

Issues Summary

Key Issue Reported Fixed Disposition Status
DMN12-20 Add Diagram Interchange to DMN DMN 1.0 open
DMN12-13 Need group artifact in DRD, metamodel, and XSD DMN 1.0 open
DMN12-5 Consider date and time datatype in S-FEEL DMN 1.0 open
DMN12-10 While BKMs enable re-use, the options for re-use are restricted to single pieces of decision logic DMN 1.0 open
DMN12-2 BigDecimal is not the only mapping of number to Java DMN 1.0 open
DMN12-6 alternative indication of reusable logic in DRD DMN 1.0 open
DMN12-8 Wrong DecisionTable class diagram (metamodel) DMN 1.0 open
DMN12-16 Business Knowledge Model can have Information Requirements DMN 1.0 open
DMN12-22 DMN XSD 1.0 invalid path DMN 1.0 open
DMN12-3 Examples DMN 1.0 open
DMN12-7 No notation for ItemDefinition DMN 1.0 open
DMN12-9 Typo error on Business Knowledge Model DMN 1.0 open
DMN12-18 add richer variety of DT examples in Ch 11 DMN 1.0 open
DMN12-17 LiteralExpression and textual expression seem to mean the same thing, need to use the same term DMN 1.0 open
DMN12-1 cannot interchange input data style DMN 1.0b1 open
DMN12-4 Business Context links go both ways DMN 1.0 open
DMN12-19 XSD: global context DMN 1.0 open
DMN12-14 Useful to denote which info requirements are unconditional DMN 1.0 open
DMN12-15 No item definition for function defintion DMN 1.0 open
DMN12-11 italics and bold used for both typographic literal notation and FEEL semantic exposition DMN 1.0 open
DMN12-12 definition of expression in glossary omits CL3 expressions DMN 1.0 open

Issues Descriptions

Add Diagram Interchange to DMN

  • Key: DMN12-20
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    This may include both the DRD and boxed expressions (decision tables, etc)

  • Reported: DMN 1.0 — Thu, 21 May 2015 15:42 GMT
  • Updated: Thu, 16 Nov 2017 20:32 GMT
  • Attachments:

Need group artifact in DRD, metamodel, and XSD

  • Key: DMN12-13
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    Group is an unfilled rectangle enclosing various elements in the DRD, with meaning defined by the modeler. It follows the usage defined by BPMN, an “artifact” with no operational semantics, simply an annotation of the model.

  • Reported: DMN 1.0 — Thu, 20 Aug 2015 00:13 GMT
  • Updated: Thu, 26 Oct 2017 04:13 GMT
  • Attachments:

Consider date and time datatype in S-FEEL

  • Key: DMN12-5
  • Legacy Issue Number: 19755
  • Status: open  
  • Source: FICO ( Alan Fish)
  • Summary:

    a. In clause 9.2, para 5, first sentence, "date and time" should be in italics.
    b. Why is date and time type excluded from S-FEEL? This restriction makes XSD mapping problematic.

  • Reported: DMN 1.0 — Tue, 28 Apr 2015 04:00 GMT
  • Updated: Wed, 11 Oct 2017 23:58 GMT

While BKMs enable re-use, the options for re-use are restricted to single pieces of decision logic


BigDecimal is not the only mapping of number to Java

  • Key: DMN12-2
  • Status: open  
  • Source: Thematix Partners LLC ( Edward Barkmeyer)
  • Summary:

    Clause 10.3.2.9 shows FEEL number values as mapped to XML decimal, integer, and double, but the only mapping to Java is to BigDecimal. The appropriate mapping to Java, like the appropriate mapping to XML, depends on the range and intent of the data element. BigDecimal is rarely used for anything but currency. Java int and double are much more likely to be appropriate for most data items. The mapping of number to Java should be just as flexible as the mapping to XML and PMML.

  • Reported: DMN 1.0 — Wed, 9 Jul 2014 21:23 GMT
  • Updated: Thu, 23 Mar 2017 16:17 GMT

alternative indication of reusable logic in DRD

  • Key: DMN12-6
  • Status: open  
  • Source: Bruce Silver Associates ( Bruce Silver)
  • Summary:

    In the metamodel/XSD, decision logic is contained in a decision element, hence not reusable. To reference reusable decision logic, decision invokes BKM, which is reusable. The semantics are clear, but representation of the decision and BKM as separate graphical elements in DRD is visually inefficient. It creates unnecessary clutter in the DRD (Fig 63 is a prime example). BPMN solved this problem in a better way, and I suggest DMN should allow the same. In BPMN a subprocess definition is embedded in the parent process so to reference reusable subprocess, it uses a call activity. The call activity shape is same as subprocess except it has a thick border style. The diagram does not contain both subprocess and call activity, just one or the other. I would like to propose that a decision shape in DRD with a thick border be used to mean the decision invokes a BKM (with name generated from the decision name). No metamodel or schema changes required; this is merely alternative graphical notation. In a DMN tool, typically clicking on the decision will hyperlink to the decision logic (DT or literal expression), whether that logic is embedded in the decision or reusable. This distinction is mostly important to programmers, not modelers, so should not unnecessarily complicate the diagram.

  • Reported: DMN 1.0 — Tue, 5 May 2015 17:58 GMT
  • Updated: Thu, 8 Dec 2016 17:14 GMT

Wrong DecisionTable class diagram (metamodel)

  • Key: DMN12-8
  • Legacy Issue Number: 19844
  • Status: open  
  • Source: Anonymous
  • Summary:

    The figure 8.18 is NOT the figure of the DecisionTable class diagram (i.e. metamodel).
    This diagram was good into the previous beta versions of DMN specification.
    This "wrong" diagram was already used as figure 6.8 on page 32 (Decision class diagram i.e. metamodel).

  • Reported: DMN 1.0 — Sun, 1 Nov 2015 04:00 GMT
  • Updated: Sat, 17 Sep 2016 00:19 GMT

Business Knowledge Model can have Information Requirements

  • Key: DMN12-16
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    FEEL function definitions are defined as lexical closures, which simply means that names in the function body must be in scope, and that scope includes the function parameters and, just like any other decision logic, it includes the information requirements and the knowledge requirements. This is very handy. For example, it allows the logic of a BKM to reference 100 Input Data items by name, without requiring that each invocation pass in 100 parameter bindings.

    In order for this to work, the BKM would model 100 Information Requirements on the 100 Input Data items, instead of modeling them as parameters. The boxed invocations would not have 100 rows of repetitive binding information. We must extend the MM and Table 2 to allow a BKM to have information requirements.

  • Reported: DMN 1.0 — Thu, 23 Jul 2015 23:30 GMT
  • Updated: Thu, 18 Aug 2016 15:26 GMT

DMN XSD 1.0 invalid path

  • Key: DMN12-22
  • Status: open   Implementation work Blocked
  • Source: UNESP Sao Paulo State University Brazil ( Fernando Nogueira)
  • Summary:

    I am developing an application that imports DMN files generated by http://demo.bpmn.io/dmn, in order to get some information about the descision tables.

    But, when I try to use the XSD schema to validate the DMN file, I get some errors, for example:

    unexpected element (uri:"http://www.omg.org/spec/DMN/20151101/dmn11.xsd", local:"definitions")

    Apparently, the path is no longer available. Instead, the OMG site is using http://www.omg.org/spec/DMN/20141115/dmn.xsd

  • Reported: DMN 1.0 — Wed, 20 Jan 2016 16:26 GMT
  • Updated: Fri, 5 Aug 2016 00:27 GMT

Examples

  • Key: DMN12-3
  • Status: open  
  • Source: Bruce Silver Associates ( Bruce Silver)
  • Summary:

    DMN 1.1 should provide examples of all types of decision model allowed by the standard, both graphically (DRD and decision table, where appropriate) and XML serialization. Currently missing:
    1. decision tables with an expression (more than a name) in inputExpression and outputExpression.
    2. decision tables with inputEntry or outputEntry referencing a "name" as defined by S-FEEL, i.e. not just a literal.
    3. DRD and decision table involving what Vanthienen calls "action subtables". All existing examples are "condition subtables".
    4. Serialization of crosstab format tables.
    5. Representation of literal values vs names in serialization.
    6. Representation of PMML and FEEL in the serialization.

  • Reported: DMN 1.0 — Sun, 12 Apr 2015 15:39 GMT
  • Updated: Thu, 30 Jun 2016 06:26 GMT

No notation for ItemDefinition

  • Key: DMN12-7
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    The notion of a 'type' or ItemDefinition is in the metamodel (with some pending issues) and in the semantics and concepts, but little is in the notation. Thus, we have notation that allows you to execute an expression with actual arguments, but no notation to allow validation based on type information without actual values.

    We have most of the pieces, so it should not be difficult. E.g., individual values can be number, string, date and time, etc. We can allow numeric ranges using our unary tests, e.g. '>0', '[10..30)', etc. We can allow LOVs using "abc", "def", "ghi". These can be 'simple items', and we can also define structures using something similar to boxed contexts.

  • Reported: DMN 1.0 — Thu, 4 Jun 2015 06:28 GMT
  • Updated: Thu, 30 Jun 2016 06:25 GMT

Typo error on Business Knowledge Model

  • Key: DMN12-9
  • Legacy Issue Number: 19843
  • Status: open  
  • Source: Anonymous
  • Summary:

    Here is a slight one (typo error) table 6.1, first row: an « e » is missing into « Knowledge ».

    N.B. It is more elegant to not cut a table on several pages, as it was done before, but it is another matter.

  • Reported: DMN 1.0 — Sun, 1 Nov 2015 04:00 GMT
  • Updated: Thu, 23 Jun 2016 15:39 GMT

add richer variety of DT examples in Ch 11

  • Key: DMN12-18
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    We lack examples of input expressions that are not simple names, input entries that reference variables, and output entries that are more than simple values.
    For example, could change fig 67, Eligibility column, from Eligibility||INELIGIBLE|ELIGIBLE to Eligibility=ELIGIBLE||false|true
    In Fig 71, add a context entry with name 'Adult' and value '18'. Change the entry <18 to <Adult.
    In Fig 83, rename to Adjusted Disposable Income. Add parameter list (Risk Category, Disposable Income). Change output entries to 0.6 * Disposable Income, 0.7 * Disposable Income, 0.8 * Disposable Income, change invocation entry in Fig 82 name to Adjusted Disposable Income and pass Disposable Income. Change Affordability calculation to 'if Adjusted Disposable Income > Required Monthly Installment'

  • Reported: DMN 1.0 — Tue, 7 Jul 2015 21:19 GMT
  • Updated: Thu, 23 Jun 2016 15:28 GMT

LiteralExpression and textual expression seem to mean the same thing, need to use the same term

  • Key: DMN12-17
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    literal expression is used in MM, and textual expression is used in grammar. Let's use 1 consistently, but check that they are really the same concept.

  • Reported: DMN 1.0 — Thu, 16 Jul 2015 16:30 GMT
  • Updated: Thu, 23 Jun 2016 15:13 GMT

cannot interchange input data style

  • Key: DMN12-1
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    We have 2 notations for input data

    1. an oval shape

    2. the name of input data in the requiring decision (so-called Listed Input Data)

    As far as I see, there is nothing in the MM to distinguish these cases,

    so there is no way to interchange the intended notation.

    Proposed: add a new attribute to Decision named listedInputData of type boolean.

  • Reported: DMN 1.0b1 — Sat, 9 Nov 2013 00:33 GMT
  • Updated: Thu, 16 Jun 2016 06:26 GMT

Business Context links go both ways

  • Key: DMN12-4
  • Status: open  
  • Source: Bruce Silver Associates ( Bruce Silver)
  • Summary:

    In XSD, business context pointers are duplicated in both directions. E.g. decisionOwner and decisionMaker point to organizationalUnit, which in turns has pointers back the other way. This duplication adds no new information, just potential for internal inconsistency. I suggest omitting one of these directions; the other one is easily extracted from the serialization by XPATH.

  • Reported: DMN 1.0 — Tue, 14 Apr 2015 17:30 GMT
  • Updated: Thu, 16 Jun 2016 06:26 GMT

XSD: global context

  • Key: DMN12-19
  • Status: open  
  • Source: Bruce Silver Associates ( Bruce Silver)
  • Summary:

    10.3.2.9.2 says "The global context is a context provided for convenience and 'pre-compilation'. Any number of expressions can be named and represented in a FEEL context m. The syntactic description m of this context can be evaluated once, that is, mapped to the FEEL domain as m, and then re-used to evaluate many expressions." For example, you might want to put a Relation used as a multi-dimensional constant in the global context. Or you might want to put a reusable function definition in the global context. Currently the xsd does not have globals. All expressions are bound to a specific drgElement, not global. The Import element probably needs to be modified to support this also.

  • Reported: DMN 1.0 — Sun, 31 May 2015 16:35 GMT
  • Updated: Thu, 5 May 2016 15:33 GMT

Useful to denote which info requirements are unconditional

  • Key: DMN12-14
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    A decision with logic: if x then y else z has an unconditional requirement on x but a conditional requirement on y and z. This is useful to represent in the notation (perhaps as a tick mark on the requirement arc in homage to BPM's unconditional gateway exit arc) and in the MM. It could prove very useful to implementors, who could use data-driven dataflow to activate the decision when x is available, but to produce y or z on demand.

  • Reported: DMN 1.0 — Thu, 13 Aug 2015 05:44 GMT
  • Updated: Wed, 4 May 2016 16:27 GMT

No item definition for function defintion

  • Key: DMN12-15
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    If a function definition is the value expression of an information item, then that information item should have an item definition that gives the type of the function definition. E.g., the type of a function of two numeric arguments that returns their sum should be something like function(number, number) returns number but we have no way to express such an item definition

  • Reported: DMN 1.0 — Thu, 6 Aug 2015 22:40 GMT
  • Updated: Fri, 12 Feb 2016 18:26 GMT

italics and bold used for both typographic literal notation and FEEL semantic exposition

  • Key: DMN12-11
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    in typographic literals, italics are strings and bold italics are date literals, but in 10.3, italics are feel syntactic elements and bold are semantic elements. Better to have different notations

  • Reported: DMN 1.0 — Thu, 3 Sep 2015 15:58 GMT
  • Updated: Tue, 22 Dec 2015 15:43 GMT

definition of expression in glossary omits CL3 expressions

  • Key: DMN12-12
  • Status: open  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    The glossary is not only for CL2. CL3 adds contexts, relations, functions, etc. to the repertoire of boxed expressions

  • Reported: DMN 1.0 — Fri, 21 Aug 2015 19:56 GMT
  • Updated: Tue, 22 Dec 2015 15:43 GMT