Back to Basics 3 – Writing a boolean in Oracle Policy Modeler

Many times whilst delivering workshops or the official Oracle University training courses on Oracle Policy Automation, the group in front of me is a wide mix of skills and backgrounds. Those who come from the business side tend to, for obvious reasons, not have had large amounts of exposure to writing with constrained natural language or indeed for that matter maybe they have never actually written rules themselves. Instead they have been delivering detailed explanations, specifications and so on and then testing them for pertinence.

With Oracle Policy Automation, or Oracle Policy Modeler to be precise, some of these team members are now actually writing the rules. Maybe not all of them, maybe not completely, but the blended team has gotten a lot closer. One of the things that comes up regularly in the early part of their learning curve, and thus a good candidate for the Back to Basics posts – is how to write and not write Boolean statements in Oracle Policy Modeler.

Basic Idea #3 Boolean statements need a verb

Yes they do, and without a verb you are pretty much assured that Oracle Policy Modeler will validate the rule but will not interpret it in the way you had hoped. Consider the following example rule. I have clicked the (bizarrely named in my humble opinion) Go To button on the Ribbon to display the details. Notice I am about to click on the Edit Attribute… button.

opa-12-the-go-to-dialog

The Edit Attribute dialog will show me the Attribute is a Boolean. Fine I hear you say, so what. I could write it like this instead. Look, it has even underlined it like it does with the other stuff – it must be working, right?

opa-12-bad-boolean

It depends what you mean by working of course :). Let’s take it step by step.

  1. For a Boolean to be acceptable to Oracle Policy Modeler, it must be negatable. Or, it must be written in the negative, and be able to be expressed in the positive also.  For example, the following is a perfectly acceptable Boolean conclusion, being just the negative version of the initial conclusion I showed you a minute ago.

2. For a Boolean to be acceptable to Oracle Policy Modeler, it must use a verb that is in the list of verbs.

3. When you open the Edit Attribute dialog in Oracle Policy Modeler for a Boolean attribute, you should see four different phrases in total that will look like the following

opa-12-boolean-attribute

They are, the positive, the interrogative, the negative and the uncertain. These are the states that your Boolean can have. If you look at an attribute and you see this instead:

Then you are not looking at a Boolean. In this case you can see the interrogative, the assertion, the uncertain and the unknown. Of course the little icon saying “Text” also shows you something is amiss.

It is absolutely critical to get in the habit of checking your attributes before you launch Word. Picking up issues early will save heartache later.