Previous | Table of Contents | Next
Problem – Describing Type Membership
Restrictions
Many classifications of an entity are really attribute facets that carry the potential for a combinatorial explosion of permutations. However, many of these permutations are not valid. Therefore, a need exists to more concisely represent the legitimate combinations of attribute values that allow all permissible one while disallowing those that are not valid.
Solution
Valid logical sub-typing is accomplished through the definition of disjunction and overlapping associations between sub-types. A set of sub-types is declared along with a disjunction or conjunction operator. If an entity can be expressed as possessing properties of more that one type of a given attribute, then overlapping may occur. If a mutual exclusion exists, a disjunction declaration is mandated. Mutual exclusion or overlaps may occur within subsets of the same descriptive facet of the entity. In these cases a single attribute type is declared and the logical connector applies across the entire set declared. In other cases a logical connector is applied across two different attribute types. Accordingly, both types are declared along with the affected domain values of their respective types.
Example – Employee Pension Benefit
Types
An employee may have three types of pension benefits: death, disability, and retirement. However, the employee may receive payments for his disability or retirement benefits at any point in time, not both. The employee's beneficiary may receive death and retirement benefits concurrently, but can never receive disability benefits. Provided other conditions are met, such as the employee is declared disabled under the definition of the pension plan, the benefit types that the employee may receive is represented by a disjunction of these two benefit types. The beneficiary's payments represent a possible conjunction, or overlapping of benefit types.
Parameters |
Attribute
Type |
Benefit |
Logical Connection
Type |
Mutual Exclusion (OR) | |
Type Set |
{disability,
retirement} | |
Condition |
is eligible, is disabled,
is in payment… | |
Parameters |
Attribute
Type |
Benefit |
Logical Connection
Type |
Overlap (AND) | |
Type Set |
{death, retirement} | |
Condition |
is eligible, is deceased,
is in payment… |
A condominium form of ownership is normally associated with an apartment, or attached housing in the real estate industry. This example reflects that observation. However, single family detached homes may also be owned in condominium. In such cases, a lot size may be appropriate to identify easement rights rather than outright ownership, similar to an assigned space in the parking lot.
Attribute |
Type |
Property |
Set |
{condominium} | |
Condition |
not detached | |
Logical Connection
Type |
Mutual Exclusion (OR) | |
Attribute |
Type |
Lot size |
Set |
{<ALL>} | |
Condition |
NULL |
The Sub-typing business rule pattern maps to the UML predefined overlapping and disjoint generalization stereotypes. This pattern may collaborate with the Type Membership business rule pattern to constrain type membership.
Previous | Table of Contents | Next