The DEAT Business Rule Pattern Language

Russell R. Hurlbut, Ph.D.

Previous | Table of Contents | Next

Rule Pattern 11: Sub-typing

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.

Employee Pension Benefit Type Parameters

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…

Example – Condominium Lot Size

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.

Condominium Lot Size Parameters

Attribute

Type

Property

Set

{condominium}

Condition

not detached

Logical Connection Type

Mutual Exclusion (OR)

Attribute

Type

Lot size

Set

{<ALL>}

Condition

NULL

UML Representation and Related Patterns

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

 

 Copyright 1998 Expertech.Ltd. All Rights Reserved.
 Legal