Problem – Describing an Association Restriction between Entities
Business processes are often affected by the existence or state of certain entities in relation to other entities. Restrictions between entities may take one of two basic forms. The first form prevents the existence of one entity unless another entity does or does not exist. The second form constrains the state of one entity based on the state of another entity. Identification of such dependencies is necessary.
Define constraints between entities using the logical connectives: and, or, if exists, for all. The construction of parameters for this business rule follow the same structure as the Sub-typing business rule pattern between two attribute types. The only difference here is that the operators are applied between two separate entities rather than the same entity. The distinction may appear subtle, however separation into two similar business rule patterns enables one to distinguish between conceptual modeling entities.
Example – Custom Ad Layout A franchisor provides a set of advertising templates that any dealer may use. Requests for customization of a template may be granted based on a fixed rate schedule of time and materials. Since only few requests are received each year, the franchisor does not employ an ad layout designer. Instead, when a request is received, an ad layout designer may be contracted to assist in the request. This restriction may also be expressed in this manner: an ad layout designer must not be contracted for services unless a dealer request exists.
|Controlling Entity||Ad Customization Request Order|
|Dependent Entity||Ad Layout Designer Contract|
|Logical Connector Type||Exists|
The three candidates receiving the most votes win election to the board of directors. This example combines the Ordering and Range Set business rule pattern with a logical connector of 'for all'. Ordering in declared in descending order and a range of the top three elements is declared. Membership in that range determines the winning candidate. Only the parameters for the Association pattern are shown.
|Logical Connector Type||For All|
The Association business rule pattern is realized in the UML as a Constraint model element. The Association pattern is similar to the Sub-typing business rule pattern. Ordering and Range Set business rule patterns may collaborate to fully specify the association restriction.