Constraint Decision Model and Notation (cDMN) is a formal notation for expressing knowledge in a tabular, intuitive format. It extends DMN with constraint reasoning and related concepts while aiming to retain the user-friendliness of the original. cDMN is also meant to express other problems besides business modeling, such as complex component design. It extends DMN in four ways: • Constraint modelling (see
constraint programming) • Adding expressive data representation, such as typed predicates and functions (similar to
First-order logic) • Data tables, in which each entry represents a different problem
instance •
Quantification Due to these additions, cDMN models can express more complex problems. Furthermore, they can also express some DMN models in more compact, less-convoluted ways. Unlike DMN, cDMN is not deterministic, in the sense that a set of input values could have multiple different solutions. Indeed, where a DMN model always defines a single solution, a cDMN model defines a
solution space. Usage of cDMN models can also be integrated in
Business Process Model and Notation process models, just like DMN.
Example As an example, consider the well-known map coloring or
graph coloring problem. Here, we wish to color a map in such a way that no bordering countries share the same color. The constraint table shown in the figure (as denoted by its
E* hit policy in the top-left corner) expresses this logic. It is read as "For each country c1, country c2 holds that
if they are different countries which border,
then the color of c1 is not the color of c2. Here, the first two columns introduce two quantifiers, both of type country, which serve as
universal quantifier. In the third column, the 2-ary predicate
borders is used to express when two countries have a shared border. Finally, the last column uses the 1-ary function
color of, which maps each country on a color. == References ==