Previous | Table of Contents | Next
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.
Solution
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.
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 | |||||||||||||||||||||||||||||
Range |
|
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.
Measurement
Type |
Continuous | ||||||||||
Inclusive |
Lower | ||||||||||
Range |
|
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.
Previous | Table of Contents | Next