The DEAT Business Rule Pattern Language

Russell R. Hurlbut, Ph.D.

Previous | Table of Contents | Next

Rule Pattern 1: Range Set

Problem – Describing an Extent between Two Points.

Processes often involve conditional branching of activities based on certain attributes. Frequently, thresholds for an attribute are established in order to define discrete states that dictate which activities are applicable. The process must know the various thresholds in order to determine the correct state. This involves describing an extent, or distance between two points that utilized some type of measurement.


The range set pattern defines a range extent type and a unit of measure. It also names each member of the range extent type along with quantifying the upper and lower bounds. The range extent type becomes the state attribute that contributes to identifying the correct conditional behavior. The lower and upper bounds are expressed in terms of the unit of measure.

The unit of measure identifies the scale of the ranges to insure that all measurements are comparable. This may require a Derivation Algorithm rule to convert from one unit of measure to another. Depending on whether or not the measurements themselves are discrete or continuous, additional specification parameters may allow an overall reduction in the volume of data needed to capture the same information.

Example – Course Grades

This example describes a grading scale utilizing the Attribute Range Set rule pattern. Several parameters are introduces to fully specify the range.

Course Grades Parameters and Case Values
Range Extent Type <Range Extent Type>
Unit of Measure <Unit of Measure Type>
Complete Yes | No
Open Ended Neither | Both | Upper | Lower
Range Extent Type Grade
Unit of Measure Percentage of correct answers
Complete Yes
Open Ended Neither
Grade Lower Bound Upper Bound
ComparativeEvaluator Value ComparativeEvaluator Value
A >= 90% <= 100%
B >= 80% <= 89%
C >= 70% <= 79%
F >= 0% <= 69%

If we make a further assumption that the range is complete for all measurement, then further simplification is possible. By declaring a measurement type parameter as complete, it is possible to declare a single meta-attribute of the rule pattern that specifies the comparative evaluator for each value. Thus, the number of parameters is reduced from (4 + 5r) to (4 + 2r), where (r) is the number of ranges.

Modified Course Grades Parameters
Measurement Type Continuous
Inclusive Lower
Grade Threshold
A 90
B 80
C 70
F 0

UML Representation and Related Patterns

The Range Set business rule pattern consists of specification and realization model elements. The two examples shown here are both specializations of the RangeSpecification type. The continuousMeasurementKind is a named specialization type of RangeSpecification and is itself a parameter that must be specified that includes an enumerated type domain of all named specializations of RangeSpecification. When no measurement kind is specified, the generic case applies. The realization model elements must then be fully described to complete the modeling of the business rule.

The Range Set business rule pattern shares concepts with Fowler’s Range pattern [Fowl96], but here the focus is primarily with specification aspects rather than descriptive ones. The Derivation Algorithm business rule pattern can be applied in collaboration with the Range Set pattern to allow conversion from one unit of measure to another, if required. The Domain business rule pattern defines the domains for each enumerated attributed.

UML Representation of Attribute Range Set Pattern

Previous | Table of Contents | Next

Copyright 1998 Expertech.Ltd. All Rights Reserved.