Parameterizing rules can improve reuse and simplify maintenance. In fact, maintenance of some well-defined rule patterns can be further simplified by enabling users to modify them external to Corticon Studio. A user can define and maintain specific rules that follow the generic rule pattern (analogous to an instance of a generic rule class) using a graphical interface or database table built for this purpose.

The following is a sample user interface that could be constructed to manage parameterized rules that share similar patterns. Note, this sample interface is discussed only as an example of a parameterized rule maintenance application. It is not provided as part of the Corticon Studio installation.

Figure 1. Sample GUI window for populating a rule's parameter table
  1. The user selects an account for which the account restriction will be created. Referring back to the example, the user would select Airbus from the list box.
  2. The user enters a specific business rule that provides the motivation for the account restriction. The prior example used no competitor securities and no tobacco securities.
  3. The user selects the type of restriction being created. The example used issuer.name and industry.name.
  4. After all components of the account restriction are entered and selected, clicking Add Restriction creates the restriction by populating the AccountRestriction table in an external database.
    AccountRestriction table
    Account Security.type Issuer.name Industry.name Business Rule
    Airbus --- Boeing --- No competitor securities
    Airbus --- --- Tobacco No tobacco securities
  5. After adding a restriction, it appears in the lower scrolling text box. Selecting the Business Rule in the scrolling text box and clicking Delete Restriction removes it from the box and from the table.
  6. The checkbox indicates an active or inactive business rule. This allows the user to deactivate a rule without deleting it. In practice, another attribute could be added to the AccountRestriction entity called active. A precondition might filter out inactive rules to prevent them from firing during run time.

    CAUTION!

    Whenever you decide to maintain rule parameters outside of Corticon Studio, you risk introducing ambiguities or conflicts into your Rulesheet. The Conflict Checker may not help you discover these problems because some of the rule data is not shown in Corticon Studio. Always try to design your parameter maintenance forms and interfaces to prevent ambiguities from being introduced.