Previous | Table of Contents | Next
Problem – Establishing the Relative
Sequence of Elements
The course of action taken in a business process is often determined by the order in which items are considered. For example, eligibility for employee benefits that are based on years of service must consider employment events that are ordered chronologically. This ordering permits a distinction between periods where service is credited and not credited. Several ordering sequences may also apply to the same collection of items. If a proposed new product relied on a customer opinion poll to assist in determining features to include, then each evaluated aspect could provide a ranking. Various weighted ranking that combined all of the aspects could also be generated. Therefore, correct handling requires that items conform to some ordering scheme that evaluates a relative property of one member to others.
Solution
The relative sequence of elements may be established through definition of a sort key and a functional restriction. A sort key requires the identification of an ordered set of attributes, a definition of an inequality function, and a direction. The set of attributes may be a combination of actual and derived attributes. The inequality function will typically be a binary comparison operation that established that one item is less than, or precedes, another item. Direction allows the ordering to be reversed, thus can be represented as a Boolean parameter, such as isAscendingOrder.
A functional restriction identifies a subset of the ordered elements when evaluating if a certain condition exists. The subset is identifies through an element count and direction, such as the preceding three elements or the adjacent two elements in both directions. The condition expression may be based on a binary evaluation that compares the current element against each of the other elements. Optionally, a meta-attribute comparison may be made by applying the Aggregation business rule pattern to a single element by considering the other elements as a whole through the aggregate attribute defined in that pattern.
Example – Emergency
Contact
An organization identifies a person on call for handling reported problems with its database servers. Two additional backup persons are also required to be available on call. This example also includes routing through application of a Role business rule pattern by naming roles for the ordering rather than individuals.
Parameters:
Sort Key
|
call order |
IsAscending
|
<default:true> |
Case:
CallOrder |
Contact |
1 |
[database server primary
contact person] |
2 |
[database server first
backup person] |
3 |
[database server second
backup person] |
A training program allows employees to proceed to the next instruction unit only if their last score is over 85 and they have shown improvement over two of the three preceding quizzes after completing the current unit. In this example, the last quiz fail to exceed two of the previous three scores, so an additional quiz must be taken, along with any other exercises mandated prior to taking the quiz. The next quiz will require a minimum score of 87.
Parameters:
Sort Key
|
chronological date of quiz
| ||||||||
IsAscending
|
<default:true> | ||||||||
Functional
restriction |
|
Case:
Quiz
date |
Test
scores |
12-Feb-1998 |
85 |
13-Feb-1998 |
90 |
16-Feb-1998 |
86 |
17-Feb-1998 |
86 |
The Ordering model element contains an optional FurnctionalRestriction that constrains Elements that belong to a collection.
The Ordering business rule pattern may collaborate with the Role business rule pattern by naming roles for the ordering rather than individuals.
Previous | Table of Contents | Next