Validating a Decision Model
Apart from being a platform for the collaborative development, management and simulation of Decision Models, Enterprise Architect also has a powerful feature to validate expressions, including Decision Tables, to ensure they are syntactically correct and to find both gaps and overlaps between the rules that have been defined. This feature helps to ensure that when the Decision Models are deployed to a runtime engine or service, the rules will fire correctly and the appropriate result in the form of an output will be provided to the calling application or service. The process of creating rules is often complex, and this validation function will be a welcomed feature for both business and technical stakeholders alike.
The process of finding the business rules and other inputs for a Decision Model can be quite a challenge for a variety of reasons, and when these rules have been collected they will need to be transposed into Decision Rules. They might, for example, be defined in a heterogeneous way and scattered across a range of different sources in different formats. This could present a challenge to the business and so a feature that helps modelers validate and assert that the rules have been entered correctly will assist in ensuring that the Decision Models are well formed and fit for purpose. Technical staff can also contribute to these models, and the definition of rules - if required - using the collaborative features of Discussions, Chat and Reviews using any device that hosts a browser, such as a smart phone, tablet or Notebook computer. The technical staff can also access the models using the Enterprise Architect client and work together with the business staff to formulate or restructure the rules for optimal understanding, removing redundancy and or missing conditions.
The creation of expressions that accurately define the decisions that are being modeled are like many aspects of technology - both an science and an art. The science part is somewhat easier because it can be learnt in a classroom; the art part is quite a bit more difficult and is typically learnt from the experience of working with lots of Decision Models. This is evidenced by the fact that when given the same problem a group of Decision Analysts will invariably approach the problem differently and come up with quite different Decision Models; never is this more true than with Hit Policies for Decision Tables, where each analyst will often have a predilection for a particular policy. The models would all be correct, just expressed differently. Enterprise Architect comes to the rescue in these situations with a highly compliant implementation of the standard but where the specification is silent, or when an analyst prefers flexibility, the tool provides a number of facilities that will be welcomed by novice and experienced modelers alike.
The DMN standard specifies a number of aspects of the grammar of DMN expressions. including Decision Tables, and it is important that these are complied with; it is equally import that a number of other aspects of the rules are also well formed. The validation of the Decision Tables in Enterprise Architect checks:
- Syntactical Correctness - ensuring the rules comply with the syntax of the specification and the expression language
- Completeness - ensuring that gaps do not exist between the rules
- Overlaps - ensuring that rules do not overlap